Arquitetura de Sistemas Operativos - PDF
Download "Arquitetura de Sistemas Operativos"
Flávio Canela Lopes
1 Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012
2 1 Introdução Gestão de Programas
3 Introdução Os sistemas operativos gerem um conjunto de funções básicas que têm evoluído ao longo dos tempos. Vamos então analisar a evolução de algumas dessas funções: Gestão de programas Controlo de recursos de hardware: Gestão do Microprocessador Gestão da Memória Gestão dos periféricos de entrada e saída
4 Gestão de Programas Gestão de Programas A função mais importante de um sistema operativo, e que afeta diretamente a sua fiabilidade, é o método como este gere a execução dos programas.
5 Gestão de Programas Gestão de Programas - Monotarefa No caso dos sistemas operativos classificados por monotarefa, estes executam apenas uma tarefa de cada vez. Vejamos o seguinte exemplo:
6 Gestão de Programas Gestão de Programas - Monotarefa Imaginemos que estamos a usar um editor de texto e temos necessidade de ir buscar informação a uma folha de cálculo. Neste tipo de sistema operativo temos de sair do editor de texto para podermos entrar na folha de cálculo e fazer o mesmo para voltarmos ao editor de texto.
7 Gestão de Programas Gestão de Programas - Monotarefa Voltando ao editor de texto e na hora da impressão do documento é necessário aguardar que todo o documento seja impresso ou passado para a memória da impressora, para que seja possível trabalhar novamente com o editor de texto. Quem já utilizou o sistema operativo MS-DOS já passou por estas situações.
8 Gestão de Programas Gestão de Programas - Multitarefa Um sistema operativo multitarefa permite que um utilizador trabalhe com dois ou mais programas em simultâneo. Na prática o microprocessador não executa diversos programas de uma só vez, mas reserva uma fração de tempo para cada um dos programas.
9 Gestão de Programas Gestão de Programas - Multitarefa Existem diferentes técnicas de gestão da multitarefa. Consoante o método utilizado, a estabilidade do sistema operativo é afetada.
10 Gestão de Programas Gestão de Programas - Multitarefa Cooperativa Neste caso de multitarefa cooperativa, os utilizadores podem executar dois ou mais programas, mas o programa que se encontra em primeiro plano ganha o controlo sobre o microprocessador e mantém esse controlo até que a tarefa termine. Só depois é que o microprocessador é libertado para se ocupar com os restantes programas. Neste caso o que e que acontece se um dos programas para de funcionar?
11 Gestão de Programas Gestão de Programas - Multitarefa Cooperativa O programa que está parado, ou travado, não liberta o microprocessador, consequentemente o computador congela, ou fica suspenso, e o utilizador tem que reiniciar o computador. O Windows 3.11 e as versões anteriores à versão Mac OS 8 utilizavam este tipo de multitarefa.
12 Gestão de Programas Gestão de Programas - Multitarefa Preemptiva A multitarefa preempetiva é melhor do que a anterior e permite que o sistema operativo recupere o controlo caso um aplicativo interrompa a sua execução. O utilizador perde todos os trabalhos que não tinham sido guardados no programa que travou, mas a falha neste aplicativo não vai influenciar o funcionamento do restante sistema.
13 Gestão de Programas Gestão de Programas - Multitarefa Preemptiva Os sistemas operativos atuais para computadores pessoais já utilizam este tipo de multitarefa, como é o caso do Unix, Linux, Windows 95, 98, M. Windows NT, 2000 e XP, Mac OS 8 e versões mais recentes, e o OS/2, entre outros. No entanto, nem todos os sistemas que utilizam a multitarefa preemptiva, a gerem de modo eficiente.
14 Gestão de Programas Gestão de Programas - Multitarefa Multithreading Um sistema mais recente de multitarefa é designado por multithreading e permite que o computador execute mais do que uma tarefa de um único programa. Para facilitar o multithreading, os programadores devem dividir os programas em tarefas distintas, denominadas por threads.
15 Gestão de Programas Gestão de Programas - Multitarefa Multithreading Por exemplo, podemos ter uma thread a tratar da impressão, enquanto que outra trata da recuperação de ficheiros. Com este tipo de multitarefa o utilizador pode estar a executar uma tarefa de um programa aplicativo e em simultâneo podem estar a ser executadas outras tarefas desse programa.
16 Gestão de Programas Gestão de Programas - Multitarefa Multithreading Podemos também obter beneficio quando se executam vários programas aplicativos. A thread do programa que se encontra em segundo plano continua a trabalhar, enquanto o utilizador está a trabalhar com o programa aplicativo em primeiro plano.
17 Gestão de Programas Gestão de Programas - Multitarefa Multithreading Os sistemas operativos mais eficazes combinam a multitarefa preempetiva e multithreading. Os sistemas operativos para computadores pessoais mencionados na multitarefa preempetiva também suportam o multithreading.
18 Gestão do Microprocessador No caso da multitarefa preempetiva e do multithreading, o sistema operativo tem que gerir quanto tempo cada tarefa vai ocupar no microprocessador. Quando mandamos imprimir um documento e de imediato continuamos a escrever, não nos podemos esquecer que o sistema operativo vai atribuir uma fração de tempo a cada tarefa e para o utilizador parece que este está a realizar tudo em simultâneo.
19 Gestão do Microprocessador Este tipo de processamento por partilha no tempo do microprocessador e conhecido por pseudoparalelismo. Neste caso, o tempo de execução das duas tarefas é o somatório das duas a trabalhar isoladamente.
20 Gestão do Microprocessador
21 Gestão do Microprocessador Nos sistemas informáticos constituídos por mais do que um microprocessador, é possível atribuir a cada um uma tarefa diferente para que o trabalho seja distribuído por todos. Os sistemas operativos têm de estar preparados para poderem realizar esta gestão e nem todos os sistemas operativos mais recentes têm esta potencialidade. O Linux, Unix, Windows NT, 2000, XP, o Mac OS 8 e versões mais recentes, são exemplos de sistemas operativos que suportam multiprocessamento.
22 Multiprocessamento Assim, o multiprocessamento é a capacidade de um sistema operativo executar simultaneamente dois ou mais processos. Pressupõe a existência de dois ou mais processadores.
23 Multiprocessamento A ideia é ter mais de um processador que funciona na mesma memória mas executa processos simultaneamente. Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se de - usando - vários recursos, sendo o principal a partilha de tempo de uso do processador entre vários processos.
24 Características do Multiprocessamento Um multiprocessador é um sistema integrado de computação com as seguintes características: Envolve dois ou mais processadores físicos (separados ou múltiplos núcleos encapsulados no mesmo chip) ou lógicos (processadores com a tecnologia HyperThreading da Intel) com o mesmo poder computacional e cada um capaz de executar processos autonomamente. Os processadores partilham um único espaço de endereçamento de memória. O sistema de hardware é como um todo gerido por um único sistema operativo.
25 Características do Multiprocessamento O sistema operativo com suporte a multiprocessamento deve ser capaz de: suportar multitarefa; manter múltiplas filas de processos, uma para cada processador.
26 Arquitetura de Sistemas Multiprocessados Sistemas multiprocessados podem ser basicamente de dois tipos: SMP e NUMA.
27 Multiprocessamento simétrico (SMP) Os processadores partilham a mesma memória, embora possam ter caches separadas. O sistema operativo deve estar preparado para trabalhar com coerência de caches e, principalmente, evitar condições de corrida na memória principal.
28 Acesso não uniforme à memória (NUMA) A cada processador é associado um bloco de memória. O sistema operativo trata cada bloco separadamente, pois cada bloco tem um custo de acesso diferente, dependendo de qual o processador a que está associado e onde está a ser executado o processo que tenta aceder à memória.
29 Gestão da Memória O sistema operativo atribui a cada programa que se encontra em execução uma fatia de memória. Os sistemas operativos mais evoluídos implementam a memória virtual, que é um método de utilizar o disco rígido do computador como uma extensão da memória RAM.
30 Gestão da Memória Na memória virtual, as instruções e os dados do programa são divididos em unidades de tamanho fixo, designadas por páginas. Se a memória RAM estiver cheia, o sistema operativo armazena as páginas num ficheiro do disco rígido, denominado por ficheiro de troca (swap file).
31 Gestão da Memória Quando há necessidade das páginas armazenadas no disco rígido, elas são copiadas para a memória RAM.
32 Gestão dos periféricos de entrada e saída Os periféricos que são ligados ao computador têm de ser geridos pelo sistema operativo. Cada periférico gera interrupções, que são sinais enviados para o microprocessador. Por exemplo, se o utilizador pressionar uma tecla ou se move rato, geram-se interrupções e o sistema operativo vai dar ordem para executar o programa respectivo a cada pedido de interrupção.
33 Gestão dos periféricos de entrada e saída Encontra-se no mercado informático uma grande variedade de marcas e modelos de periféricos, tais como placas de som, modems, monitores e placas de rede, entre. Dado que cada dispositivo de um modelo de uma determinada marca tem as suas próprias características, o sistema operativo necessita do driver do periférico.
34 Gestão dos periféricos de entrada e saída Os drivers dos periféricos são programas que contêm informações específicas destes e que são responsáveis pela interligação do periférico com o sistema operativo. O driver de um periférico é específico para um determinado sistema operativo.
35 Gestão dos periféricos de entrada e saída Se houver alteração de sistema operativo é necessário ter o driver do periférico adequado para que este funcione. Um periférico sem o driver não funciona.
36 Avaliação Trabalho Teórico-Prático 1 Descreva um dos seguintes conceitos num texto. Gestão de Programas: Monotarefa Multitarefa Cooperativa Preemptiva Multithreading O texto deverá: ser feito em grupo; enviado por ao professor no final da aula; e deverá conter entre 250 a 500 palavras.
UFCD SISTEMA OPERATIVO INSTALAÇÃO E CONFIGURAÇÃO
ÍNDICE 1 ÍNDICE 3. FUNÇÕES DE UM SISTEMA OPERATIVO... 3 A Gestão dos programas... 3 A.1) Monotarefa... 3 A.2) Multitarefa... 4 B Controlo dos recursos de hardware... 5 B.1) GESTÃO DO MICROPROCESSADOR...
2 - Organização do Sistema Operativo. Prof. Ricardo Silva
2 - Organização do Sistema Operativo Prof. Ricardo Silva Sumário Principais Elementos da Arquitectura de Sistemas Operativos Núcleo Chamadas ao sistema Processos de sistema Evolução da organização do núcleo
Sistemas Operacionais Sistemas Desktop Sistemas Multiprocessadores Prof. Esp. Manoel Pedro Sistemas de Mesa (desktops) Os computadores pessoais (PCs) apareceram no anos 70, durante a primeira década, as
TI SO do Ponto de Vista do Programador de Aplicações
TI SO do Ponto de Vista do Programador de Aplicações SO do Ponto de Vista do Programador de Aplicações Interface Coerente para as Aplicações Especialmente importante se: Há várias plataformas hardware