Você está na página 1de 12

História dos sistemas operativos ..................................................................................

4
Evolução dos Sistemas Operativos............................................................................... 5
Processamento Série ................................................................................................................................... 5
Monitor de Controlo ...................................................................................................................................... 5
Processamento em Lotes (Batch) .............................................................................................................. 6
Multiprogramação ......................................................................................................................................... 7
Componentes de um Sistema de Computação ............................................................. 8
Arquitectura dos Sistemas Operativos .......................................................................... 9
Módulos de um Sistema Operativo .......................................................................................................... 10
Estrutura e configuração Gestão de Processos ................................................................................................................................. 10
Processador, Programa e Processo ........................................................................................................ 10
de sistemas operativos Processos .................................................................................................................................................... 11
monoposto
Gestão de Processos ................................................................................................................................. 12
Gestão da Memória .................................................................................................................................... 13
Gestão da Memória Principal.................................................................................................................... 13
Gestão da Memória Secundária ............................................................................................................... 13
Memória Virtual ........................................................................................................................................... 14
Protecção do Sistema ................................................................................................................................ 15
Chamadas ao Sistema................................................................................................ 15
Serviços de um Sistema Operativo ............................................................................. 15
Estrutura por Camadas ............................................................................................... 17
Estrutura de ficheiros .................................................................................................. 17
Sistema de Ficheiros .................................................................................................................................. 17
Prof. Fernando Filipe Teixeira Gestão de Ficheiros ................................................................................................................................... 18
Beja 2010 Funções do Sistema de Gestão de Ficheiros: ................................................................................... 18
Gestão de I/O .......................................................................................................................................... 19
1/24 2/24
Tipos de ficheiros ........................................................................................................................................ 19
Acesso aos ficheiros .................................................................................................................................. 20 História dos sistemas operativos
Atributos dos ficheiros ................................................................................................................................ 20
Directórios .................................................................................................................. 21 No início da computação os primeiros "sistemas operativos" eram únicos, pois cada mainframe
vendido necessitava de um sistema operativo específico, devidas as arquitecturas diferentes e da
Sistemas de directórios num nível ........................................................................................................... 21 linguagem de baixo nível
Sistemas de directórios em dois níveis ................................................................................................... 21 Após essa fase, iniciou-se a pesquisa de sistemas operativos que automatizassem a troca de
tarefas (jobs), pois os sistemas eram mono-posto e tinham cartões perfurados como entrada
Sistemas de directórios hierárquicos ....................................................................................................... 21
(eliminando, assim, o trabalho de pessoas que eram contratadas apenas para trocar os cartões
Nomes dos caminhos................................................................................................................................. 21 perfurados).
Implementação do sistema de ficheiros ...................................................................... 22
Esquema do sistema de ficheiros ............................................................................... 22 Um dos primeiros sistemas operativos de propósito geral foi o CTSS, desenvolvido no MIT. Os
laboratórios Bell da AT&T e a General Eletric desenvolveram o Multics, cujo objectivo era suportar
Implementação de ficheiros ........................................................................................ 22 centenas de utilizadores. Apesar do fracasso comercial, o Multics serviu como base para o estudo
e desenvolvimento de sistemas operativos. Um dos desenvolvedores do Multics, Ken Thompson,
Implementação de directórios ..................................................................................... 23 começou a reescrever o Multics num conceito menos ambicioso, criando o Unics (em 1969), que
mais tarde passou a chamar-se Unix.
Fiabilidade do sistema de ficheiros ............................................................................. 23
Os sistemas operativos eram geralmente programados em assembly, até mesmo o Unix no seu
Desempenho do sistema de ficheiros ......................................................................... 24
início. Dennis Ritchie (também da Bell) criou a linguagem C, posteriormente, Thompson e Ritchie
Exemplos de sistemas de ficheiros.......................................................................................................... 24 reescreveram o Unix em C. O Unix criou um ecossistema de versões, onde destacam-se: System V
e derivados (HP-UX, AIX); família BSD (FreeBSD, NetBSD, OpenBSD, etc.), Linux e até o Mac OS
Sistemas de ficheiros para CD-ROM................................................................................................... 24 X (que deriva do Mach e FreeBSD).
O sistema de ficheiros do MS-DOS ..................................................................................................... 24
O sistema de ficheiros do Windows 98 ............................................................................................... 24 Na década de 1970, como o surgimento dos computadores pessoais, houve a necessidade de um
sistema operativo de utilização mais fácil. Em 1980, William (Bill) Gates e seu colega de faculdade,
O sistema de ficheiros do Unix V7 ....................................................................................................... 24 Paul Allen, fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty Operating
System") de Tim Paterson batizam-no de DOS (Disk Operating System) e vendem licenças à IBM.
O DOS foi vendido, como o sistema operativos padrão para os computadores pessoais
desenvolvidos pela IBM.
No começo da década de 1990, um estudante de computação finlandês desenvolveu um kernel de
sistema operativo. Este estudante chamava-se Linus Torvalds e o primeiro passo em direcção ao
tão conhecido Linux foi dado naquele momento.
3/24 4/24
• Rotinas utilitárias para o controlo de periféricos: consola; leitor de cartões;
Evolução dos Sistemas Operativos
leitor/perfurador de fita de papel; bandas magnéticas
• Processamento Série (Serial Processing)
• Monitor de Controlo
Processamento em Lotes (Batch)
• Processamento em Lotes (Batch)
• Automatizavam a sequência de operações que envolvem a execução de um programa:
• Multiprogramação
o O programa era enviado ao operador do computador
o O operador junta o programa ao conjunto de programas existentes, criando um lote
Processamento Série o Cada lote de programas era executado sequencialmente pelo computador
o Os resultados eram fornecidos ao operador à medida que os programas iam
• Máquinas simples, sem qualquer tipo de sistema operativo acabando
• Os programas eram introduzidos pelo utilizador e depois executados pela máquina • A memória estava dividida em duas partes:
• Input através de cartões perfurados o Sistema Operativo do computador
• Output (saída) através de lâmpadas o Lote de programas que estava a correr
• Baixa produtividade era sempre necessário introduzir tudo à mão
• Todas as operações tinham que ser definidas pelos programas
Monitor de Controlo
• Atribuição a cada utilizador de quotas de tempo de utilização da máquina.
• Permitia ao utilizador carregar os seus programas em memória, editá-los e verificar a
sua execução
• No final da sessão guardavam os programas e resultados sob a forma de listagens,
fitas de papel perfuradas ou, nos sistemas mais evoluídos, em fita magnética
• Rotinas de Input/Output (Entrada/Saída) reutilizáveis
• Interpretador de uma linguagem de comando que permite fazer executar os módulos
• Compilador
• Tradutor de linguagem simbólica (Assembler)
• Editor de ligações (Linker)
• Carregador de programas em memória (Loader)
5/24 6/24
Multiprogramação Componentes de um Sistema de Computação
• Solução que permite que diversos programas estejam simultaneamente activos. • Recursos Físicos
• Os diversos programas necessitam de estar na memória principal para mudar de o Fornece os recursos computacionais base (CPU, memória, dispositivos de E/S).
contexto/estado
• Sistema Operativo
o Controla e coordena o uso dos recursos entre os diversas programas, dos diversos
utilizadores.
• Programas
o Definem as formas de utilização do sistema com o objectivo de resolver os
problemas concretos dos utilizadores (compiladores, sistemas de bases de dados,
jogos, processadores de texto).
• Utilizadores
o (pessoas, máquinas, outros computadores)
7/24 8/24
Arquitectura dos Sistemas Operativos Módulos de um Sistema Operativo
Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável • Gestão de Processos
pela gestão eficiente de todos os recursos da máquina. Composto por um conjunto de camadas • Gestão da Memória Principal
funcionais (módulos).
• Gestão de Ficheiros
Cada módulo constitui um nível de abstracção que implementa uma máquina virtual com uma
interface bem definida • Gestão de Input/Output
As principais funções de um sistema operativo estão estruturadas em camadas. • Gestão da Memória Secundária
O uso de arquitecturas modulares facilita o desenvolvimento de funcionalidades por camadas. • Gestão de Rede
• Protecção do Sistema
• Interpretador de Comandos
Gestão de Processos
• Processos:
o Cada processo pode ser considerado como um programa em execução
o Abstracção do SO que contém dados referentes ao código a executar, às variáveis,
à pilha (stack), às áreas de memória, aos parâmetros, etc.
• Exemplos:
o Comandos ou programas em execução
o Shell
o Processos do sistema: syslog, rpciod, etc
Processador, Programa e Processo
• O processador é o local onde é executada toda a actividade do sistema.
• Um Programa é um conjunto de instruções armazenadas num ficheiro
• Um Processo é uma instância de um programa em execução, mas um programa pode
ser constituído por vários processos
9/24 10/24
Processos Durante a execução, um processo muda de estado
• Um Processo define:
o Um processo é um programa em execução. Um processo necessita de certos
recursos, incluindo tempo de CPU, memória, ficheiros e dispositivos de E/S para
levar a cabo a sua tarefa.
o Um conjunto de operações
o Operações elementares, normalmente um subconjunto das instruções do
processador
o Operações de interacção com outros processos
o Um espaço de endereçamento
o Um processo executa-se dentro de um espaço de endereçamento bem delimitado,
evitando que possa actuar de forma indevida com os outros processos ou com o
Gestão de Processos
próprio Sistema Operativo
• Sistema Operativo fornece serviços para:
o Criação e eliminação de processos
o Escalonamento (dispor em escalão) de processos (multiprogramação)
o Tratamento das interrupções
o Mecanismos para sincronização de processos
o Mecanismos para a comunicação de processos
11/24 12/24
Gestão da Memória Memória Virtual
• Memória corresponde a uma grande colecção de bytes, cada um com endereço • Espaço de endereçamento que engloba a memória primária e secundária.
próprio.
• Tira partido do facto do espaço disponível na memória secundária ser muito superior.
• Um programa deve ser carregado para a memória e colocado dentro de um processo
para que possa ser executado • Permite a execução de programas maiores do que a memória principal.
Gestão da Memória Principal
• Funções do Sistema de Gestão da Memória Principal:
• Registo actualização das zonas de memória sob utilização.
• Decisão sobre os processos a carregar em memória face ao espaço
• Reserva e liberta espaço de memória
• Controla a utilização da memória física
• Cada posição de memória, byte ou word é endereçada individualmente
• A memória é utilizada para armazenar:
o Código referente a processos
o Dados e a stack referente a cada processo
o Comunicação com os dispositivos de I/O
Gestão da Memória Secundária
• Visto que a memória principal é volátil e pequena para armazenar todos os dados e
programas de uma forma permanente
o A memória secundária permite o armazenamento permanente de dados e programas
o A maioria dos computadores modernos utiliza discos rígidos como forma de memória
secundária
• O Sistema Operativo disponibiliza serviços para:
o Gestão do espaço livre em memória
o Reserva de espaço em memória
13/24 14/24
Protecção do Sistema o User-oriented
 Execução de programas
O Sistema Operativo permite controlar o acesso pelos programas e processos aos recursos do  Carregamento de um programa para memória, alocando os recursos
sistema, autorizando ou não o acesso, assim como, o tipo de permissões atribuídas necessários e executa-lo
Exemplos:  Fornece os serviços para a comunicação entre processos residentes na
mesma máquina
• Sistema de ficheiros
 Fornece os serviços para a comunicação entre processos residentes em
• Acesso a dispositivos de I/O
máquinas diferentes
• Restrição de acesso a áreas de memória de outros processos
o System-oriented
• Detecção de erros (evitando a propagação do erro aos restantes processo em
 Alocação de recursos
execução)
 Alocação de recursos para vários processos em execução simultânea
 Previne que processos de utilizadores diferentes interfiram uns com os
Chamadas ao Sistema outros, ou com o SO
 Alocação de memória
Mecanismo usado pelo programa para requisitar um serviço do sistema operativo como:  Impressoras, etc.
• Controlo de processos  Monitorização do sistema
• Gestão de ficheiros
• Permite recolher informação sobre a utilização do sistema
• Gestão de dispositivos
• Para monitorização do funcionamento do sistema:
• Gestão de informação
• Comunicações
Serviços de um Sistema Operativo
O principal objectivo de um S.O. é o de fornecer um ambiente adaptado à execução de programas.
• O S.O. disponibiliza serviços para:
o Execução de programas
o Operações de I/O (Entradas/Saídas)
o Manipulação de ficheiros
o Comunicação
o Detecção de erros
15/24 16/24
Estrutura por Camadas
A estrutura de directórios permite gerir e organizar o conjunto de ficheiros existentes num
volume.
O S.O. é dividido em várias camadas, cada uma delas fornece serviços apenas à camada
imediatamente por cima São possíveis muitas formas de organização. A mais comum é em árvore com um número
arbitrário de níveis
Estrutura de ficheiros
Os ficheiros podem ser estruturados de várias maneiras.
Gestão de Ficheiros
• O sistema operativo trata os ficheiros como uma sequência de bytes.
• Um ficheiro é uma sequência de registos de tamanho fixo, cada um com alguma O Sistema Operativo fornece uma visão uniforme do sistema de ficheiros, independentemente a
estrutura interna. tecnologia utilizada.
• Um ficheiro é constituído de uma árvore de registos, não necessariamente todos do
mesmo tamanho, cada um contendo um campo chave em uma posição fixa no registo.
Funções do Sistema de Gestão de Ficheiros:
Sistema de Ficheiros • Criar/Apagar ficheiros e directórios
• Operações de leitura e escrita em ficheiros
Um ficheiro é uma colecção de informação relacionada, identificada por um nome. Normalmente,
• Mapeamento dos ficheiros no disco
os ficheiros representam programas ou dados.
• Escalonamento do acesso ao disco
• Propriedades dos ficheiros:
• Protecção de acesso aos ficheiros
o Nome; Tipo; Local; Tamanho; Segurança; Data; Dono
• Operações sobre ficheiros:
o Criação; Escrita; Leitura; Posicionamento; Eliminação
17/24 18/24
Gestão de I/O Acesso aos ficheiros
A implementação das operações de I/O é complexa, uma vez que interactuam com o hardware • Os primeiros sistemas operativos forneciam somente um tipo de acesso aos ficheiros:
dos dispositivos.
o Acesso sequencial; em que um processo para ler o ficheiro implicava ter de começar
Uma das principais funções do S.O. é esconder as especificidades do hardware ao utilizador no início e terminar no fim. Não podendo saltar dentro do ficheiro.
• Implementado através de Device Drivers o Acesso aleatório; em que os ficheiros cujos bytes ou registos podem ser lidos em
qualquer ordem. Nos sistemas operativos modernos todos os seus ficheiros são
• Componentes de I/O automaticamente de acesso aleatório.
• Sistema de buffer, caching e spooling
• Interface genérica para device drivers
Atributos dos ficheiros
• Device Drivers específicos Gestão da Memória Secundária
• Atributos de um ficheiro são informações extra que o sistema operativo associa ao
ficheiro, tais como a data e a hora da criação do ficheiro.
Visto que a memória principal é volátil e pequena para armazenar todos os dados e programas de
uma forma permanente • Os flags são bits ou campos pequenos que controlam ou habilitam alguma característica
mais específica.
A memória secundária permite o armazenamento permanente de dados e programas
• As várias datas indicam quando o arquivo foi criado, quando foi a última vez que foi
A maioria dos computadores modernos usa discos rígidos como forma de memória secundária acedido, quando foi modificado pela última vez.
O Sistema Operativo disponibiliza serviços para:
• Gestão do espaço livre em memória
• Reserva de espaço em memória
• Escalonamento dos acessos à memória
Tipos de ficheiros
• Os ficheiros regulares são aqueles que contêm informação do utilizador. Os directórios
são ficheiros do sistema que mantêm a estrutura do sistema de ficheiros.
• Os ficheiros especiais de caracteres são relacionados com a entrada /saída e utilizados
para modelar dispositivos de Entrada/Saída. Os ficheiros especiais de blocos são
utilizados para modelar discos.
19/24 20/24
o nome de caminho relativo (quando se está num directório, podemos chamar apenas
Directórios
pelo nome do ficheiro).
Sistemas de directórios num nível
Implementação do sistema de ficheiros
• A maneira mais simples de sistema de directório é ter um directório contendo todos os
ficheiros.
Esquema do sistema de ficheiros
• O problema de existir somente um directório em um sistema com vários utilizadores é
que, diferentes utilizadores podem criar um arquivo com o mesmo nome e então um
sobrepõe o outro. • Os sistemas de ficheiros são armazenados em discos.
• O sector 0 do disco é chamado de MBR (master boot record) e é utilizado para iniciar o
computador. O fim da MBR contém a tabela de partição, que indica os endereços
Sistemas de directórios em dois níveis iniciais e finais de cada partição. Uma das partições na tabela é marcada como activa,
quando o computador é iniciado, a BIOS lê e executa a MBR.
• Para evitar conflitos causados por diferentes utilizadores escolhendo o mesmo nome
para os seus ficheiros, o próximo passo é oferecer a cada utilizador um directório
privado.
Implementação de ficheiros
• Os utilizadores podem ter acesso somente a ficheiros no seu próprio directório.
• Uma das questões mais importante na implementação de armazenamento de ficheiros,
seja a manutenção do controle de quais blocos de discos estão relacionados a que
Sistemas de directórios hierárquicos ficheiros. São utilizados vários métodos em diferentes sistemas operativos:
o Alocação contígua – É simples de implementar e o desempenho da leitura é
• A hierarquia em dois níveis elimina os conflitos de nomes entre os utilizadores, mas não excelente, pois todo o ficheiro pode ser lido do disco em uma única operação. O
é satisfatória para os utilizadores com um grande número de ficheiros. Os utilizadores ponto fraco é que ao longo do tempo o disco fica fragmentado.
que pretendem ter as coisas organizadas.
o Alocação por lista encadeada – Mantém cada ficheiro como uma lista encadeada de
• A capacidade de os utilizadores poderem criar um número arbitrário de subdirectórios blocos de disco. A primeira palavra de cada bloco é utilizada como ponteiro para
propícia uma ferramenta poderosa de estruturação para organizar o seu trabalho. um próximo. O restante do bloco é utilizado para dados. Nenhum espaço é perdido
pela fragmentação. Ponto fraco: o acesso aleatório é bastante lento.
o Alocação por lista encadeada utilizando uma tabela na memória – As desvantagens
Nomes dos caminhos da alocação por lista encadeada podem ser eliminadas colocando cada palavra de
cada bloco de disco em uma tabela na memória. Essa tabela na memória é
chamada FAT. A principal desvantagem deste método é que toda a FAT deve estar
• Quando o sistema de ficheiros é organizado como uma árvore de directórios, é preciso na memória o constantemente.
algum modo de especificar o nome dos ficheiros.
o L-nodes Associa a cada ficheiro uma estrutura e dados chamada (i-node), que
• Existem dois métodos de chamar os ficheiros: relaciona os atributos e os endereços em disco dos blocos de arquivo.
o nome de caminho absoluto (caminho completo do ficheiro).
21/24 22/24
Implementação de directórios Desempenho do sistema de ficheiros
• A principal função do sistema de directórios é mapear o nome do ficheiro em ASCII, • O acesso ao disco rígido é muito mais lento que o acesso à memória. Muitos sistemas
informação necessária para localizar os dados. de ficheiros foram projectados para melhorar esse acesso:
• Existem duas maneiras de tratar nomes longos de ficheiros em um directório. o Cache de blocos – Uma cache é uma colecção de blocos que do ponto de vista
lógico pertencem ao disco, mas são mantidos em memória para fins de
o Em linha – Cada entrada do directório tem uma parte fixa, seguida dos dados com desempenho.
um formato fixo e que normalmente inclui os atributos. Esse cabeçalho é seguido
pelo nome do ficheiro, por mais longo que possa ser. o Leitura antecipada dos blocos – Tenta transferir antecipadamente para a cache
antes que sejam necessários.
o Em uma área temporária – As próprias entradas de directório são de tamanho fixo e
juntam-se nomes de ficheiros em uma área temporária no final do directório. É o Redução do movimento do braço do disco rígido – Posiciona os blocos que estão a
criado um ponteiro de cada ficheiro para o seu nome na área temporária. ser acedidos próximos uns dos outros para que o braço ande pouco.
Fiabilidade do sistema de ficheiros Exemplos de sistemas de ficheiros
Sistemas de ficheiros para CD-ROM
• Cópias de segurança – Fazer uma cópia de segurança leva muito tempo e ocupa uma o ISSO 9660 – Um dos objectivos desse padrão era tornar possível aos CD-ROM
grande quantidade de espaço. É melhor fazer cópias de segurança de directórios serem lidos por todos os computadores, independentemente da ordem em que os
específicos. bytes são armazenados e do sistema operativo que estiver a ser utilizado.
• Consistência do sistema de ficheiros – Os sistemas de ficheiros lêem os blocos,
modificam o seu conteúdo e só depois os escrevem. Caso essa operação corra mal a
maioria dos sistemas operativos possui um utilitário para tratar do problema. O Unix tem O sistema de ficheiros do MS-DOS
o fsck e o Windows o scandisk. o O sistema de arquivos FAT16 foi criado para lidar com arquivos em uma unidade de
disquete
O sistema de ficheiros do Windows 98
o O sistema de arquivos FAT32 é apenas uma extensão do sistema de arquivos
original FAT16. Oferece um maior número de clusters por partição. Melhora a
utilização geral do disco quando comparado a um sistema de arquivos FAT16
O sistema de ficheiros do Unix V7
o Sistema de ficheiros Ext3 possui uma excelente performance na gestão de dados,
no que diz respeito ao armazenamento, as alocações e actualizações de
informações.
23/24 24/24