Sistemas Operativos Luís Paulo Reis Slide Nº 1 Sistemas Operativos Sumário O que é um Sistema Operativo (SO)? Modelo em Camadas de um SO Abstracções Suportadas por um SO: Utilizador Processo Ficheiro / Directório Serviços de um SO Slide Nº 2
Arquitectura de um Computador Um "computador" (hardware programável) sem programas é inútil. Desenvolver programas directamente sobre o Hardware (HW) é uma tarefa impossível Sistema Operativo é uma camada de Software (SW) que realiza a interface entre o Hardware e os programas Slide Nº 3 Exemplo: Controlador de Floppy Ex: O controlador de FloppyPD765 suporta 16 comandos: Ler/escrever blocos; Movimentar o braço com a cabeça de leitura/escrita; Formatar os trilhos, etc. Para dar cada um destes comandos é preciso escrever os parâmetros necessários nos registos do controlador O motor da floppy não deve estar continuamente em funcionamento Muitas das acções decorrem assincronamente à execução do CPU: esperar a sua terminação num ciclo; usar interrupções. Slide Nº 4
Modelo em Camadas de um SO Estratégia típica na resolução de problemas complexos (outro exemplo, são as redes de computadores) Vantagens deste modelo: Decomposição: um problema intratável é decomposto em problemas solúveis -- estratégia de Júlio César: dividir para conquista; Modularidade: é relativamente fácil acrescentar funcionalidade ou alterar a implementação, desde que se preservem as interfaces. Slide Nº 5 SO como uma Máquina Virtual O SO fornece às aplicações uma máquina virtual: Mais fácil de usar que o HW; Independente do HW. Por exemplo, Linux funciona em computadores com arquitecturas diferentes. Para os programadores e utilizadores a arquitectura do computador é essencialmente indiferente. Tanto faz se o computador é um PC ou uma Workstation. Slide Nº 6
O SO como um Gestor de Recursos Durante a sua execução, os programas fazem uso de recursos (CPU, memória, disco,... ) A maioria dos computadores executa várias aplicações em simultâneo: O SO gere os recursos dum computador, facilitando a sua partilha entre diferentes aplicações. As aplicações não podem aceder directamente aos recursos (todo o acesso é mediado pelo SO): Evita se que as aplicações interfiram na gestão dos recursos. Slide Nº 7 Abstracções Oferecidas por um SO Algumas abstracções fundamentais suportadas por um SO são: Utilizador (em especial em sistemas interactivos); Processo (programa em execução); Ficheiro (repositório de informação); Directório (ficheiro especial que contém outros ficheiros). Slide Nº 8
Utilizador Inclui entre outros os seguintes atributos: nome (username); identidade (userid ); grupos (groupname e groupid ). Em sistemas multiutilizador, o conceito de utilizador é central para protecção de recursos (p.ex. ficheiros) Cada utilizador/grupo tem diferentes permissões Utilizador especial: Administrador O utilizador pode estar associado não só a uma pessoa como a uma função, p.ex. correio electrónico Slide Nº 9 Processo Representa um programa em execução. Actualmente, quase todos os sistemas operativos são multi processo (Linux, Windows2000, WindowsMe): Um computador pode executar vários programas ao mesmo tempo. Um processo está associado a um utilizador, o seu dono: aquele que invoca o programa correspondente. A identidade do utilizador dono do processo determina os recursos a que um processo pode aceder, bem como o tipo de operações que pode realizar sobre esses recursos. Slide Nº 10
Ficheiros / Directórios Representam uma fonte/poço de informação. Suportam três operações: Leitura, Escrita e Execução Tipicamente organizados duma forma hierárquica, usando directórios: Ficheiros que contém outros ficheiros. Cada ficheiro/directório tem um utilizador que é o seu dono: Utilizado no controlo de acessos. Abstraem não só ficheiros como também dispositivos de E/S. Slide Nº 11 Serviços de um SO Suportam as abstracções oferecidas pelo SO Gerem os recursos do sistema Por exemplo: Gestão de processos; Gestão de memória; Gestão de ficheiros e directórios; Gestão de dispositivos de entrada/saída; Comunicação através de rede; Detecção e notificação de eventos; Autenticação e controlo de acesso. Slide Nº 12
Serviços de Gestão de Processos Criação e destruição de processos Suspensão e retoma (continuação) de processos Mecanismos para: Sincronização de processos; Comunicação entre processos. Alteração do dono dum processo Um processo é essencialmente um programa em execução, assim estes serviços são de suporte à execução de programas. Slide Nº 13 Serviços de Gestão de Memória Principal Programas em execução exigem memória: Para o Código; Para os Dados. O SO tem que gerir a memória: Alocação e libertação de memória; Mapeamento de ficheiros na memória principal; Outras funções usadas internamente pelo SO: Partilha da memória física entre diferentes processos e o próprio SO. Slide Nº 14
Serviços de Gestão de Ficheiros e Directórios Criação e destruição de ficheiros/directórios Leitura do conteúdo de ficheiros (listagem dos ficheiros/directórios num directório) Alteração do conteúdo de ficheiros/directórios Alteração do nome de ficheiros/directórios Alteração de atributos (e.g. dono, permissões) de ficheiros/directórios Visualização de atributos de ficheiros/directórios Slide Nº 15 Serviços de Comunicação em Rede Suportam a comunicação entre processos em diferentes computadores: Estabelecimento e terminação de canais de comunicação; Configuração e inspecção do estado do canal de comunicação; Transmissão e recepção de mensagens. De facto, estes mesmos serviços podem ser usados na comunicação entre processos no mesmo computador (sem placa de rede) Slide Nº 16
Serviços de Detecção/Notificação de Eventos Usados para comunicação: Entre Processos; Entre o SO e um processo. Tipo de eventos detectados pelo SO: Expiração de temporização; Erros internos na execução de processos. Slide Nº 17 Serviços Internos Tipicamente, não são directamente acessíveis às aplicações Entrada/Saída (permitem aceder a dispositivos de E/S): Portas série; Placas gráficas; Discos; Placas de rede. Gestão de discos incluindo: Alocação e libertação de blocos; Escalonamento dos pedidos. Slide Nº 18
Serviços de Autenticação e Controlo de Acesso Autenticação: Validar a identidade de um utilizador: É essencial para proteger o acesso a recursos. Controlo de acesso: Limitar o acesso a recursos apenas às entidades autorizadas a faze lo : Pressupõe autenticação; É um serviço transversal: abrange todos os outros serviços. Slide Nº 19 Sistemas Operativos Windows Diversos Sistemas Operativos da Microsoft para Computadores Pessoais: Windows 95 / 98 / ME Windows NT Workstation/ Windows 2000 Windows XP Características: estruturas diferentes ambientes de trabalho praticamente idênticos Slide Nº 20
Fase 1: A Evolução dos SOs da Microsoft MS-DOS - Sistema Operativo Windows - Programa que fornece um Ambiente de Trabalho (gráfico) 1981 PC-DOS 1985 Windows 1.0 Windows for Workgroups 1995 MS-DOS 6.2 1990 Windows 3.0 Windows 3.2 Utilizador + Aplicações Utilizador + Aplicações Shell Núcleo Hardware Windows MS-DOS Hardware Programa de Aplicação Sistema Operativo Slide Nº 21 Windows 3.xx Classificação: Software de Aplicação e não Sistema Operativo Os ícones simbolizam ficheiros (dados/aplicação) e directorias facilitando o manuseamento de aplicações Slide Nº 22
Sistemas Operativos Windows 1990 Windows NT (New Technology) 1995 Windows 95 Vocacionado para trabalhar em redes ou estações de trabalho de grande capacidade É um S.O. (não um ambiente) vocacionado para trabalhar em computadores pessoais Utilizador + Aplicações Windows NT Hardware Utilizador + Aplicações Windows 95 Hardware Slide Nº 23 Windows XP 1990... Windows NT 1995 Windows 95 1997 Windows NT 4.0 Servidor Cliente 1998 Windows 98 Windows CE 1999 Windows 2000 (Servidor / Cliente) Windows ME 2002 Windows XP Slide Nº 24