Arquitetura de Sistemas Operativos

Documentos relacionados
UFCD SISTEMA OPERATIVO INSTALAÇÃO E CONFIGURAÇÃO

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Sistema Operativo: o que é?

Introdução à Informática

Curso: Redes de Computadores

I TR T ODUÇÃO O À I N I FO F RMÁ M TI T C I A OBJETIVO

Sistemas Operacionais - Aula 02

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

Unidade 1: Tecnologias da Informação e Comunicação Conceitos Introdutórios. Tecnologias da Informação e Comunicação

Informática I. Aula Aula 18-19/06/06 1

Informática I. Aula /09/2006 1

Tipos de Sistemas Operacionais

Arquitetura de Sistemas Operativos

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Elementos básicos de uma Arquitetura Computacional

Introdução à Informática Engenharia Agrícola

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

Arquitetura de computadores

Função Fundamental do SO

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Introdução à Informática

Informática. Sistemas Operacionais. Professor Márcio Hunecke.

SSC0611 Arquitetura de Computadores

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

Sistemas Operacionais. Tipos de SO

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

AGT0001 Algoritmos Aula 01 O Computador

Instalação e Manutenção de Computadores Sandra Silva

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

Introdução a Tecnologia da Informação

Sistemas Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário

Introdução à Informática

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

CP Introdução à Informática Prof. Msc. Carlos de Salles

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Sistemas Operacionais. Sistema de entrada e Saída

Arquitetura de Microprocessadores

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

INFORMÁTICA: Informação automática

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Arquitetura de Computadores. Processamento Paralelo

Sistemas Operacionais

Fundamentos de Sistemas Operativos

Introdução ao Hardware Informática Básica e Aplicada PROFESSOR: DANIEL BRANDÃO

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

Introdução ao Windows. Breve Evolução

Sistemas Operacionais. Visão Geral

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela. Professor: Francisco Ary

Tecnologias. de Informação e Comunicação. 7ºAno. 1.º Período. Aula 5, 6. 1 Magda Lopes

Dr. Joaquim de Carvalho Figueira da Foz

NOÇÕES DE INFORMÁTICA

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

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

Projeto de Algoritmos

Algoritmos e Lógica de Programação Sistemas Operacionais

PROVA 03/07 Segunda-feira (semana que vem)

3. Unidade Central de Processamento

Sistemas Operacionais

Informática Aplicada. Introdução

Sistemas Operacionais

ESCOLA ESTADUAL IRMÃO AFONSO Oportunizar a Educação por meio do Respeito e da União

Informática básica SOFTWARE.

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores?

Sistemas Operacionais

Computadores e Programação (DCC/UFRJ)

Informática básica. Professor: Francisco Ary

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos

2. Conceitos Básicos. Introdução à Ciência da Computação.

Informática I. Aula 2. Ementa

Introduzir ao formando sobre as funcionalidades básicas de um PC (Personal Computer) do Windows 7.

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

7 Mecanismos de gestão de memória. Prof. Ricardo Silva

Introdução à Computação: Sistemas de Computação

MÁQUINAS VIRTUAIS EM SISTEMAS DISTRIBUÍDOS. Luiz C. Vieira

Montagem e Manutenção

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

2 - Organização do Sistema Operativo. Prof. Ricardo Silva

Engenharia Civil. Conceitos Básicos. Introdução à Computação

Sistemas Digitais e Arquitectura de Computadores (SDAC) 12º ano

Escola Secundária de Emídio Navarro

CURSO TÉCNICO DE INFORMÁTICA. Fundamentos de Hardware e Software

Introdução à Informática

Planificação Anual da Disciplina de Sistemas Operativos - 12º 1PI

Sistema Operacional. Escola de Ciências e Tecnologia ECT1103 INFORMÁTICA FUNDAMENTAL UFRN

Introdução à Programação de Computadores Fabricação Mecânica

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Digitais e Arquitectura de Computadores

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

ARQUITETURA DE COMPUTADORES

Sistemas Multiprogramáveis/Multitarefa

Sistemas Operacionais. Domesticos e Cororativos

Sistema Operacional. O S.O. é o programa mais importante do computador. - Realizar a interação entre o usuário, o hardware e o firmware -(BIOS)

Transcrição:

Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012

1 Introdução Gestão de Programas

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

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.

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:

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.

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.

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.

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.

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?

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.

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.

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.

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.

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.

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.

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.

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.

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.

Gestão do Microprocessador

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.

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.

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.

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.

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.

Arquitetura de Sistemas Multiprocessados Sistemas multiprocessados podem ser basicamente de dois tipos: SMP e NUMA.

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.

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.

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.

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).

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.

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.

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.

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.

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.

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 email ao professor no final da aula; e deverá conter entre 250 a 500 palavras.