Estrutura geral de um computador
Prof. Marcos V. O. de Assis
[email protected] [email protected]
h<p://mvoassis.wordpress.com
Sistemas Computacionais • Compostos por duas partes: – Hardware – SoDware
• Hardware – Parte Esica – componentes eletrônicos, peças, periféricos, disposiKvos diversos
• SoDware – Programas – sistema operacional, aplicaKvos, sistemas de informação, etc.
Sistema Operacional • O que é? – Faz o “meio de campo” entre os disposiKvos de hardware e soDware de aplicação
– Pode ser visto como uma máquina virtual • Abstrai / esconde detalhes do hardware • Facilita tarefa do programador
– Pode ser visto como um gerenciador de recursos • Ex: gerencia o comparKlhamento do processador por vários programas.
Sistema Operacional • Basicamente realiza quatro tarefas: – Interface com o usuário; – Gerencia os disposiKvos de hardware; – Gerencia e mantém os sistemas de arquivos em disco;
– Dá suporte a outros programas;
Sistema Operacional • Exemplos: – MicrosoD Windows – Linux – Mac OS
• Para disposiKvos móveis: – Android; – iOS; – Windows Phone;
S.O. Interface com usuário • Inicialmente a interface com o usuário se dava somente por
meio de um terminal / prompt de comando:
S.O. Interface com usuário • Mais tarde, com a popularização dos computadores pessoais
(PCs), começaram a surgir interfaces gráficas (GUIs):
S.O. Gerencia de Hardware • Drivers de disposiKvos – Programas que fazem a comunicação entre o sistema operacional (soDware) e disposiKvos de hardware
– SoDware pode ser escrito independentemente do hardware • Ex: o soDware, ao requisitar o uso de uma impressora, chama apenas o comando print, sem precisar conhecer o modelo da impressora;
S.O. Gerencia de Arquivos • Analogia: Bibliotecário e biblioteca – O sistema operacional é o bibliotecário... – ... que organiza os livros (dados gravados) em um formato padrão…
– … tal padrão facilita a posterior busca pelos arquivos
• Um sistema de Arquivos consiste em duas partes: – Coleção de arquivos – Estrutura de diretórios
S.O. Gerência de Arquivos • Exemplos: – Unix (Linux, Android, etc).
• Ext4 • Swap • Reiser
– Windows • FAT 32 • exFAT • NTFS
– MAC OS • HFS
S.O. Gerência de Recursos • Gerenciamento de processos – Sistemas operacionais mulK-‐tarefa: vários programas ao mesmo tempo
– Como isso acontece? • Escalonamento de processos • Executa uma faKa de tempo de cada programa alternadamente • Algoritmo de escalonamento
– Comunicação inter-‐processos (IPC)
S.O. Gerência de Arquivos • Gerenciador de memória – Funções básicas:
• Cada processo (programa) tenha seu próprio espaço de endereçamento • Proteção de memória • UKlização de memória virtual e swapping
Sistema Operacional • Como ocorre o carregamento/inicialização? – O programa BOOT
• Quando você liga o computador... • ... o BOOT examina a configuração do sistema … • … constrói uma descrição de hardware … • … carrega o sistema operacional a parKr do disco rígido (HD)
– O BOOT fica em uma memória ROM chamada de BIOS.
MicrosoD Windows • Sistema operacional proprietário (pago) • Popularizou os computadores pessoais (PCs) • Inicialmente era apenas uma interface gráfica para outro S.O. chamado MS-‐DOS
• Interface baseada no padrão WIMP (“window, icon, menu, poin7ng device”)
Linux • Sistema operacional baseado no Unix • SoDware Livre – Licença GPL (versão 2): permiKndo uKlizar, estudar, modificar e distribuir livremente
– UKlização gratuita – Código aberto
• Várias distribuições – Ubuntu – Mint – Fedora – Kurumin – Etc...
Linux • Muito uKlizado em servidores – Você não sabe, mas provavelmente usa Linux todo dia
• UlKmamente anda ganhando espaço para computador pessoal – Diversas interfaces gráficas – Quase tudo o que você consegue fazer no Windows você faz no Linux
– Dependendo da distribuição, mais fácil que o Windows
• Android (celulares) – Baseado em Linux
SoDware UKlitário • Ajudam a analisar, configurar, oKmizar e manter um computador
• Complementam as funcionalidades do sistema operacional
• Exemplos: – Compactação de dados (Winzip, WinRAR, etc.) – Backup – AnK-‐virus – UKlitários de disco (verificação, limpeza, compressão, parKcionamento, etc)
– Explorador de arquivos (Windows Explorer, NauKlus, etc.) – Monitores de sistema – Etc.
Suporte a linguagens de programação
• Propiciam a execução de programas escritos em linguagens de programação diversos: – Compiladores:
• Ex: GCC (linguagem C), Free Pascal, etc.
– Interpretadores • Ex: PHP, Python, browser de internet (Javascript)
– Máquina virtual • Java Virtual Machine (JVM)