Você está na página 1de 4

03/02/2009

O que um Sistema Operacional?


Um programa que age como um intermedirio entre o usurio e o hardware do computador

Unidade 1: Introduo

Objetivos de um Sistema Operacional Executar programas do usurio e facilitar a resoluo de seus problemas Tornar o uso do computador mais conveniente Usar o hardware do computador de forma mais eficiente

Alisson Brito @ UFPB2009

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.2

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Estrutura de um Sistema Computacional


Um sistema computacional pode ser dividido em quatro componentes: Hardware prov os recursos bsicos de um computador CPU, memria, dispositivo de Entrada e Sada etc. Sistema Operacional Controla e coordena o uso do hardware por vrias aplicaes de diferentes usurios Programas define a forma como os recursos do sistema so usados para resolver problemas computacionais dos usurios Processador de textos, compiladores, navegadores, banco de dados, video games etc. Usurios Pessoas, mquinas, outros computadores

Quatro Componentes do Sistema Computacional

Alisson Brito @ UFPB2009

1.3

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.4

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Definio de um Sistema Operacional


SO um alocador de recursos Gerencia todos os recursos Decide entre requisies conflitantes para um uso eficiente e justo dos recursos SO um controlador de programas Controla a execuo dos programas para previnir erros e o uso imprprio do computador

Definio de um SO (cont)
No h uma definio universalmente aceita do que faz parte do SO, e o que so programas convencionais Uma aproximao: Tudo o que vem junto com o Sistema Operacional quando ele comprado Isso nem sempre verdade O programa que roda o tempo todo no sistema o kernel (ncleo) O restante tanto pode ser um programa do sistema, como pode ser um aplicativo do usurio

Alisson Brito @ UFPB2009

1.5

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.6

Adaptado do material deSilberschatz, Galvin and Gagne 2009

03/02/2009

Inicializao do Computador
Quando um computador iniciado, um programa chamado bootstrap carregado Geralmente armazenado em memria ROM, ou EPROM, conhecida como firmware (assim como todo software armazenado em ROM) Inicia todos os aspectos do sistema, basicamente a placa me inicia todos seus componentes de acordo com uma configurao prestabelecida Carrega o kernel do Sistema Operacional e inicia sua execuo

Organizao de um Computador
Operao de um Sistema Computacional Uma ou mais CPUs e controladoras de dispositivos conectados atravs de barramentos comuns provendo acesso a uma memria compartilhada Execuo paralela da de CPUs e controladores disputando o acesso memria

Alisson Brito @ UFPB2009

1.7

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.8

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Operao de um Sistema Computacional


Dispositivos de E/S e CPU podem executar concorrentemente Cada controlador gerencia um dispositivo de E/S em particular Cada controlador tem um buffer local CPU move dados da/para memria principal para/dos buffers locais A operao de E/S feita entre o dispositivo e o buffer local do controlador O controlador de dispositivo informa a CPU que finalizou sua operao, causando um interrupo

Timeline das Interrupes

Alisson Brito @ UFPB2009

1.9

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.10

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Hierarquia de Memria
Sistemas de memria so organizados em hierarquia, distribuindo: Velocidade Custo Volatilidade Caching cpia de informao mais teis num sistema de armazenamento mais rpido A memria principal pode ser vista como a Cache do HD

Hierarquia de Memria

Alisson Brito @ UFPB2009

1.11

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.12

Adaptado do material deSilberschatz, Galvin and Gagne 2009

03/02/2009

Como um Computador Moderno funciona

Arquitetura de Multiprocessadores

Alisson Brito @ UFPB2009

1.13

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.14

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Um projeto de um Dual-Core

Estrutura de um SO
Multiprogramao necessria para performance
Um nico usurio no pode ficar com a CPU e dispositivos por todo o tempo SO organiza as tarefas (cdigo e dados) de forma que a CPU sempre tenha uma tarefa para executar Um subconjunto das tarefas permanece na memria para agilizar execues Uma tarefa selecionada pelo escalonador de tarefas Se o SO espera por uma tarefa, ele passa a execuo para outra

Timesharing (multitasking) fucionalidade do SO que troca tarefas da


CPU to rapidamente que o usurio pode interagir com cada uma, criando um computador interativo.

Tempo de resposta deve ser menor que 1 segundo


Cada usurio tem pelo menos 1 programa em execuo Se h muitas tarefas para executar

processo escalonamento de CPU

Se processo no cabe na memria, feito um swapping

Memria Virtual permite a execuo de processos mesmo que os


mesmos no caibam todos na memria principal
Alisson Brito @ UFPB2009 1.15 Adaptado do material deSilberschatz, Galvin and Gagne 2009 Alisson Brito @ UFPB2009 1.16 Adaptado do material deSilberschatz, Galvin and Gagne 2009

Layout de Memria num Sistema Multiprogramado

Transiao do Modo Usurio para Modo Kernel


No modo Kernel, o SO controla melhor o uso do recurso Timer para previnir loop infinito / processo sem liberar o recurso Interrupo gerada depois de determinado tempo Sistema operacional decrementa um contador Quando o contador chega em zero, a interrupo gerada

Alisson Brito @ UFPB2009

1.17

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.18

Adaptado do material deSilberschatz, Galvin and Gagne 2009

03/02/2009

Gerncia de Processos
Um processo um programa em execuo. Ele uma unidade de trabalho dentro do sistema. Programa uma entidade passiva, e processo uma entidade ativa Processos necessitam de recursos para cumprirem suas tarefas CPU, memria, E/S, arquivos O encerramento de processo requer a liberao de todos os recursos Sistemas tradicionais possuem vrios processos rodando concorrentemente em uma ou mais CPUs Concorrncia atravs da multiplexao de CPUs entre os processos

Proteo e Segurana
Proteo qualquer mecanismo de controle de acesso de processos ou usurios a recursos definidos pelo SO Segurana defesa do sistema contra ataques internos e externos Enorme variedade denial-of-service, worms, vrus, ladres de identidades e servios Sistemas precisam primeiramente distiguir usurios para determinar o que cada um pode fazer Identidades de usurios (user ID) A ID do usurio associada com todos os arquivos e processos para determinar o controle de acesso Identificadores de grupo (group ID) permite agrupar vrios usurios e associ-los com cada processo e arquivo Escalada de privilgios permite um usurio mudar para IDs com maiores direitos

Alisson Brito @ UFPB2009

1.19

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.20

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Ambiente Computacional
Computao Cliente-Servidor Servidores servem respondendo requisies geradas por clientes

Computao Peer-to-Peer (P2P)


Outro modelo de sistemas distribudos P2P no distingue cliente de servidor Ao invs, todos computadores so considerados peers ou nodos Agem hora como cliente, hora como servidor, ou ambos Nodos precisam de juntar a uma rede Servios so registrados Requisies por servios so processadas via um protocolo de descobrimento Exemplos so o Napster e o Gnutella

Servidor de Computao prov uma interface para os clientes solicitarem servios (ex: banco de dados) Servidor de Arquivos prov uma interface para os clientes armazenar e recuperarem arquivos

Alisson Brito @ UFPB2009

1.21

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

1.22

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Computao Baseada na Web


A Web tornou-se unipresente (ubiquitous) Cada vez mais dispositivos permitem acesso a web Novos sistemas operacionais permitem as mquinas tanto atuarem como cliente, quanto como servidores, como Linux e Windows XP e Vista Diferente do antigo Windows 95

Parte 2 Estrutura dos Sistemas Operacionais

Alisson Brito @ UFPB2009

1.23

Adaptado do material deSilberschatz, Galvin and Gagne 2009

Alisson Brito @ UFPB2009

Adaptado do material deSilberschatz, Galvin and Gagne 2009