O documento descreve as principais funções de um sistema operativo, incluindo gerir recursos de hardware, partilhar recursos com proteção, gerir processos concorrentes e informação persistente. Detalha também os tipos de software que funcionam com os sistemas operativos, como software de sistema e de aplicação, e discute brevemente mainframes, servidores, computadores pessoais e sistemas embebidos.
2. Resumidamente, um Sistema Operativo é um
programa ou conjunto de programas cuja função é
servir de Interface entre um computador e o utilizador
e gerir os recursos e componentes de hardware de
modo a tornar o computador mais eficiente para o
acesso do utilizador.
3. Mais detalhadamente, um SO tem várias funções tais como:
Partilha de recursos com protecção:
- físicos: processador, memória, discos, periféricos diversos;
- lógicos: programas de uso geral (editores, compiladores) e bibliotecas partilhadas por
diversos programas.
Gestão da concorrência – controlar diversos fluxos de actividade independentes que
se executam quot;em paraleloquot;, sem que os mesmos interfiram não intencionalmente.
Gestão de informação persistente – armazenamento fiável e seguro da informação
não volátil em suportes magnéticos, ópticos, etc.
Controlo dos gastos – contabilização e limitação da utilização dos recursos físicos.
4. Os computadores funcionam com
dois tipos de software:
• software de sistema ou sistema
operativo;
• software de aplicação.
5. Multiprocessadores
Mainframes Servidores
Computadores Pessoais Tempo Real Embebidos e Smart Cards
6. Um Mainframe é um computador de grande porte, dedicado normalmente
ao processamento de um volume grande de informações.
Os mainframes são capazes de oferecer serviços de processamento a milhares de
utilizadores utilizando para isso milhares de terminais conectados directamente a ele
ou através de uma rede.
O termo mainframe refere-se ao gabinete principal que alojava a unidade central de
processamento nos primeiros computadores.
Embora venham perdendo espaço para os computadores pessoais (PCs) e para as
estações de trabalho, de custo bem menor, ainda são muito usados em ambientes
comerciais e grandes empresas (Bancos, Empresas de aviação, Universidades, etc.),
bem como para processamento científico.
7. Características:
geralmente ocupam um grande espaço;
necessitam de um ambiente especial para seu funcionamento, que inclui
instalações de refrigeração (alguns usam refrigeração a água);
são capazes de realizar operações em grande velocidade e sobre um
volume muito grande de dados;
possuem uma grande capacidade de processamento, e uma grande
capacidade de armazenamento primário (memória primária de trabalho) e
secundário (unidades de armazenamento de dados e programas).
Actualmente o uso de Mainframes dá-se em processamento de dados
meteorológicos, universidades, centros de pesquisa, unidades governamentais,
bancos e outros sectores que demandam uma grande quantidade de dados
processados e que exigem rapidez.
Se quiser saber mais…
8. Correm em servidores que podem ser máquinas com grandes
capacidades, workstations ou mesmo mainframes.
Servem múltiplos utilizadores através da rede e permitem a
partilha de hardware ou de recursos de software.
Podem fornecer serviços de impressão, de ficheiros ou Web.
Hiperligações (Internet) :
9. Multiprocessamento é a capacidade de um sistema operativo executar
simultaneamente dois ou mais processos.
Pressupõe a existência de dois ou mais processadores.
Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se de
vários recursos, sendo o principal o compartilhamento de tempo de uso
do processador entre vários processos.
Hiperligações (Internet) :
10. Características:
Envolve dois ou mais processadores físicos (sejam processadores separados ou
múltiplos núcleos encapsulados no mesmo chip) ou lógicos (processador(es) com a
tecnologia HyperThreading da Intel) com o mesmo poder computacional e cada um
capaz de executar processos autonomamente. Isto implica que não há nenhuma
unidade central de controle; cada processador contém sua própria unidade de
controle. Assim, efectivamente, a lógica de controle é distribuída pelo sistema.
Os processadores compartilham um único espaço de endereçamento de memória.
O sistema de hardware é como um todo gerido por um único sistema operativo.
O sistema operacional com suporte a multiprocessamento deve ser capaz de suportar
multitarefa e de manter múltiplas filas de processos, uma para cada processador.
11. Este tipo de sistema operativo tem como objectivo servir
de interface para um único utilizador.
São largamente utilizados para tarefas comuns tais como
processamento de texto, desenho, acesso à Internet,
etc.
Os Sistemas Operacionais predominantes são Microsoft
Windows, Mac OS e Linux e as principais arquitecturas
são as baseadas nos processadores x86, x64 e
PowerPC.
Se quiser saber mais…
12. Sistemas de tempo real são sistemas cujas características dependem
do cumprimento de requisitos temporais e lógicos e onde as
consequências do não cumprimento desses mesmos requisitos
podem causar prejuízos nefastos, como sejam a segurança de
pessoas.
Nesta perspectiva, um Sistema Operativo de Tempo Real (SOTR) é uma
aplicação multitarefa na qual várias tarefas críticas devem ser
processadas em simultâneo. O sistema deve assegurar que as
tarefas críticas sejam tratadas em tempo útil.
Hiperligações (Internet) :
13. Este tipo de Sistema Operativo é nada mais nada
menos um ambiente gráfico contendo também
um conjunto reduzido de tarefas para permitir
uma maior interacção entre o utilizador e o
acessório/máquina – telecomandos, palmtop
ou PDA – PalmOS, Windows CE
Hiperligações (Internet) :
14. São Sistemas Operativos mais pequenos / pequenos CPUs – cartões de crédito.
Além de ser usado em cartões bancários e de identificação pessoal, é encontrado
também nos celulares GSM (o quot;chipquot; localizado normalmente atrás da bateria).
A grande diferença é que ele possui capacidade de processamento pois
embute um microprocessador e memória (que armazena vários tipos de
informação na forma electrónica), ambos com sofisticados mecanismos de
segurança.
É cada vez maior o número de cartões de crédito que utilizam a tecnologia.
Se quiser saber mais…
15. Em relação ao Utilizador:
fácil de utilizar e aprender
rápido e adequado às tarefas que se destina
A nível de Software:
manutenção
forma de funcionamento
restrições de utilização
eficiência
tolerância aos erros
flexibilidade
25. Conjunto de rotinas (procedimentos) que oferecem serviços aos
utilizadores/aplicações (bem como outras rotinas do próprio SO) –
núcleo do sistema ou kernel (cérebro).
Principais funções:
tratamento de interrupções;
criação e eliminação de processos;
sincronização e comunicação de processos;
escalonamento e controlo de processos;
gestão de memória;
operações de In/Out;
contabilização e segurança do sistema.
26. Um processo é um programa em execução.
Um processo tem associado o espaço de endereçamento:
onde pode ler e escrever;
contém o programa executável;
contém os dados do programa;
contém a informação acerca da stack associada;
contém informação sobre outros registos:
- program counter, stack pointer e outros registos de hardware,
contém todas as informações necessárias à execução do programa.
27. 1ª parte
System Calls
Chamadas do sistema – a porta de entrada que permite (ou não) o acesso ao
núcleo do S.O.
Constitui um conjunto de mecanismos de protecção do núcleo do sistema e de
acesso aos seus serviços – evita que uma aplicação realize uma operação que
danifique todo o S.O.
Quando um utilizador (ou processo) deseja solicitar algum serviço do sistema,
realiza uma chamada a uma das suas rotinas (ou serviços) através das system calls.
Para cada serviço existe uma system call associada e cada S.O. tem o seu conjunto
(biblioteca) de chamadas (nomes, parâmetros, formas de activação específicos)
O mecanismo é semelhante à chama de um procedimento/função num programa.
28. 2ª parte
System Calls
Podem ser divididos em grupos de função:
Gestão de processos:
Criação/eliminação de processos
Alteração das características do processo
Sincronização e comunicação entre processos
Gestão de memória:
Alocação e libertação de memória
Gestão de entrada/saída:
Operações de entrada/saída
Manipulação de arquivos e directórios
29.
30. Ficheiros
Mecanismo de abstracção que fornece soluções para armazenar e
recuperar informações em disco.
Para encontrar um espaço para os ficheiros, existe em muitos S.O.
o conceito de directório, que é a forma encontrada para agrupar
vários ficheiros.
31. Shell – Interpretador de comandos
Os editores, compiladores, montadores, ligadores e interpretadores de
comando não fazem parte do sistema operativo, apesar, de serem
softwares muito importantes e úteis. Esses comandos, quando
digitados pelos utilizadores, são interpretados pelo Shell, que verifica
a sua sintaxe, envia mensagens de erro e faz chamadas a rotinas do
sistema.
32.
33. Outras curiosidades…
Hiperligações:
(Internet)
História dos S.O.
Evolução dos S.O.