SISTEMAS OPERATIVOS. SOFTWARE Conjunto de instruções ou programas capazes de fazerem funcionar o...
Transcript of SISTEMAS OPERATIVOS. SOFTWARE Conjunto de instruções ou programas capazes de fazerem funcionar o...
SISTEMAS OPERATIVOS
SOFTWARE
• Conjunto de instruções ou programas capazes de fazerem funcionar o HARDWARE
• 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.
UTILIZADORAPLICAÇÕ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óriaOs 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/OA 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
Maiorrapidez
Maiorcapacidade
Conceitos associados
Sistemas mono-programados e multi-programados
SistemaOperativo
Programa Programa 1
Dados
Programa 2
SistemaOperativo
Dados 1
Dados 2
SistemaMono-programado
SistemaMulti-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óriosdirectó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
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.
Procedimentoprincipal
Procedimentosde serviço
Procedimentosauxiliares
• 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ãode
Processos
Gestãode
MemóriaI/O
Sistemade
Ficheiros
Aplicações e utilizadores
Modelos de Sistemas Operativos
38
Modelo de um SO
• Modular (Cliente-Servidor)
Servidorde
Processos
Servidorde
Memória
Servidorde I/O
Servidorde
Ficheiros
ProcessoCliente
ProcessoCliente
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 asinformações, basta pressionara 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.
HardwareFirmWare
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
PLATAFORMAPC 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ésticoAs 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 multiplataformaSegue uma linha “Click and Go”
Sistemas Operativos
E claro os mais conhecidos…