Sistemas Operacionais Aula 2 Prof: Carlos Eduardo de Carvalho Dantas ([email protected]) http://carloseduardoxp.wordpress.com “As três coisas mais difíceis no mundo: guardar segredo, perdoar uma injúria e aproveitar o tempo” – Benjamin Franklin 2013-2 Sistemas Operacionais Introdução Um Sistema Operacional atua como um intermediário entre os programas e o Hardware; O Sistema Operacional abstrai a complexidade do Hardware; Alguns Sistemas Operacionais são projetos para eficiência, outros para conveniência; Um Sistema Operacional faz um papel semelhante a um governo. 2013-2 Sistemas Operacionais Introdução Um Sistema de computação pode ser dividido nos componentes abaixo: 2013-2 Sistemas Operacionais Sistemas Operacionais visão do usuário Facilidade de Uso; Desempenho. Usuário não se preocupa como recursos de Hardware e Software são compartilhados. 2013-2 Sistemas Operacionais Sistemas Operacionais visão do Sistema Alocador e gerenciador de recursos (tempo de CPU, espaço na memória,espaço de armazenamento, dispositivo de I/O, etc..); Máquina estendida, pois abstrai toda a complexidade de se comunicar com o Hardware (Scanners, impressoras, placas de vídeo, etc..); Sem o Sistema Operacional, o programador deveria conhecer detalhadamente como manipular o Hardware. 2013-2 Sistemas Operacionais Definição de Sistema Operacional Programa que executa no Computador durante praticamente todo o tempo em que este está ligado (Kernel); Windows Explorer, Desfragmentador de Disco, etc.. não compõem o Kernel; Programas de Sistema – programas que vêm com o pacote do SO mas não compõem o Kernel; Programas de Aplicativos – incluem todos os programas não associados à execução do Sistema. 2013-2 Sistemas Operacionais Estudo de Sistemas Operacionais Sistemas Operacionais de código-fonte aberto permitindo o estudo de dentro pra fora; Virtualização para testar vários Sistemas Operacionais simultaneamente (VmWare,VirtualBox, etc..); Sistemas Operacionais antigos com códigos-fonte abertos. 2013-2 Sistemas Operacionais Operação do sistema de computação CPU e controladores de dispositivos operando concorrentemente, competindo por ciclos de memória 2013-2 Sistemas Operacionais Operação do sistema de computação Hardware ou Software podem provocar interrupções a qualquer momento, interrompendo a execução da CPU 2013-2 Sistemas Operacionais Estrutura de Armazenamento Diferenças de velocidade, custo, tamanho e volatilidade 2013-2 Sistemas Operacionais Estrutura de I/O Gerenciamento da transferência de informações entre os dispositivos e a CPU/memória 2013-2 Sistemas Operacionais Sistemas com um Único Processador Geralmente possuem uma CPU para executar Processos por tempo compartilhado; Possuem processadores específicos (controladores, I/O), que movem dados rapidamente entre os componentes do sistema, mas não executam processos do usuário; O Sistema Operacional não conversa com processadores específicos. 2013-2 Sistemas Operacionais Sistemas Multiprocessadores Aumento do Throughput; Economia em escala; Aumento da confiabilidade; Multiprocessadores assimétricos possuem estrutura mestre/escravo; Multiprocessadores simétricos todos são iguais. 2013-2 Sistemas Operacionais Sistemas Multiprocessadores Sistemas com vários núcleos no mesmo chip também são multiprocessadores e simétricos, economizando energia 2013-2 Sistemas Operacionais Sistemas Agrupados (clusters) Compartilham espaços de armazenamento e são conectados através de redes locais (LAN); No agrupamento assimétrico, uma máquina é destacada para monitorar o cluster; No agrupamento simétrico, todas as máquinas se monitoram reciprocamente 2013-2 Sistemas Operacionais Estrutura do Sistema Operacional Multiprogramação – aumenta a utilização da CPU organizando os jobs (código e dados) de modo que esta sempre tenha algo para executar 2013-2 Sistemas Operacionais Estrutura do Sistema Operacional Compartilhamento de tempo – evolução natural da multiprogramação, para permitir que jobs alternem entre eles; Sistemas interativos requerem que jobs alternem entre eles várias vezes por segundo; Sistemas de tempo compartilhado usam a multiprogramação e o scheduling da CPU para fornecer a cada usuário uma portação do computador por compartilhamento de tempo; Um programa carregado na memória e em execução é chamado de processo 2013-2 Sistemas Operacionais Exercícios 2013-2 Sistemas Operacionais Exercícios 2013-2 Sistemas Operacionais