sistemas operativos: introdução - faculdade de engenharia...

23
Sistemas Operativos: Introdução February 20, 2014

Upload: others

Post on 10-Sep-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Sistemas Operativos: Introdução

February 20, 2014

Page 2: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Sumário

Introdução aos Sistemas OperativosOrganização de ComputadoresSistema OperativoAbstracções Oferecidas por um SOServiços dum SO

Page 3: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Componentes dum Computador Pessoal (gama baixa)CPU-memory bus

CPU Bus adapter

DiskMonitor NetworkKeyboard Mouse

Main memory

I/O bus

I/Ocontr.

I/Ocontr.

I/Ocontr.

I/Ocontr.

I/Ocontr.

I Desenvolver código directamente sobre o HW dumcomputador é uma tarefa hercúlea

Page 4: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Teclado do PCIRQ1

0x64

0x60

OUT_PORT CTRL_REG

IN_BUF

OUT_BUF

IN_PORT

STAT_REG

I/O bus

i8042(KBC)Keyboard

Mouse

I Quando uma tecla é premida o microcontrolador doteclado gera um scancode que é colocado num buffer

I Quando uma tecla deixa de ser premida o microcontroladorgera outro scancode

I Este scancode é posteriormente transferido para o registoOUT_BUF controlador do teclado (KBC)

I O KBC pode gerar uma interrupçãoI Alternativamente pode usar-se polling

I A identificação do carácter premido depende dosscancodes previamente recebidos, e do mapa de teclado

Page 5: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Modelo em camadas dum sistema computacional

I O sistema operativo é uma “camada” de SW que assentasobre o HW

Banking system

Airline reservation

Operating system

Web browser

Compilers Editors

Application programs

Hardware

System programs

Command interpreter

Machine language

Microarchitecture

Physical devices

I Cada nível define uma máquina virtual, excepto o nívelmais baixo.

Page 6: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Parentesis: Modelo em camadas

I Estratégia típica na resolução de problemas complexos(outro exemplo são as redes de computadores)

I Suporta abstracçãoI Vantagens deste modelo

Decomposição Um problema “intratável” é decompostoem problemas mais pequenos e solúveis

Modularidade É relativamente fácil acrescentarfuncionalidades ou alterar a implementação, desde quese preservem as interfaces

Page 7: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Instruction Set Architecture (ISA) Level

I Define o o HW e o conjunto de instruções visiveis para umprogramador de assembly

I Compreende um conjunto de 50 a algumas centenas deinstruções para:

I Transferir dados entre os diferentes componentes;I Realizar operações aritméticas e lógicas;I Controlar o fluxo de instruções

I A este nível operações de entrada e saída são realizadasescrevendo e lendo registos dos controladores dosdispositivos de E/S

Page 8: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Nível do Sistema Operativo

Define a interface tipicamente acessível a umprogramador.

Instruction Set Architecture

Microarchitecture

OperatingSystem

I Oferece um conjunto de operações – chamadas aosistema (system calls) – que fornecem um nível deabstracção muito mais conveniente.

I A maioria das operações do nível ISA continua acessível.I Algumas contudo são escondidas, essencialmente por

razões de segurança.

Page 9: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Abstracções Oferecidas por um SO

I Utilizador (em especial em sistemasinteractivos);

I Processo;I Ficheiro.

Page 10: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Utilizador

I Essencial em sistemas interactivos.I Inclui entre outros os seguintes atributos:

I nome (username);I identidade (userid);I grupos (groupname e groupid).

I Em sistemas multiutilizador, o conceito de utilizador écentral para protecção de recursos (p.ex. ficheiros).

I O utilizador pode estar associado não só a uma pessoacomo a uma função, p. ex. correio electrónico.

Page 11: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Processo

I Representa um programa em execução.I Um programa é um objeto passivo, tipicamente guardado

em disco ou outros dispositivos de armazenamento dedados

I Um processo é um objeto activo, cujo estado varia àmedida que é executado

I Actualmente, quase todos os sistemas operativos sãomulti-processo (Linux, Windows XP, Windows Vista):

Um computador pode executar vários programasao “mesmo tempo”.

I Um processo está associado a um utilizador, o seu dono:aquele que invoca o programa correspondente.

A identidade do utilizador dono do processo deter-mina os recursos a que um processo pode aceder,bem como o tipo de operações que pode realizarsobre esses recursos.

Page 12: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Processos: Virtualização do Processador

I Um processo oferece a um programa a ilusão de que tem aoseu dispôr todos os recursos do computador;

I Inclusivamente, pode dar a ilusão de que o computador físicotem mais recursos. P.ex.;

I Mais memória do que a quantidade memória física existente.I Mais processadores do que o no de "cores" existentes

Page 13: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Exemplo de Virtualização de Processador por RemziArpaci-Dusseau

#include <stdio.h>#include <stdlib.h>#include <unistd.h>

int main(int argc, char *argv[]){if (argc != 2) {

fprintf(stderr, "usage: cpu <string>\n");exit(1);

}char *str = argv[1];while (1) {

printf("%s\n", str);usleep(1000000);

}return 0;

}

Page 14: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Exemplo de Virtualização de Memória por RemziArpaci-Dusseau

int main(int argc, char *argv[]) {if (argc != 2) {

fprintf(stderr, "usage: mem <value>\n");exit(1);

}int *p; // memory for pointer is on "stack"p = malloc(sizeof(int)); // malloc’d memory is on "heap"assert(p != NULL);printf("(pid:%d) addr of p: 0x%p\n",

(int) getpid(), &p);printf("(pid:%d) addr stored in p: 0x%p\n",

(int) getpid(), p);

*p = atoi(argv[1]); // assign value to addr stored in pwhile (1) {

usleep(1000000);

*p = *p + 1;printf("(pid:%d) value of p: %d\n", getpid(), *p);

}return 0;

}

Page 15: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Ficheiros

I Representam uma fonte/poço de informaçãoI Para o utilizador não técnico são uma abstração do disco

(e outros dispositivos de armazenamento de dados)I Podem contudo abstrair outros dispositivos de E/S

I Suportam três operações: leitura, escrita e execuçãoI Tipicamente organizados duma forma hierárquica, usando

directórios:Ficheiros que contêm outros ficheiros.

I Cada ficheiro/directório tem um utilizador que é o seudono

I Usado para controlo de acesso

Page 16: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

O SO como um Gestor de Recursos

Uma descrição alternativa do papel do SO

I Durante a sua execução, os programas fazem uso derecursos (CPU, memória, disco, . . . ).

I A maioria dos “computadores” executa várias aplicações(possivelmente) de diferentes utilizadores em simultâneo:

I O SO gere os recursos dum computador, facilitando a suapartilha entre diferentes aplicações.

I As aplicações não podem aceder directamente aosrecursos (todo o acesso é mediado pelo SO):

I Evita-se que as aplicações interfiram na gestão dos recursosI Protege-se os recursos afectados a cada utilizador de

acessos não autorizados por outros utilizadores

Page 17: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Serviços dum SO

I Suportam as abstracções oferecidas pelo SO.I Gerem os recursos do sistema.I Por exemplo:

I gestão de processos;I gestão de memória;I gestão de ficheiros e directórios;I gestão de dispositivos de entrada/saída;I comunicação através de rede;I detecção e notificação de eventos;I autenticação e controlo de acesso.

Page 18: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Serviços de Gestão de Processos

I Criação e destruição de processos.I Suspensão e retoma (continuação) dum processo.I Mecanismos para:

I sincronização de processos;I comunicação entre processos.

I Alteração do dono dum processo.

Um processo é essencialmente um programa em execução,assim estes serviços são de suporte à execução deprogramas.

Page 19: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Serviços de Gestão de Memória Principal

I Programas em execução exigem memória:I para o código;I para os dados.

I O SO tem que gerir a memória:I Alocação e libertação de memória.I Mapeamento de ficheiros na memória principal.I Outras funções usadas internamente pelo SO:

partilha da memória física entre diferentes processos eo próprio SO.

Page 20: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Serviços de Gestão de Ficheiros/Directórios

I Criação e destruição de ficheiros/directórios.I Leitura do conteúdo dum ficheiro

(listagem dos ficheiros/directórios num directório).I Alteração do conteúdo dum ficheiro/directório.I Alteração do nome dum ficheiro/directório.I Alteração de atributos (e.g. dono, permissões) dum

ficheiro/directório.I Vizualização de atributos dum ficheiro/directório.

Page 21: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Serviços de Autenticação e Controlo de Acesso

autenticação: validar a identidade dum utilizador. Éessencial para proteger o acesso a recursos.

controlo de acesso: limitar o acesso a recursos apenasàs entidades autorizadas a fazê-lo:

I pressupõe autenticação;I é um serviço transversal: abrange todos os outros

serviços.

Page 22: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Quais os Serviços dum SO?

I Será que um web browser faz parte do SO?I E um media player?I E um anti-virus?

Page 23: Sistemas Operativos: Introdução - Faculdade de Engenharia ...pfs/aulas/so2014/at/2intro_p1.pdfOrganização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços

Leitura Adicional

I Secções 1.1, 1.2 e 1.4 deJosé Alves Marques e outros, Sistemas Operativos,FCA - Editora Informática, 2009

I Secções 1.1, 1.5 deAndrew Tanenbaum, Modern Operating Systems, 2ndEd.

I Secções 1.1, 1.2, 1.6, 1.7, 1.8, 1.9, 2.1 e 2.2 deSilberschatz e outros, Operating System Concepts,7th Ed.

I Ch. 2: Introduction, de OS: Three Easy Pieces, deRemzi Arpaci-Dusseau e Andrea Arpaci-Dusseau

I Outra documentação (transparências e enunciadosdos TPs) na página da disciplina