Informática Básica Licenciatura em Ciência da Informação Tito Carlos S. Vieira E-mail: tito@fe.up.pt 1
Parte II Sistemas Operativos (Utilização do Windows) 2
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 3
Sistema Operativo Sistema Operativo SO interlocutor entre o utilizador e a máquina 4
Sumário O que é um Sistema Operativo (SO)? conjunto de programas que complementam as funções básicas do BIOS, transformando o computador numa máquina inteligível e utilizável. BIOS - Basic Input Output System conjunto de programas, inscritos em dispositivos de memória permanente, cuja missão é assegurar a comunicação do processador com os diversos periféricos de input/output. 5
6
Missão do Sistema Operativo Aplicações Aplicações Aplicações Máquina Virtual Máquina Física Sistema Operativo Hardware Criar uma máquina virtual sobre a máquina física que ofereça os recursos lógicos básicos necessários ao desenvolvimento das aplicações 7
Funções do Sistema Operativo Máquina Virtual Cria uma camada de software que esconde o hardware, definindo uma máquina virtual que disponibiliza diversos recursos lógicos ou objectos que podem ser utilizados pelas aplicações. Simplifica a utilização, cria modelos uniformes dos recursos lógicos para todas as linguagens de programação, define um modelo de segurança e de tolerância a faltas Gestor de Recursos Gere e optimiza o uso dos recursos físicos e lógicos. Como qualquer outra função de gestão esta actividade do sistema operativo tem que ter em consideração diversos objectivos como desempenho, utilização eficaz do investimento no hardware, controlo da utilização dos recursos pelos utilizadores, etc. 8
Principais Objectos geridos pelo Sistema Operativo Recurso lógico Os programas aplicações fluxos de actividade Informação persistente Entradas/Saídas Utilizadores Objecto do Sistema Operativo Processos Ficheiros Gestores de Periféricos Device Drivers Gestão dos utilizadores Mecanismos de Segurança Interface Contabilização da utilização. Interpretador de comandos Shell, Sistema de Janelas 9
Atributos de Qualidade do Sistema Desempenho Gestão eficientemente dos recursos físicos que suportam os recursos lógicos Segurança Isolamento dos Utilizadores Permitir partilha segura de recursos lógicos Fiabilidade Detectar um conjunto de faltas Tolerar um conjunto de erros Interface de programação completa e simples Facilitar a concepção das aplicações, a sua manutenção e portabilidade Interface de operação e gestão dos recursos lógicos fácil de utilizar 10
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. 11
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. Modularidade: é relativamente fácil acrescentar funcionalidade ou alterar a implementação, desde que se preservem as interfaces. 12
SO como uma Máquina M Virtual O SO fornece às aplicações uma máquina virtual: Mais fácil de usar que o HW; Independente do HW. 13
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): - Evitase que as aplicações interfiram na gestão dos recursos. 14
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). 15
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; root O utilizador pode estar associado não só a uma pessoa como a uma função, p.ex. correio electrónico 16
Processo Representa um programa em execução. Actualmente, quase todos os sistemas operativos são multiprocesso (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. 17
Ficheiros / Directórios 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. 18
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. 19
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. 20
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. 21
Serviços de Gestão de Ficheiros e Directórios 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 22
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. 23
Serviços de Detecção/Notifica ã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. 24
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. 25
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 fazêlo: Pressupõe autenticação; É um serviço transversal: abrange todos os outros serviços. 26