SISTEMAS OPERATIVOS
SOFTWARE
• Conjunto de instruções ou programas capazes de fazerem funcionar o HARDWARE
http://www.dicamatica.com/11d.htm
• Software de SISTEMA
• Software de APLICAÇÃO
SOFTWARE de APLICAÇÃO
• Engloba todos os programas que efectuam tarefas mas que não têm acesso directo aos recursos da máquina.
• Processadores de Texto, Folhas de Cálculo, Programas de Desenho, Jogos, entre outros.
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
Dispositivos físicos
Sistema Operativo
Aplicações Utilizador
Hardware
• Responsável por gerir os recursos de Hardware
• Tornar os recursos de Hardware acessíveis ao utilizador e ao Software de aplicação
• Composto por Utilitários de Sistema, Controladores de Dispositivos, Compiladores de Linguagem, entre outros
SISTEMA OPERATIVO
SISTEMA OPERATIVO
• 1ª camada (e indispensável ) de Software
• Gere o processador, memória, comunicação entre componentes internos e periféricos
• Controla e atribui recursos físicos da máquina segundo as solicitações das diversas aplicações
• Responsável pela organização e fiabilidade de armazenamento dos dados de uma forma hierárquica nos vários suportes de armazenamento.
UTILIZADOR
APLICAÇÕES
SISTEMA
OPERATIVO
INTERFACE
(Shell de comandos)
NÚCLEO
(Kernel)
Hardware
SISTEMA OPERATIVO
Funções do Sistema Operativo
Um sistema operativo possui as seguintes funções:
• gestão de processos;
• gestão de memória;
• sistema de arquivos;
• entrada e saída de dados.
Gestão de processos
• O sistema operativo multitarefa é preparado para dar a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que pensamos que a sua execução é simultânea.
• São utilizados algoritmos para determinar qual o processo que será executado em determinado momento e por quanto tempo.
Funções do Sistema Operativo
Gestão de memória
Os algoritmos de alocação de memória devem ter como objectivo reduzir a fragmentação da memória
• First Fit - Aloca o primeiro pedaço de memória livre que tenha espaço suficiente
• Best Fit - Aloca o pedaço de memória livre mais pequeno mas com espaço suficiente para conter os dados
• Worst Fit - Aloca o maior pedaço de memória livre
Funções do Sistema Operativo
Sistema de arquivos
• Funções do Sistema de Gestão de Ficheiros:
– Criar/Apagar ficheiros e directórios
– Operações de leitura e escrita em ficheiros
– Mapeamento dos ficheiros no disco
– Escalonamento do acesso ao disco
– Protecção de acesso aos ficheiros
Funções do Sistema Operativo
Gestão de I/O
A implementação das operações de I/O é complexa, uma vez que interactuam com o hardware dos dispositivos.
Uma das principais funções do SO é esconder as especificidades do hardware ao utilizador
– Implementado através de Device Drivers
Componentes de I/O:
– Sistema de buferização, caching e spooling
– Interface genérica para device drivers
– Device Drivers específicos
Funções do Sistema Operativo
• Parte visível do sistema operativo com a qual o utilizador interage
• CLI (“Command Line Interface”) – Ecrã de texto em que os comandos são
digitados manualmente através de uma linha de comando
• GUI (“Graphics User Interface”) – Interacção com o utilizador é feita
através de um ambiente gráfico
– Comandos inseridos através de acções com outros dispositivos (rato, touchpad...) para além do teclado
SISTEMA OPERATIVO
Conceitos associados
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
Conceitos de processador e processo
• 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
– Os processos concorrem pelo processador e cooperam entre si para realizar tarefas mais complexas
17
• Processador e Processos
– Processador (CPU)
• Elemento activo do sistema que executa processos
– Modo utilizador (User Mode)
• 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
Conceitos de processador e processo
Conceitos associados
• 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
– Hierarquia da memória
Registos
Cache
Memória principal
Discos
Tapes
Maior
rapidez
Maior
capacidade
Conceitos associados
Sistemas mono-programados e multi-programados
Sistema
Operativo
Programa Programa 1
Dados
Programa 2
Sistema
Operativo
Dados 1
Dados 2
Sistema
Mono-programado
Sistema
Multi-programado
Memória principal Memória principal
Conceitos associados
Sistemas de ficheiros
– 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
Conceitos associados
– Estrutura hierárquica (em árvore) - directórios
directório raíz
(root)
Trabalhos Jogos
AC SO Quake Half-Life
trab1.txt prog.cpp trabf.doc
Conceitos associados
• 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
Conceitos associados
Sistemas Operativos
Classificação
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
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
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
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
Arquitectura
• Quando se desenvolve um sistema operativo, são obrigatoriamente observados pelo menos dois tipos de requisitos:
– REQUISITOS DE UTILIZADOR
Procura-se um sistema fácil de utilizar, com uma aprendizagem fácil, rápido e suficientemente dinâmico para se adaptar às tarefas a que se destina.
– REQUISITOS DE SOFTWARE
Procura-se facilidade de manutenção, forma de funcionamento, restrições de utilização, eficiência, tolerância ou intolerância a erros e flexibilidade.
Arquitectura
• Para além dos requisitos a observar, também a sua estrutura varia, sendo as estruturas mais comuns:
– Estrutura MONOLÍTICA
– Estrutura MODULAR
Arquitectura
• Estrutura MONOLÍTICA
É o tipo de estrutura que caracterizava os primeiros sistemas operativos, composto por um único programa e sub-rotinas. As suas características são: – Programa Final resultado da Linkagem de módulos
compilados separadamente
– Boa definição de parâmetros de ligação entre rotinas o que permite índices maiores de acoplamento.
– Precisam de protecções e previlégios de execução das rotinas de manipulação de recursos de sistema
– Geralmente são sistemas desenvolvidos à medida, o que resulta numa elevada eficiência mas baixa flexibilidade.
Arquitectura
• Estrutura MONOLÍTICA
Procedimento Principal
Nível de Procedimento
Principal
Nível de Procedimento
de Serviços
Nível de Procedimento
de Utilidades e Utilitários
Modelos de Sistemas Operativos
• Monolítico – O exemplo mais comum de sistema operativo, no qual
aparentemente não existe estrutura...
– Qualquer função do sistema operativo pode comunicar com qualquer uma das outras.
Procedimento
principal
Procedimentos
de serviço
Procedimentos
auxiliares
• 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
Modelos de Sistemas Operativos
• Camadas (Layers)
Gestão de processos
Gestão de memória
Comunicação e I/O
Sistema de ficheiros
Chamadas ao sistema
Hardware
Aplicações e utilizadores
Modelos de Sistemas Operativos
• 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
Modelos de Sistemas Operativos
• Modular
Micro-Kernel
Chamadas ao sistema
Hardware
Gestão
de
Processos
Gestão
de
Memória
I/O
Sistema
de
Ficheiros
Aplicações e utilizadores
Modelos de Sistemas Operativos
38
Modelo de um SO
• Modular (Cliente-Servidor)
Servidor
de
Processos
Servidor
de
Memória
Servidor
de I/O
Servidor
de
Ficheiros
Processo
Cliente
Processo
Cliente
Micro-Kernel
Modo Utilizador
Modo Núcleo
Mensagens
Sistemas Operativos
• Como vimos, o Hardware de um computador comporta a possibilidade de executar diferentes funções mediante as instruções que lhe são fornecidas
• Quando o Computador é ligado, a CPU vai à primeira posição de memória procurar as primeiras instruções que deve executar.
• A primeira posição de memória está alojada em ROM e o código chama-se Firmware
• O Firmware contém as instruções necessárias ao arranque da máquina e serve de base para o funcionamento do Sistema Operativo
Por definição, o BIOS (Basic Input Output System) ou Sistema Básico de Entrada e Saída é um circuito ROM no qual residem as instruções básicas necessárias para o arranque do sistema.
É possível alterar alguns parâmetros de configuração de baixo nível acedendo ao setup da BIOS, durante o arranque.
Sistemas Operativos
Quando inicializamos o sistema, a BIOS conta a memória disponível, identifica dispositivos plug-and-play e realiza uma verificação geral dos componentes instalados. Este procedimento é chamado POST e destina-se a verificar se existe algo de errado com algum componente, além de verificar se foi instalado algum dispositivo novo. Somente após o POST, a BIOS entrega o controle do computador ao Sistema Operativo.
Sistemas Operativos
Surge então a mensagem: “Iniciando o Windows .....”, dependendo do sistema operativo instalado. Após o término do POST, a BIOS emite um relatório com várias informações sobre o hardware instalado. Este relatório é uma maneira fácil e rápida de verificar a configuração de um computador. Para parar a imagem tempo suficiente para conseguir ler as
informações, basta pressionar
a tecla “pause/break”.
Sistemas Operativos
Sistemas Operativos
As configurações da BIOS encontram-se guardadas na CMOS, Complementary Metal Oxide Semicondutor, que é uma memória volátil (perde os dados quando deixa de ser alimentada electricamente), é composta por cerca de 128 ou 256 bytes de RAM. Sempre que o computador é ligado a BIOS lê a CMOS recebendo então os valores guardados.
Na BIOS reside a primeira camada de software de sistema (o Firmware) que é responsável pelas configurações iniciais da máquina e o reconhecimento dos vários subsistemas (CPU, FD e HDs, Memória,
sistema de vídeo…)
Sistemas Operativos
Entre outras funções o papel mais importante do BIOS é o
carregamento do sistema operativo. Quando o computador é
ligado e o microprocessador tenta executar a primeira
instrução, ele tem que obtê-la de algum lado. Não é possível
obter essa instrução do sistema operativo, porque este está
localizado no disco rígido, e o microprocessador não pode
comunicar com ele sem que algumas instruções o digam
como fazê-lo. É o BIOS o responsável por fornecer essas
instruções.
Sistemas Operativos
Quando o computador é ligado, o BIOS segue a seguinte sequência:
1. Verifica as informações armazenadas numa pequenissima
memória RAM, que se localiza num chip fabricado com
tecnologia CMOS. A memória CMOS armazena informações
relativas à configuração de hardware, que podem ser alteradas
de acordo as mudanças do sistema. Essas informações são
usadas pelo BIOS para modificar ou complementar a
sua programação padrão, conforme
necessário.
Sistemas Operativos
2. POST (Power-On Self-Test ou Autoteste de Arranque),
que são os diagnósticos e testes realizados aos
componentes físicos (disco rígido, processador, etc). Os
problemas são comunicados por uma combinação de
sons (bipes) numa determinada sequência e se
possível, exibidos no ecrã. O manual do fabricante
permite a identificação do problema descrevendo a
mensagem que cada sequência de sons representa.
Sistemas Operativos
3. Activação de outros BIOS presentes em dispositivos
instalados no computador (ex. discos SCSI e placas de
vídeo).
4. Descompactação para a memória principal. Os dados,
armazenados numa forma compactada, são
transferidos para a memória, e só aí descompactados.
Isso serve para evitar a perda de tempo na
transferência dos dados.
Sistemas Operativos
5. Leitura dos dispositivos de armazenamento, cujos
detalhes e ordem de inicialização são armazenados na
CMOS. Se há um sistema operativo instalado no
dispositivo, no seu primeiro sector (o Master Boot
Record) estão as informações necessárias para o BIOS
a encontrar (este sector não deve exceder 512 bytes).
Sistemas Operativos
• Códigos de erro da BIOS
Sistemas Operativos
• Códigos de erro da BIOS
Sistemas Operativos
Sistemas Operativos
• Uma vez carregado em memória, o Sistema Operativo assume o controlo da máquina funcionando como uma interface entre os programas/utilizadores e a camada de hardware.
Hardware
FirmWare
Sistema Operativo
Utilizadores
Aplicações
Sistemas Operativos
• Ao assumir o controlo de hardware, o Sistema Operativo passa a ter de garantir alguns serviços às camadas superiores, tendo por isso que desempenhar algumas tarefas, tais como:
– Gerir tempo de processador atribuído
– Gerir o espaço de memória a alocar
– Estabelecer um modelo de organização de informação que seja eficiente no que respeita à utilização dos dispositivos de armazenamento.
– Gerir as permissões de acesso e garantir a segurança de dados bem como a sua integridade
Sistemas Operativos
• Como todos sabemos a arquitectura dos sistemas informáticos é digital e binária, pelo que no seu estado original, a informação está presente na forma de 0 e 1.
• Como esta representação não é facilmente compreendida pelo utilizador, é também tarefa do S.O. Organizar a informação de acordo com os códigos humanos.
• Desta forma, a informação é geralmente organizada em contentores (ou pastas) e arquivos organizados e identificados segundo o seu conteúdo.
Sistemas Operativos – MS-DOS
• No que respeita ao mercado doméstico, foram várias as gerações e tipos de Sistemas Operativos, no entanto, alguns destacaram-se pela sua utilização massificada…
• Um desses casos é o velhinho MS-DOS
Sistemas Operativos – MS-DOS
• O MS-DOS (Microsoft Disk Operating System) foi o primeiro SO da Microsoft e cabia numa disquete
• Era um sistema mono-utilizador e mono-tarefa
Sistemas Operativos
• O UNIX é um sistema desenvolvido na década de 70 que tem a particularidade de, à semelhança do MS-DOS, ter uma CLI mas era já um sistema multi-utilizador e multi-tarefa.
• Para ter um GUI, o sistema permite a utilização de um componente (aplicação) denominado de servidor X que nada mais é do que a representação gráfica do interface de comandos.
• Mas existem outros, como por exemplo:
Sistemas Operativos
AmigaOS
PLATAFORMA Computadores AMIGA
CARACTERÍSTICAS SMP – Symetric Multiprocessing
COMPOSIÇÂO Kernell + Bibliotecas de 32 bits
É considerado, devido ao seu tempo de resposta, como um
Sistema Operativo “em Tempo Real”
Sistemas Operativos
BeOS
PLATAFORMA PC com processador INTEL ou compativel
(x86)
CARACTERÍSTICAS Sistema Modular (pagam-se os módulos)
COMPOSIÇÂO Um único ficheiro na pasta windows
É distribuído gratuitamente na sua versão não comercial
Sistemas Operativos
FreeBSD
PLATAFORMA x86, DEC Alpha, IA-64, UltraSpark
CARACTERÍSTICAS Deriva do BSD Unix (Univ. da Califórnia)
COMPOSIÇÂO Kernell + Bibliotecas de 32 bits
Sistema gratuito mesmo para uso comercial - funciona tanto em
estações de trabalho como em servidores - é um sistema open source
Sistemas Operativos
Linux
PLATAFORMA x86, DEC Alpha, UltraSpark, MIPS e Power PC
CARACTERÍSTICAS Apenas o Kernell é Linux, o S.O. Chama-se GNU/Linux
COMPOSIÇÂO Kernell + Aplicativos GNU
DISTRIBUIÇÕES Red Hat, Suse, Caldera, Corel, Slackware, Mandrake, Debian…
INTERFACES
GRAFICOS Gnome, KDE, Window Maker, Enlightment, Blackbox, Afterstep …
Sistema opensource (código aberto) e muito robusto.
Tem vindo a ganhar terreno no que respeita ao utilizador doméstico
As aplicações estão directamente relacionadas com a distribuição / interface gráfico usado
Sistemas Operativos
MacOS (X)
PLATAFORMA Computadores Apple (MACs) – worstation e server
CARACTERÍSTICAS Desenvolvido a partir de UNIX
COMPOSIÇÂO Kernell + Bibliotecas de 32 bits
Graficamente é um sistema muito apelativo - O próprio sistema é
acompanhado de aproximadamente 5.000 aplicações - O sistema consegue
emular o Windows e correr aplicações para PC – Sistema de rede
multiplataforma
Segue uma linha “Click and Go”
Sistemas Operativos
E claro os mais conhecidos…