S ISTEMAS O PERACIONAIS
Régia Costa
Introdução a Informática
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Para entender a arquitetura de um sistema operacional típico, é útil analisar todos os tipos de software que ele contém. Para tanto, iniciemos com um estudo de como agrupar programas segundo uma classificação.
No caso de classificação de software, a dinâmica e a falta de uma autoridade definitiva no assunto conduzem a classificações e
terminologias contraditórias.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Software
Aplicação Sistema
Utilitário S.O.
Shell Kernel
Classificação de software
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Software
Aplicativo: programas que executam determinadas tarefas no computador.
Planilhas eletrônicas, sistemas de banco de dados, editores de texto, jogos e software de desenvolvimento de programas.
Sistema: executa tarefas que são comuns nos sistemas computacionais em geral. Essa classe se divide em
outras duas.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Software de Sistema
A maioria dos softwares de instalação consiste de programas que executam tarefas, embora não incluídas no sistema operacional,
essenciais à instalação de algum software no computador.
Utilitários: módulos de software que ampliam as capacidades do sistema operacional.
Formatação de disco e programas para comunicação com modem, para linhas telefônicas, software para mostrar a previsão do tempo na tela.
oSoftware Aplicativo X Software Utilitário
A distinção entre software aplicativo e software utilitário não é muito nítida. Muitos usuários consideram que a classe de software utilitário deve incluir todos os softwares que acompanham o sistema operacional por
ocasião de sua compra. Por outro lado, eles também classificam os sistemas de desenvolvimento de programas como software utilitário, desde que tais pacotes sempre acompanhem o sistema operacional por ocasião de sua venda.
oSoftware Utilitário X Sistema Operacional
A distinção entre o software utilitário e o sistema operacional é igualmente vaga. Alguns sistemas consideram os softwares que executam serviços
básicos, tais como listar os arquivos do disco, como sendo softwares
utilitários; outros os incluem como partes integrantes do sistema operacional.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Shell
A parte do Sistema Operacional que define a interface entre o sistema operacional e os usuários.
Interface gráfica?
Mouse
Teclado e Monitor
Sistema Operacional
Shell
Usuários Usuários
Usuários Usuários
O shell como interface entre o usuário e o sistema operacional
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Shell
UNIX
Borne shell
C shell
Korn shell
Windows
MS-DOS
Importante: O sistema operacional é o mesmo, o que
muda é a sua representação para o usuário.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Kernel (núcleo)
Parte interna do sistema operacional.
Contém os componentes de software que executam as funções básicas necessária ao funcionamento de cada instalação
Gerenciador de arquivos - cuja função é coordenar o uso dos recursos de armazenamento de massa do computador, ele mantém "cópias" de todos os arquivos armazenados no dispositivo de armazenamento, mantém informação sobre a localização de cada arquivo, sobre os usuários autorizados a acessar os diversos arquivos e sobre as áreas disponíveis no dispositivo de armazenamento, para novos arquivos ou para a extensão de arquivos existentes.
oCriação de pastas ou diretórios
Para auxiliar os usuários, a maioria dos gerenciadores de arquivos permite que estes sejam agrupados em conjuntos chamados pastas ou diretórios
(folders). Tal procedimento permite ao usuário organizar seus arquivos de acordo com as respectivas finalidades, agrupando em cada mesmo diretório arquivos referentes a um mesmo assunto. Além disso, é possível criar uma organização hierárquica, possibilitando que cada diretório possa conter, por sua vez,
subdiretórios. Uma seqüência de aninhamentos de níveis de diretórios é denominada path ou caminho.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Kernel (núcleo)
Gerenciador de arquivos
Acesso a arquivos
Autorização
Informações são mantidas nos descritores de arquivos.
Device Driver (Acionadores de dipositivos)
Responsável pela comunicação dos controladores com os periféricos, promovendo nos dispositivos periféricos a execução das operações desejadas.
Especifico para cada tipo de dispositivo, ou seja exclusivamente projetado para um dado tipo de dispositivo, converte solicitações de alto nível em comandos mais elementares, diretamente reconhecíveis pelos controladores ou dispositivos associados àquele acionador de dispositivo.
Controlador
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Kernel (núcleo)
Gerenciador de memória
Gerencia o uso da memória principal.
Em computadores Monoprogramados – A tarefa é trivial, pois nestes casos o programa a executar é alocado na memória
principal, executado e, então, substituído pelo programa que executa a tarefa seguinte.
Mem ambientes Multiusuário - A máquina se encarrega de várias tarefas ao mesmo tempo, os deveres do gerenciador de memória são mais complexos.
Memória requisitada é maior que a memória principal.
A tarefa do gerenciador de memória torna-se mais complexa quando a área total de memória principal solicitada excede o espaço realmente disponível na máquina. Neste caso, o gerenciador de memória pode criar uma ilusão de espaço
adicional alternando os programas e os dados entre a memória principal e o disco. Este espaço ilusório de memória é chamado de memória virtual.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Conceitos Básicos
Booting
Procedimento responsável pela inicialização do sistema operacional.
Executado todas as vezes que a máquina é ligada.
Por que executar o botting?
Processador executa a instrução que esta no PC.
Uso de ROM, devido ao processo ser o mesmo toda vez que for inicializada a máquina.
Em computadores menores presentes em:
Microondas, automóveis e rádios.
È possível implementar tudo na ROM, já que o objetivo não é flexibilidade.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Conceitos Básicos
Por que executar o botting?
Computadores de propósito geral
Inviável, transformação de memória principal em ROM.
Máquinas de propósito geral tem a maior parte de volátil.
Bootstrap pré programado na ROM.
Transferência conteúdo do disco para memória.
Geralmente esse conteúdo é o SO.
Prepara o processador para executar e transfere o controle da máquina para o SO, que passa a ser o responsável pelas
atividades da máquina.
A RQUITETURA OS S ISTEMAS O PERACIONAIS
Programa bootstrap ROM
Memória Volátil (RAM)
Memória
Principal Sistema
Operacional Armazenamento em disco
Passo 1: a máquina se inicia executando o programa bootstrap, residente na memória. O sistema operacional está armazenado em disco.
Programa bootstrap ROM
Memória Volátil (RAM)
Memória Principal
Sistema Operacional Armazenamento em disco
Passo 2: o programa bootstrap controla a transferência do sistema operacional para a memória principal e, em seguida, lhe transfere o controle.
Sistema operacional
Figura 5.3: O processo de booting
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Como sistema operacional coordena a execução de software de aplicação, utilitários e outros
módulos do próprio SO.
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Conceito de Processo
Programa: Conjunto estático de instruções ou comandos.
Processo vai alem do programa ele inclui:
Valor de PC.
Valores de outros registradores.
Posições da memória.
Esse conjunto de dados é conhecido como estado do processo.
Um programa pode ser associado a vários processos.
Várias instâncias de um mesmo programa.
Vários usuários.
O sistema operacional que coordena esses processos, fornecendo todos os recursos necessários.
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Administração de processos
Tarefas são gerenciadas pelo escalonador e o despachante no inteior do Kernel.
Escalonador
Mantém registro dos processos presentes no sistema computacional.
Adiciona/remove processos
Utiliza uma tabela de processos para manter o registro dos processos.
Nova tarefa
Cria um processo.
Acrescenta uma nova linha na tabela de processos.
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Administração de processos
Escalonador
Informação de cada linha:
Área da memória
Prioridade
Indicador do estado do processo
Pronto
Estado de espera
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Administração de processos
Despachante
Assegura que processos escalonados sejam executados.
Chaveamento de processo.
Rotina de processo:
Dispara temporizador
Interrupção, quando termina o quantum ou time slice.
Registra o que estava fazendo.
Atende ao processo que interrompeu.
Rotina de tratamento de interrupção
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Administração de processos
Despachante
Processo A
Processo B
Processo A
Processo B
Tempo Chaveamento de
processo Interrupção
Figura 5.4: Compartilhamento de tempo entre os processos A e B
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Administração de processos
Despachante
Tratamento de interrupção
1. O processo é parado imediatamente
2. O despachante permite que o escalonador utilize a tabela de processos.
3. Despachante pega o processo de maior prioridade.
4. Reinicia o temporizador.
Possibilidade de parar um processo e continuá-lo mais tarde.
(+)
Para isso basta restaurar o estado do processo que contém:
Contador de instruções
Conteúdo dos registradores
Conteúdo de posições da memória
C OORDENAÇÃO DAS ATIVIDADES DE M ÁQUINA
Administração de processos
Despachante
Processadores que trabalham com tempo compartilhado possuem recursos de guardar o estado.
Fatia de tempo pode acabar antes do tempo terminar por:
Necessidade de dados de entrada ou saída de dados.
Nesse caso a sua fatia de tempo será truncada.
Então o processo fica em estado de espera até que resolva suas dependências.
Após resolver as dependência poderá concorrer novamente por uma fatia de tempo.