2012/2013
INTRODUÇÃO AOS SISTEMAS OPERATIVOS EMANUEL TEIXEIRA
CONCEITO DE SISTEMA OPERATIVO
Sistema Operativo
Pode ser definido como um conjunto de programas que permitem uma interacção simplificada entre o utilizador e a máquina
Aplicações
Utilizador
Sistema Operativo Dispositivos físicos
Hardware
2
CONCEITO DE SISTEMA OPERATIVO
O Sistema Operativo pode ser visto como
Máquina virtual Dar ao utilizador a ilusão de dispor de uma máquina muito mais fácil de utilizar e programar do que o hardware. Gestor de recursos Efectuar a gestão dos diversos componentes da arquitectura de um computador, impondo ordem na atribuição de recursos aos programas. Tirar máximo partido dos recursos disponíveis
Tempo de CPU, memória, etc
3
CONCEITOS
Processador e Processos
Um processo é basicamente um programa em execução Num sistema multi-programado, vários processos podem estar a correr simultaneamente Contudo, quando existe um só processador, apenas um processo pode utilizá-lo em cada instante temporal Os processos concorrem pelo processador e cooperam entre si para realizar tarefas mais complexas
4
CONCEITOS E REVISÕES
Processador e Processos
Processador (CPU)
Modo utilizador (User Mode)
Elemento activo do sistema que executa processos Disponível um subconjunto das instruções do CPU. É neste modo que correm as aplicações
Modo núcleo (Kernel Mode)
Modo privilegiado do processador, para o qual todas as instruções estão disponíveis. Só o Sistema Operativo é que tem acesso a este modo
5
CONCEITOS
Memória e Gestão de memória
Divisão estruturada da memória de modo a ser possível o carregamento de diversos programas na memória principal Colocação e Protecção Existência de mecanismos que permitam o crescimento da memória de dados de um programa Reserva de memória Gestão do espaço de endereçamento de modo a que se possa ter uma capacidade de memória superior à da memória principal (a RAM) – Memória Virtual
6
CONCEITOS
Hierarquia da memória
Registos Cache Maior rapidez
Memória principal
Maior capacidade
Discos
Tapes
7
CONCEITOS Sistemas
mono-programados e multi-programados
Memória principal
Memória principal
Programa
Programa 1 Dados 1
Dados Programa 2 Dados 2
Sistema Operativo
Sistema Operativo
Sistema Mono-programado
Sistema Multi-programado
8
CONCEITOS
Sistemas de ficheiros (FAT 32, NTFS, EXT3, etc.)
Gestão da informação não-volátil armazenada em memória secundária (discos, tapes) Providenciar um nível de abstracção para que o utilizador não se preocupe com os detalhes da utilização de discos, disquetes, etc. Chamadas ao sistema:
Criação, remoção, cópia, escrita e leitura de ficheiros
9
CONCEITOS
Estrutura hierárquica (em árvore) - directórios directório raíz (root)
Trabalhos
AC
Jogos
SO
Quake
Half-Life
Nomeficheiro.extensão trab1.txt prog.cpp trabf.doc
10
Extensão indica o tipo do ficheiro
CONCEITOS
Periféricos e I/O
Gestão das operações de escrita e leitura nos diversos periféricos Teclado, impressora, terminais de texto e gráficos, discos, etc.
Tratamento de interrupções e de erros Device drivers Programas para gestão de periféricos específicos
11
CLASSIFICAÇÃO DE SOS
Multi-utilizador
O tempo de processamento do CPU de um computador pode ser partilhado por mais do que um utilizador de forma interactiva.
Unix, Linux
Mono-utilizador
O CPU só pode estar dedicado de forma interactiva a um conjunto de processos do mesmo utilizador
MS-DOS, todos os Windows
12
CLASSIFICAÇÃO DE SOS
Multi-programação
Capacidade de correr vários programas simultaneamente (em concorrência) Unix, Linux, todos os Windows
Mono-programação / Processamento por lotes
Cada programa monopoliza o processador até terminar Spectrum DOS (à parte dos programas residentes)
13
CLASSIFICAÇÃO DE SOS
Dedicado
Sistema Operativo projectado para aplicações específicas Exemplos: Controlo de uma linha de montagem - SOs em tempo real Gestão de transacções numa companhia aérea - SOs para Mainframes Interface para um telemóvel – SO embedded
Uso geral
Projectados para uma fácil utilização Permitem a execução de uma grande variedade de programas Reconhecem uma grande diversidade de periféricos
14
CLASSIFICAÇÃO DE SOS
Centralizado
O Sistema Operativo cria uma máquina virtual sobre um único computador
Distribuído
O Sistema Operativo que corre sobre um conjunto de computadores, dando a ilusão de que este conjunto é uma entidade única Sistemas distribuídos puros Sistemas em rede Sistemas multi-processador
15
MODELO DE UM SO
Camadas (Layers) O SO encontra-se estruturado segundo um conjunto de camadas funcionais Cada camada utiliza serviços de camadas que lhe são interiores Em suma, cada camada é uma máquina virtual com uma interface bem definida À camada mais baixa (gestão de processos) corresponde o núcleo do sistema operativo
16
MODELO DE UM SO
Camadas (Layers) Aplicações e utilizadores Chamadas ao sistema Sistema de ficheiros Comunicação e I/O Gestão de memória Gestão de processos Hardware 17
MODELO DE UM SO
Modular
O SO encontra-se organizado segundo módulos à volta de um núcleo (kernel) O núcleo é geralmente pequeno (Micro-kernel), comunicando com o hardware e estabelecendo a comunicação entre os diversos módulos Pode introduzir-se o conceito de processo cliente e de processo servidor que correm em modo utilizador Facilmente adaptável a sistemas distribuídos Estrutura mais estável (teoricamente...)
18
MODELO DE UM SO
Modular Aplicações e utilizadores Chamadas ao sistema Gestão de Processos
Gestão de Memória
I/O
Sistema de Ficheiros
Micro-Kernel Hardware
19
MODELO DE UM SO
Modular (Cliente-Servidor)
Processo Cliente
Processo Cliente
Servidor de Processos
Servidor de Memória
Servidor de I/O
Servidor de Ficheiros
Modo Utilizador
Modo Núcleo
Micro-Kernel
Mensagens
20
BIBLIOGRAFIA
Silberschatz A., Galvin P. B. & Gagne G. (2002). Operating System Concepts. Addison-Wesley. Stallings W. (2006). Operating Systems–Internals and Design Principles. Prentice Hall Consulta do site so.dcti.iscte.pt/SO-2008-092/Material/1-Introducao.ppt
21