Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
numa visão de cima para baixo (top-down): é uma abstração do hardware, fazendo o
papel de intermediário entre os programas (software) e os componentes físicos do
computador (hardware); ou
numa visão de baixo para cima (bottom-up): é um gerenciador de recursos, i.e., que
controla as aplicações (processos) a executar, como, quando e com quais recursos
(memória, disco, periféricos).
Um sistema operacional é projetado para ocultar as particularidades de hardware (ditas
"de baixo nível") e, com sua atuação, criar uma máquina abstrata que fornece às
aplicações serviços compreensíveis ao usuário (ditas "de alto nível")[2].
Índice
1História
2Visão geral
3Sistemas operacionais modernos
4Estrutura em camada
5Funcionamento
o 5.1Gerenciamento de processos
o 5.2Gerenciamento de memória
5.2.1Swapping
o 5.3Gerenciamento de recursos
o 5.4Entrada e saída de dados
o 5.5Sistema de arquivos
6Tipos de sistemas
o 6.1Sistema Mono-programado
o 6.2Sistema em Lote
o 6.3Sistema multi-processadores
o 6.4Sistema Multi-programado para Tempo Real
7Interface de uso
o 7.1Interface de terminal
o 7.2Interface textual
o 7.3Interface gráfica
o 7.4Interface de voz
8Classificações
o 8.1Em relação ao seu projeto (arquitetura)
o 8.2Quanto ao gerenciamento de processos
o 8.3Quanto à quantidade de usuários concorrentes
9Exemplos de sistemas operacionais
o 9.1Para desktop/servidores
o 9.2Para dispositivos móveis (tablets e smartphones)
10Referências
11Referências bibliográficas
12Ver também
Um computador com o sistema operativo instalado poderá não dar acesso a todo o seu
conteúdo dependendo do utilizador. Com um sistema operativo, podemos estabelecer
permissões a vários utilizadores que trabalham com este. Existem dois tipos de contas que
podem ser criadas num sistema operativo, as contas de Administrador e as contas
limitadas.
A conta Administrador é uma conta que oferece todo o acesso à máquina, desde a gestão
de pastas, ficheiros e software de trabalho ou entretenimento ao controle de todo o seu
Hardware instalado.
A conta Limitada é uma conta que não tem permissões para aceder a algumas pastas ou
instalar software que seja instalado na raiz do sistema ou então que tenha ligação com
algum Hardware que altere o seu funcionamento normal ou personalizado pelo
Administrador. Para que este tipo de conta possa ter acesso a outros conteúdos do disco
ou de software, o administrador poderá personalizar a conta oferecendo permissões a
algumas funções do sistema como também poderá retirar acessos a certas áreas do
sistema.
O sistema operativo funciona com a iniciação de processos que este irá precisar para
funcionar corretamente. Esses processos poderão ser ficheiros que necessitam de ser
frequentemente atualizados, ou ficheiros que processam dados úteis para o sistema.
Poderemos ter acesso a vários processos do sistema operativo a partir do gestor de
tarefas, onde se encontram todos os processos que estão em funcionamento desde o
arranque do sistema operativo até a sua utilização atual. Pode-se também visualizar a
utilização da memória por cada processo, no caso de o sistema operativo começar a
mostrar erros ou falhas de acesso a programas tornando-se lento, pode-se verificar no
gestor de tarefas qual dos processos estará bloqueado ou com elevado número de
processamento que está a afectar o funcionamento normal da memória.
Outra das diferenças que podemos observar entre um sistema operacional e aplicações
convencionais é a forma com que suas rotinas são processadas em função do tempo. Um
sistema operacional não é executado de forma estruturada. Suas rotinas são executadas
concorrentemente em função de eventos assíncronos. Em outras palavras, eventos que
podem ocorrer a qualquer momento.[6]
1. gerenciamento de processos;
2. gerenciamento de memória;
3. gerenciamento de recursos;
4. entrada e saída de dados;
5. sistema de arquivos.
Gerenciamento de processos[editar | editar código-fonte]
O sistema operacional multitarefa é preparado para dar ao usuário 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 o usuário pensa que sua execução é simultânea.
São utilizados algoritmos de escalonamento para determinar qual processo será
executado em determinado momento e por quanto tempo.
Os processos podem comunicar-se, isto é conhecido como IPC (Inter-Process
Communication). Os mecanismos geralmente utilizados são:
pipes;
named pipes;
memória compartilhada;
soquetes (sockets);
trocas de mensagens.
O sistema operacional, normalmente, deve possibilitar
o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes
e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve
ser reentrante e interrompível, o que significa que pode ser interrompido no meio da
execução de uma tarefa.
Vários sistemas operacionais usam memória virtual, que possui 3 funções básicas:
1. Uma interface abstrata que consiste funções de E/S de alto nível que os processos
possam usar para executar I / O;
2. Um conjunto de dispositivos físicos;
3. Software de driver de dispositivo que conecta os dois.
Sistema de arquivos[editar | editar código-fonte]
A memória principal do computador é volátil, e seu tamanho é limitado pelo custo
do hardware. Assim, os usuários necessitam de algum método para armazenar e
recuperar informações de modo permanente.
Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo
periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos.
// $JOB
// $FORTRAN
// $LOAD
// $RUN
// $END
Sistemas operacionais de rede – cada sistema, também chamado host ou nó, possui
seus próprios recursos de hardware, como processadores, memória e dispositivos de
entrada e saída. Os nós são totalmente independentes dos terminais, sendo
interconectados por uma rede de comunicação de dados, formando uma rede de
computadores. Os sistemas operacionais de rede são utilizados tanto em redes locais
(Local Area Network - LAN), como em redes distribuídas (Wide Area Network - WAN).
A ligação entre os diversos nós é feita por uma interface de rede que permite o acesso
aos demais componentes da rede. Não existe um limite máximo para o número de nós
que podem fazer parte de uma rede de computadores. Cada nó é totalmente
independente dos demais, possuindo seu próprio sistema operacional e espaço de
endereçamento. Os sistemas operacionais podem ser heterogêneos. Na Internet, cada
host pode estar processando um sistema operacional diferente, mas todos estão se
comunicando através do mesmo protocolo de rede, no caso, os protocolos da família
TCP/IP (Transmission Control Protocol/Internet Protocol).[6]
Sistemas operacionais distribuídos – computadores independentes que parecem um
único computador aos olhos do usuário; Trata-se de um conjunto de processos que
são executados de forma concorrente, cada um dos quais acessando um subconjunto
de recursos do sistema. E essa comunicação é feita em forma de envio de
mensagens.
Sistema Multi-programado para Tempo Real[editar | editar código-
fonte]
Os sistemas multi-programado para tempo real além de serem sistemas multi-
programados, possuem um tempo de resposta rígido e por isso são muito utilizados no
controle de processos. Têm menos time-slice e mais prioridade, ademais, seus processos
são ativados por sensores. A aplicação deste tipo de sistema está em máquinas de usinas,
refinarias, tráfego aéreo, etc.
Assim como a interface de terminal, a interface textual também é baseada em texto, porém
também tem à disposição um ambiente de trabalho composto por menus, janelas e botões.
Esse tipo de interface tinha um uso difundido em aplicações baseadas no MS-DOS, que,
inclusive, nas versões mais recentes contava com um gerenciador de programas e
arquivos baseados nesse tipo de interface (o DOS Shell). Atualmente essa interface é
muito rara, praticamente restrita a sistemas implementados na década de 1980 e início
da década de 1990. Esse ambiente ainda prescinde do uso mouse, embora seja possível
usá-lo através do uso da biblioteca ncurses no desenvolvimento dos softwares.
Android
Bada
Blackberry OS
Firefox OS †
iOS
Maemo
MeeGo
Tizen
Ubuntu Touch
WebOS
Windows Mobile †
Windows Phone†
Symbian OS †
RedHat
† - descontinuado
Referências
1. ↑ Tanenbaum, Andrew S. (2006). Operating systems: design and implementation. USA:
Prentice Hall. 6 páginas
2. ↑ Comer, Douglas (2012). Operating system design: the XINU approach, Linksys version.
New York: CRC Press. 2 páginas
3. ↑ Hansen, Per Brinch, ed. (2001). Classic Operating Systems. [S.l.]: Springer. pp. 4–
7. ISBN 0-387-95113-X
4. ↑ Tanenbaum, Andrew S. (2009). Sistemas operacionais modernos. São Paulo: Pearson
Education do Brasil Ltda
5. ↑ J. GLENN BROOKSHEAR,CIENCIA DA COMPUTAÇAO: UMA VISAO ABRANGENTE,
Bookman, 2005
6. ↑ Ir para:a b F. B. Machado; L. P. Maia, Arquitetura de Sistemas Operacionais, LTC, 2007
7. ↑ (Sistemas Operacionais - Rômulo Silva de Oliveria, Alexandre Carissimi e Simão Toscani
- Série Livros Didáticos - No 11 - Editora Sagra Luzzatto - UFRGS)
8. ↑ Comer, Douglas (2012). Operating system design: the Xinu approach. New York: CRC
Press. 239 páginas