18
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO O SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ

14 O Sistema Operacional - Professor Carlos Muniz · INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO O SISTEMA OPERACIONAL • O QUE É UM SISTEMA OPERACIONAL? Professor Carlos Muniz [email protected]

Embed Size (px)

Citation preview

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃOO SISTEMA OPERACIONAL

PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O QUE É UM SISTEMA OPERACIONAL?

Professor Carlos Muniz [email protected] 2

Há muitos tipos de Sistemas Operacionais, cuja complexidadevaria e depende de que tipo de funções é provido, e para quecomputador esteja sendo usado. Alguns sistemas sãoresponsáveis pela gerência de muitos usuários, outros controlamdispositivos de hardware como bombas de petróleo.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O QUE É UM SISTEMA OPERACIONAL?

Professor Carlos Muniz [email protected] 3

O sistema operacional funciona com a iniciação de processosque este irá precisar para funcionar corretamente. Essesprocessos poderão ser arquivos que necessitam de serfrequentemente atualizados, ou arquivos que processam dadosúteis para o sistema. Poderemos ter acesso a vários processosdo sistema operacional a partir do gerenciador de tarefas,onde se encontram todos os processos que estão emfuncionamento desde a inicialização do sistema operacional atéa sua utilização atual.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O QUE É UM SISTEMA OPERACIONAL?

Professor Carlos Muniz [email protected] 4

O sistema operacional é uma coleção de programas que:• Inicializa o hardware do computador• Fornece rotinas básicas para controle de dispositivos• Fornece gerência, escalonamento e interação de tarefas• Mantém a integridade de sistema

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O QUE É UM SISTEMA OPERACIONAL?

Professor Carlos Muniz [email protected] 5

Um Sistema Operacional muito simples para um sistema decontrole de segurança poderia ser armazenado numa memóriaROM (Só de Leitura - um chip que mantém instruções para umcomputador), e assumir o controle ao ser ligado o computador.Sua primeira tarefa seria reajustar (e provavelmente testar) ossensores de hardware e alarmes, e então ativar uma rotinamonitorando ininterruptamente todos os sensores introduzidos.Se o estado de qualquer sensor de entrada for mudado, éativada uma rotina de geração de alarme.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O QUE É UM SISTEMA OPERACIONAL?

Professor Carlos Muniz [email protected] 6

Em um grande computador multiusuário, com muitos terminais, oSistema Operacional é muito mais complexo. Tem queadministrar e executar todos os pedidos de usuários eassegurar que eles não interferiram entre si. Tem quecompartilhar todos os dispositivos que são seriais por natureza(dispositivos que só podem ser usados por um usuário de cadavez, como impressoras e discos) entre todos os usuários quepedem esse tipo de serviço. O SO poderia ser armazenado emdisco, e partes dele serem carregadas na memória docomputador (RAM) quando necessário.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O QUE É UM SISTEMA OPERACIONAL?

Professor Carlos Muniz [email protected] 7

Adicionalmente, o SO precisaria apresentar a cada usuáriouma interface que aceita, interpreta, e então executa comandosou programas do usuário. Essa interface é comumente chamadade SHELL (=cápsula, manteremos o nome original em inglês) ouinterpretador de linha de comando (CLI). Em alguns sistemas elapoderia ser uma simples linha de texto que usam palavraschaves (como MSDOS ou UNIX); em outros sistemas poderiamser gráficas, usando janelas e um dispositivo apontador comoum mouse (como Windows95 ou X - Windows).

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• AS VÁRIAS PARTES DE UM SISTEMA OPERACIONAL

Professor Carlos Muniz [email protected] 8

Um sistema operacional de um computador que é usado pormuitas pessoas ao mesmo tempo, é um sistema complexo.Contém milhões de linhas de instruções escritas porprogramadores. Para tornar os sistemas operacionais maisfáceis de serem escritos, eles são construídos como uma série demódulos, cada módulo sendo responsável por uma função. Osmódulos típicos em um grande SO multiusuário geralmente são:

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• AS VÁRIAS PARTES DE UM SISTEMA OPERACIONAL

Professor Carlos Muniz [email protected] 9

• Núcleo (Kernel em inglês - também conhecido como"executivo")

• Gerenciador de processo• Escalonador (Scheduler, em inglês)• Gerenciador de arquivo

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O NÚCLEO - UM EXECUTIVO EM TEMPO-REAL

Professor Carlos Muniz [email protected] 10

O núcleo de um sistema operacional é algumas vezes chamadode EXECUTIVO em tempo real. Algumas das funçõesexecutadas por ele são:• Chaveamento entre programas• Controle e programação de dispositivo de hardware• Gerenciamento de memória• Gerenciamento de processos• Escalonamento de tarefas• Comunicação entre processos• Processamento de exceções e de interrupção

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O NÚCLEO - UM EXECUTIVO EM TEMPO-REAL

Professor Carlos Muniz [email protected] 11

Nosso sistema simples de monitoração de segurança não teriatodas as funções acima, já que provavelmente seria um sistemamono-tarefa, executando apenas um programa. Como tal, nãoprecisaria processar permutas entre mais de um programa oupermitir comunicação entre programas (comunicação entreprocessos). A gerência da memória seria desnecessária, já queo programa residiria permanentemente em ROM ou em EPROM(uma forma programável especial de ROM).

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O NÚCLEO - UM EXECUTIVO EM TEMPO-REAL

Professor Carlos Muniz [email protected] 12

Um sistema operacional projetado para manusear um grande númerode usuários precisaria de um núcleo para executar todas as funçõesacima. Programas de usuários geralmente são armazenados emdisco, assim precisa ser carregado em memória antes de serexecutado. Isso apresenta a necessidade de gerência da memória, jáque a memória do computador precisaria ser pesquisada paralocalizar uma área livre para carregar um programa de usuário namesma. Quando o usuário tivesse encerrada a execução doprograma, a memória consumida por ele precisaria ser liberada e setornaria disponível para outro usuário quando solicitado.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O NÚCLEO - UM EXECUTIVO EM TEMPO-REAL

Professor Carlos Muniz [email protected] 13

Gerenciamento e Escalonamento (Scheduling) de processos tambémsão necessários, de forma que todos os programas possam serexecutados razoavelmente. Não há como um programa de um usuárioespecífico ser executado numa área de extensão, negando ofuncionamento de qualquer outro programa, e fazendo todos osoutros usuários esperarem. Adicionalmente, alguns programaspoderiam precisar ser executados mais freqüentemente que outros,por exemplo, checando comunicações de rede ou imprimindo. Algunsprogramas podem precisar ser suspensos temporariamente, e seremreiniciados depois, assim introduzindo a necessidade da comunicaçãointer-programas.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O SO COMO UMA MÁQUINA ESTENDIDA

Professor Carlos Muniz [email protected] 14

Programar diretamente o hardware de um computador não étarefa das mais fáceis. Para se controlar cada dispositivo físicodevemos enviar uma série de comandos (que possuem umaoutra dúzia de parâmetros) para seus registradores internos, deforma tal que o dispositivo interpreta tais comandos, e realizaa função associada aos mesmos.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O SO COMO UMA MÁQUINA ESTENDIDA

Professor Carlos Muniz [email protected] 15

Para se controlar uma unidade de disquete, por exemplo, énecessário emitir comandos que ligue/desligue o motor daunidade, comandos de leitura/escrita na unidade de disquete.Esses comandos são bastante complexos devido principalmentea quantidade e natureza dos parâmetros que recebem (númerode setores por trilha, endereço do bloco a ser lido ).

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O SO COMO UMA MÁQUINA ESTENDIDA

Professor Carlos Muniz [email protected] 16

Assim, a primeira função do SO é justamente oferecer umamáquina estendida (ou máquina virtual) que esconda toda essacomplexidade de programação do hardware. Para realizar talfunção, ele faz uso de alguma abstração. Por exemplo, elepode tratar cada dispositivo como um arquivo, e assim oprogramador simplesmente emite comandos de leitura/escritaem tais arquivos, deixando para o SO a função de controlar osaspectos diretamente ligados ao hardware (comandosprimitivos para seus registradores).

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O SO COMO UM GERENTE DE RECURSOS

Professor Carlos Muniz [email protected] 17

A outra função do SO é oferecer uma gerência dos recursos dehardware do computador.Dessa forma é ele quem decide em que lugar da memória osprogramas serão alocados para que então possam serexecutados, que ou quais programa(s) estão habilitados arodar e por quanto tempo, quem poderá imprimir primeiro seusarquivos na impressora, quem está habilitado a ler/escreverdados em arquivos de um disco rígido ou fita magnética.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO

O SISTEMA OPERACIONAL

• O SO COMO UM GERENTE DE RECURSOS

Professor Carlos Muniz [email protected] 18

Em sistema multi-usuários, o SO se responsabiliza por gerenciarda forma mais democrática possível os recursos, de forma apermitir que os processos (programas em execução) destesusuários possam ser executados sem conflitos.