Buscar

sistema_operacional

Prévia do material em texto

08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 1/12
Sistema operativo
Origem: Wikipédia, a enciclopédia livre.
Sistema operativo (pt) ou operacional (pt-BR) (em inglês: Operating System - OS) é um programa
ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa
recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo
uma interface entre o computador e o usuário. Embora possa ser executado imediatamente após a
máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro
programa armazenado em uma memória não-volátil ROM chamado BIOS num processo chamado
"bootstrapping", conceito em inglês usado para designar processos autosustentáveis, ou seja, capazes
de prosseguirem sem ajuda externa. Após executar testes e iniciar os componentes da máquina
(monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de
armazenamento, geralmente o Disco Rígido, e a partir daí, o sistema operacional "toma" o controle da
máquina. O sistema operacional reveza sua execução com a de outros programas, como se estivesse
vigiando, controlando e orquestrando todo o processo computacional.
Segundo Tanenbaum,[1], pela perspectiva do usuário ou programador, existem dois modos distintos
de conceituar um sistema operacional:
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].
História
Visão geral
Sistemas operacionais modernos
Estrutura em camada
Funcionamento
Gerenciamento de processos
Gerenciamento de memória
Swapping
Gerenciamento de recursos
Entrada e saída de dados
Sistema de arquivos
Tipos de sistemas
Sistema Mono-programado
Índice
https://pt.wikipedia.org/wiki/Portugu%C3%AAs_europeu
https://pt.wikipedia.org/wiki/Portugu%C3%AAs_brasileiro
https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesa
https://pt.wikipedia.org/wiki/Programa_de_computador
https://pt.wikipedia.org/wiki/Unidade_central_de_processamento
https://pt.wikipedia.org/wiki/Sistema_de_arquivos
https://pt.wikipedia.org/wiki/Interface
https://pt.wikipedia.org/wiki/Computador
https://pt.wikipedia.org/wiki/Usu%C3%A1rio
https://pt.wikipedia.org/wiki/ROM
https://pt.wikipedia.org/wiki/BIOS
https://pt.wikipedia.org/wiki/Bootstrapping_(estat%C3%ADstica)
https://pt.wikipedia.org/wiki/Hardware
https://pt.wikipedia.org/wiki/Software
https://pt.wikipedia.org/wiki/Processo_(inform%C3%A1tica)
https://pt.wikipedia.org/wiki/Hardware
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 2/12
Sistema operacional em linha de
comando.
Sistema em Lote
Sistema multiprocessadores
Sistema Multi-programado para Tempo Real
Interface de uso
Interface de terminal
Interface textual
Interface gráfica
Interface de voz
Classificações
Em relação ao seu projeto (arquitetura)
Quanto ao gerenciamento de processos
Quanto à quantidade de usuários concorrentes
Exemplos de sistemas operacionais
Para desktop/servidores
Para dispositivos móveis (tablets e smartphones)
Referências
Referências bibliográficas
Ver também
Na primeira geração (aproximadamente 1945-1955), os
computadores eram tão grandes que ocupavam salas imensas, ou
mesmo andares inteiros. Foram basicamente construídos com
válvulas e painéis, e os sistemas operacionais "não existiam". Os
programadores, que também eram os operadores, controlavam o
computador por meio de chaves, fios e luzes de aviso.
Nomes como Howard Aiken (Harvard), John von Neumann
(Instituto de Estudos Avançados de Princeton), John Adam Presper
Eckert Jr e William Mauchley (Universidade da Pennsylvania) e
Konrad Zuse (Alemanha) formaram, com suas contribuições, a base
humana para o sucesso na construção dos computadores primitivos.
Na geração seguinte (aproximadamente 1955-1965), foram criados
os sistemas em lote (batch systems), que permitiram melhor uso dos
recursos computacionais. A base do sistema operacional era um
programa monitor, usado para enfileirar tarefas (jobs). O usuário foi afastado do computador; cada
programa era escrito em cartões perfurados, que por sua vez eram carregados, juntamente com o
respectivo compilador (normalmente Fortran ou Cobol), por um operador, que por sua vez usava
uma linguagem de controle chamada JCL (job control language).
No início da computação os primeiros sistemas operacionais eram únicos, pois cada mainframe
vendido necessitava de um sistema operacional específico. Esse problema era resultado de
arquiteturas diferentes e da linguagem que cada máquina utilizava. Após essa fase, iniciou-se a
pesquisa de sistemas operacionais que automatizassem a troca de tarefas (jobs), pois os sistemas
eram monousuários e tinham cartões perfurados como entrada (eliminando, assim, o trabalho de
pessoas que eram contratadas apenas para trocar os cartões perfurados).
História
https://pt.wikipedia.org/wiki/Ficheiro:Bash_demo.png
https://pt.wikipedia.org/wiki/Fortran
https://pt.wikipedia.org/wiki/Cobol
https://pt.wikipedia.org/wiki/Mainframe
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 3/12
Diz-se que Alan Turing era um mestre nos primeiros Manchester Mark I, e ele já estava derivando a
concepção primitiva de um sistema operacional a partir dos princípios da máquina de Turing
universal.[3]
Um dos primeiros sistemas operacionais de propósito geral foi o CTSS, desenvolvido no MIT. Após o
CTSS, o MIT, os laboratórios Bell da AT&T e a General Electric desenvolveram o Multics, cujo
objetivo era suportar centenas de usuários. Apesar do fracasso comercial, o Multics serviu como base
para o estudo e desenvolvimento de sistemas operacionais. Um dos desenvolvedores do Multics, que
trabalhava para a Bell, Ken Thompson, começou a reescrever o Multics num conceito menos
ambicioso, criando o Unics (em 1969), que mais tarde passou a chamar-se Unix. Os sistemas
operacionais eram geralmente programandos em assembly, até mesmo o Unix em seu início. Então,
Dennis Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, que havia sido criada
por Thompson. Finalmente, Thompson e Ritchie 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 X (que deriva do Mach e FreeBSD). O BSD
foi lançado em 1977, sendo ele um sistema operacional fortemente baseado no Unix, focado
principalmente para a execução em máquinas específicas de alto desempenho, como o famoso
computador VAX, o qual foi uma referência de hardware na época.
Durante a década de 70, o Unix foi distribuído gratuitamente (incluindo seu código fonte) para
universidades e órgãos governamentais norte-americanos, o que conferiu muita popularidade a este
sistema. Sua interface era totalmente em modo texto, sem interface gráfica. Quando começaram a
aparecer os computadores pessoais, houve a necessidade de um sistema operacional de utilização
mais fácil. Em 1980, William (Bill) Gates e seu colega de faculdade, Paul Allen, fundadores da
Microsoft, compram o sistema QDOS ("Quick and Dirty Operating System") de Tim Paterson por
$50.000, batizam-no de MS-DOS (Microsoft Disk Operating System). O DOS original, de
desenvolvimento da IBM, foi o sistema operativo que a IBM apresentou aquando do lançamento do
primeiro PC, vendeu muitas cópias, como o sistema operativo nos computadorespessoais
desenvolvidos pela IBM. IBM convidou a Microsoft para uma parceria para o desenvolvimento da
versão 2 do IBM OS/2, um sistema operacional. Após o fim da breve parceria a IBM seguiu sozinha
com o desenvolvimento do OS/2 a que deu o nome de OS/2 Warp, concorrendo diretamente com o
MS Windows95.
No começo da década de 1990, um estudante de computação finlandês postou um comentário numa
lista de discussão da Usenet dizendo que estava desenvolvendo um núcleo de sistema operacional e
perguntou se alguém gostaria de auxiliá-lo na tarefa. Este estudante chamava-se Linus Torvalds e o
primeiro passo em direção ao tão conhecido Linux foi dado naquele momento.
Existem vários sistemas operativos; entre eles, os mais utilizados no dia a dia, normalmente
utilizados em computadores domésticos, são o Windows, Linux e macOS.
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
Visão geral
https://pt.wikipedia.org/wiki/Alan_Turing
https://pt.wikipedia.org/wiki/Manchester_Mark_I
https://pt.wikipedia.org/wiki/M%C3%A1quina_de_Turing_universal
https://pt.wikipedia.org/wiki/CTSS
https://pt.wikipedia.org/wiki/MIT
https://pt.wikipedia.org/wiki/Laborat%C3%B3rios_Bell
https://pt.wikipedia.org/wiki/AT%26T
https://pt.wikipedia.org/wiki/General_Electric
https://pt.wikipedia.org/wiki/Multics
https://pt.wikipedia.org/wiki/Ken_Thompson
https://pt.wikipedia.org/wiki/Unix
https://pt.wikipedia.org/wiki/Dennis_Ritchie
https://pt.wikipedia.org/wiki/Linguagem_C
https://pt.wikipedia.org/wiki/Linguagem_B
https://pt.wikipedia.org/wiki/Berkeley_Software_Distribution
https://pt.wikipedia.org/wiki/FreeBSD
https://pt.wikipedia.org/wiki/NetBSD
https://pt.wikipedia.org/wiki/OpenBSD
https://pt.wikipedia.org/wiki/Linux
https://pt.wikipedia.org/wiki/Mac_OS_X
https://pt.wikipedia.org/wiki/Mach_(n%C3%BAcleo)
https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1970
https://pt.wikipedia.org/wiki/Computador_pessoal
https://pt.wikipedia.org/wiki/1980
https://pt.wikipedia.org/wiki/Bill_Gates
https://pt.wikipedia.org/wiki/Paul_Allen
https://pt.wikipedia.org/wiki/Microsoft
https://pt.wikipedia.org/wiki/QDOS
https://pt.wikipedia.org/wiki/Tim_Paterson
https://pt.wikipedia.org/wiki/MS-DOS
https://pt.wikipedia.org/wiki/IBM_PC
https://pt.wikipedia.org/wiki/OS/2
https://pt.wikipedia.org/wiki/Linus_Torvalds
https://pt.wikipedia.org/wiki/Windows
https://pt.wikipedia.org/wiki/Linux
https://pt.wikipedia.org/wiki/MacOS
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 4/12
O OS/360 foi colocado na
estrutura principal de todos os
computadores IBM no início de
1964, incluindo os computadores
que ajudaram a NASA a colocar
o homem na lua.
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.
Um sistema computacional moderno consiste em um ou mais
processadores, memória principal, discos, impressoras, teclado,
mouse, monitor, interfaces de rede e outros dispositivos de entrada e saída. Enfim, é um sistema
complexo. Se cada programador de aplicações tivesse de entender como tudo isso funciona em
detalhes, nenhum código chegaria a ser escrito. Além disso, gerenciar todos esses componentes e usá-
los de maneira otimizada é um trabalho extremamente difícil. Por isso, os computadores têm um
dispositivo de software denominado sistema operacional, cujo trabalho é fornecer aos programas do
usuário um modelo de computador melhor, mais simples e mais limpo e lidar com o gerenciamento
de todos os recursos mencionados.[4]
Um dos conceitos mais fundamentais dos Sistemas Operacionais Modernos é a distinção entre o
programa e a atividade de executá-lo. O programa é apenas um conjunto estático de diretrizes e sua
execução é uma atividade dinâmica
[5]
.
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]
A Estruturação em camadas é um modelo de Sistema Operacional que o divide em várias camadas
sobrepostas. Cada camada proporciona um conjunto de funções que pode ser usado por outras
camadas.
Uma das maiores vantagens desse modelo de camadas é isolar o sistema operacional, facilitando sua
alteração e depuração, além de criar uma hierarquia de níveis de modos, protegendo as camadas mais
internas.
O empilhamento de várias camadas de software faz com que cada pedido de uma aplicação demore
mais tempo para chegar até o dispositivo periférico ou recurso a ser acessado, prejudicando o
desempenho do sistema.
Sistemas operacionais modernos
Estrutura em camada
https://pt.wikipedia.org/wiki/Ficheiro:IBM360-65-1.corestore.jpg
https://pt.wikipedia.org/wiki/Processo_(inform%C3%A1tica)
https://pt.wikipedia.org/wiki/Sistema_Operacional
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 5/12
O primeiro servidor para
WWW rodou em um
NeXTSTEP baseado no
BSD.
Um sistema operacional possui as seguintes funções:
1. gerenciamento de processos;
2. gerenciamento de memória;
3. gerenciamento de recursos;
4. entrada e saída de dados;
5. sistema de arquivos.
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 deuma tarefa.
O sistema operacional tem acesso completo à memória do sistema e deve permitir que os processos
dos usuários tenham acesso seguro à memória quando o requisitam.
Vários sistemas operacionais usam memória virtual, que possui 3 funções
básicas:
1. Assegurar que cada processo tenha seu próprio espaço de
endereçamento, começando em zero, para evitar ou resolver o
problema de relocação (Tanenbaum, 1999);
2. Prover proteção da memória para impedir que um processo utilize um
endereço de memória que não lhe pertença;
3. Possibilitar que uma aplicação utilize mais memória do que a
fisicamente existente.
Funcionamento
Gerenciamento de processos
Gerenciamento de memória
Swapping
https://pt.wikipedia.org/wiki/Ficheiro:First_Web_Server.jpg
https://pt.wikipedia.org/wiki/World_Wide_Web
https://pt.wikipedia.org/wiki/Gerenciamento_de_mem%C3%B3ria
https://pt.wikipedia.org/wiki/Entrada/sa%C3%ADda
https://pt.wikipedia.org/wiki/Sistema_de_ficheiros
https://pt.wikipedia.org/wiki/Multitarefa
https://pt.wikipedia.org/wiki/Escalonamento_de_processos#Algoritmos_de_escalonamento
https://pt.wikipedia.org/wiki/Inter-Process_Communication
https://pt.wikipedia.org/wiki/Multiprocessamento
https://pt.wikipedia.org/wiki/Multiprocessamento_sim%C3%A9trico
https://pt.wikipedia.org/wiki/NUMA
https://pt.wikipedia.org/wiki/Thread_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)
https://pt.wikipedia.org/wiki/Mem%C3%B3ria_virtual
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 6/12
Dentro de gerenciamento de memória, pode não ser possível manter todos os processos em memória,
muitas vezes por não existir memória suficiente para alocar aquele processo. Para solucionar esse
problema existe um mecanismo chamado swapping, onde a gerência de memória reserva uma área
do disco para o seu uso em determinadas situações, e um processo é completamente copiado da
memória para o disco; este processo é retirado da fila do processador e mais tarde será novamente
copiado para a memória; Então, o processo ficará ativo na fila novamente. O resultado desse
revezamento no disco é que o sistema operacional consegue executar mais processos do que caberia
em um mesmo instante na memória. Swapping impõe aos programas um grande custo em termos de
tempo de execução, pois é necessário copiar todo o processo para o disco e mais tarde copiar
novamente todo o processo para a memória. Em sistemas onde o usuário interage com o programa
durante sua execução, o mecanismo de swapping é utilizado em último caso, quando não se é possível
manter todos os processos na memória, visto que a queda no desempenho do sistema é
imediatamente sentida pelo usuário.[7]
Uma das tarefas com extrema importância atribuída ao sistema operacional é o gerenciamento de
recursos, que tem a função de definir políticas para gerenciar o uso dos recursos de hardware pelos
aplicativos, resolvendo disputas e conflitos. Vários programas de entrada de dados competem pela
vez na CPU (Unidade Central de Processamento) e demandam memória, espaço em disco e largura. O
sistema operacional tem a função de cuidar de cada aplicativo e para que os mesmos tenham recursos
necessários para o melhor funcionamento e gerencia a capacidade limitada do sistema para que possa
atender todas as necessidades de aplicativos e usuários.
Sistemas operacionais controlam e gerenciam a entrada e saída (E/S) de dispositivos por três razões.
Primeiro, porque a maioria do hardware do dispositivo utiliza uma interface de baixo nível, a
interface do software é complexa. Em segundo lugar, porque um dispositivo é um recurso
compartilhado, um sistema operacional fornece acesso de acordo com as políticas que tornam a
partilha justa e segura. Em terceiro lugar, um sistema operacional define uma interface de alto nível
que esconde detalhes e permite que um programador possa usar um conjunto coerente e uniforme
das operações ao interagir com os dispositivos.[8]
O subsistema de E/S pode ser divididos em três peças conceituais:
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.
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.
Gerenciamento de recursos
Entrada e saída de dados
Sistema de arquivos
Tipos de sistemas
https://pt.wikipedia.org/w/index.php?title=Swapping&action=edit&redlink=1
https://pt.wikipedia.org/wiki/Entrada/sa%C3%ADda
https://pt.wikipedia.org/wiki/Bytes
https://pt.wikipedia.org/wiki/Sistema_de_ficheiros
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 7/12
Também chamados como sistema mono-tarefa, o sistema operacional mono-programado possui
apenas um processador, realiza alocação de memória para somente um processo e um usuário por
vez. Apresenta também uma CPU ociosa durante E/S e sua implementação é feita de forma simples.
O sistema em lote é também um sistema monoprocessado e utiliza a linguagem de Controle de
Tarefas (JLC). Caracteriza-se por ter programas armazenados em disco ou fita, que uma vez
iniciados, exigem pouca ou nenhuma interação do usuário, processando de forma sequencial e
contínua até o fim do job, quando então é devolvido o resultado final do processamento.
Exemplos de JLC:
// $JOB 
// $FORTRAN 
Programa escrito em FORTRAN
// $LOAD 
// $RUN 
Dados de entrada do programa
// $END 
Os sistemas multiprocessadores – dois ou mais processadores trabalhando juntos – podem ser
divididos em duas partes:
Sistemas fortemente acoplados;
Sistemas fracamente acoplados.
Dentro de sistemas fortemente acoplados – memória única compartilhada por dois ou mais
processadores, tendo um mesmo sistema operacional gerenciando todos os processadores –,
encontramos mais duas divisões:
Sistemas simétricos – onde os processadores têm a mesma função;
Sistemas assimétricos – onde um processador (mestre) pode executar serviços do sistema
operacional.
Dentro de sistemas fracamente acoplados – mais de dois sistemas operacionais que são ligados por
canal de comunicação, tendo hardware e sistemas operacionais independentes – temos:
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
Sistema Mono-programado
Sistema em Lote
Sistema multiprocessadores
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 8/12
Aplicativo com interface textual,
rodando no sistema operacional
FreeDOS
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 deum 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.
Os sistemas multi-programado para tempo real além de serem sistemas multiprogramados, 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.
Os sistemas operacionais fornecem abstração de hardware para que seus recursos possam ser usados
de maneira correta e padronizada, mas para ser possível operar um computador, é necessário
fornecer também uma interface para que o usuário possa desfrutar dos recursos do sistema.
Atualmente as principais interfaces de uso são as seguintes:
A interface de terminal, também chamada de interface de linha de comando ou "CLI" (Command
Line Interface) funciona exclusivamente com o teclado. Os comandos são digitados a partir de um
prompt e são interpretados por um interpretador de comandos, conhecidos também por shells,
bastante comuns em sistemas padrão POSIX. Um exemplo de interpretador de comandos seria o
Bash.
Usada geralmente por usuários avançados e em atividades específicas, como gerenciamento remoto,
utiliza poucos recursos de hardware em comparação a interface gráfica.
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.
Sistema Multi-programado para Tempo Real
Interface de uso
Interface de terminal
Interface textual
https://pt.wikipedia.org/wiki/Ficheiro:Fdedit.png
https://pt.wikipedia.org/wiki/Prompt
https://pt.wikipedia.org/wiki/Interpretador_de_comandos
https://pt.wikipedia.org/wiki/Bash
https://pt.wikipedia.org/wiki/MS-DOS
https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1980
https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1990
https://pt.wikipedia.org/wiki/Ncurses
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 9/12
Um exemplo da linha de comando
Nesse tipo de interface, também chamada GUI (Graphic User Interface) além de menus, janelas e
botões também existem figuras, tanto vetoriais quanto fotografias. O usuário interage com esse tipo
de interface usando o mouse, podendo também usar o teclado e teclas de atalho, ou então usando
toques e gestos em touchscreens. A interface gráfica permite atuar com algumas aplicações que
seriam impossíveis através da linha de comando puramente, como edição de imagem e vídeo.
Acrescentar facilidade de uso e agilidade é o objetivo da interface gráfica, tendo a desvantagem de
consumir muito mais memória que interfaces de linha de comando. Ao contrário das interfaces
textuais e de terminal, as interfaces gráficas dependem de um servidor gráfico para funcionar e se
comunicar com o sistema, e no caso dos sistemas para desktops e laptops, inclui um gerenciador de
janelas em muitos casos, para que seja possível usar mais de um aplicativo na mesma tela. Em
sistemas padrão POSIX é comum existir mais de um ambiente gráfico para o mesmo sistema,
podendo ser escolhido a critério do usuário.
Interfaces de voz, ou VUI (Voice User Interface), são aquelas em que o usuário interage com o
sistema por meio de comandos sonoros. Sendo de desenvolvimento relativamente recente, tem sua
aplicação em dispositivos adaptados para cegos e recentemente têm aparecido também para uso geral
em smartphones, tablets e desktops.
Núcleo monolítico ou monobloco: o núcleo consiste em
um único processo executando numa memória protegida
(espaço de núcleo) executando as principais funções.
Ex.: MAC OS X, OS/2, Windows, Linux, FreeBSD.
Micronúcleo ou modelo cliente-servidor: o núcleo
consiste de funções mínimas (comunicação e
gerenciamento de processos), e outras funções, como
sistemas de arquivos e gerenciamento de memória, são
executadas no espaço do usuário como serviços; as
aplicações (programas) são os clientes. Ex.: GNU Hurd,
Mach.
Sistema em camadas: funções do núcleo irão executar
em camadas distintas, de acordo com seu nível de privilégio. Ex.: Multics.
Monitor de máquinas virtuais: fornece uma abstração do hardware para vários sistemas
operacionais. Ex.: VM/370, VMware, Xen.
Monotarefa: pode-se executar apenas um processo de cada vez Ex.: MS-DOS.
Multitarefa: além do próprio SO, vários processos de utilizador (tarefas) estão carregados em
memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados,
aguardando a sua vez. O compartilhamento de tempo no processador é feito de modo que o
usuário tenha a impressão que vários processos estão sendo executados simultaneamente.
Cada processo recebe um tempo para ser executado. Ao final desse tempo, outro processo é
executado. Essa alternância de processos chama-se concorrência.
Interface gráfica
Interface de voz
Classificações
Em relação ao seu projeto (arquitetura)
Quanto ao gerenciamento de processos
https://pt.wikipedia.org/wiki/Ficheiro:Command_line.png
https://pt.wikipedia.org/wiki/Interface_do_utilizador
https://pt.wikipedia.org/wiki/Touchscreen
https://pt.wikipedia.org/wiki/Cegueira
https://pt.wikipedia.org/wiki/Monol%C3%ADtico
https://pt.wikipedia.org/wiki/MAC_OS_X
https://pt.wikipedia.org/wiki/OS/2
https://pt.wikipedia.org/wiki/Windows
https://pt.wikipedia.org/wiki/Linux
https://pt.wikipedia.org/wiki/FreeBSD
https://pt.wikipedia.org/wiki/Micron%C3%BAcleo_(inform%C3%A1tica)
https://pt.wikipedia.org/wiki/GNU_Hurd
https://pt.wikipedia.org/wiki/Mach_(n%C3%BAcleo)
https://pt.wikipedia.org/w/index.php?title=Em_camadas&action=edit&redlink=1
https://pt.wikipedia.org/wiki/Multics
https://pt.wikipedia.org/w/index.php?title=VM/370&action=edit&redlink=1
https://pt.wikipedia.org/wiki/VMware
https://pt.wikipedia.org/wiki/Xen
https://pt.wikipedia.org/wiki/Monotarefa
https://pt.wikipedia.org/wiki/MS-DOS
https://pt.wikipedia.org/wiki/Multitarefa
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 10/12
Multitarefa cooperativa: Executa dois ou mais programas em simultâneo mas o programa que
está em primeiro plano tem controlo sobre o processador. Neste caso se este programa falhar
bloqueia o computador e tem que ser reiniciado. Exemplo de SO: Windows 3.x e versões
anteriores ao Mac OS 8.
Multitarefa preemptiva: É o processador que controla a execução dos programas, desta forma
permite ao sistema operativo recuperar o controlo caso um programa bloqueie. O utilizador perde
os trabalhos do programa que falhou mas os restantes programas continuam a trabalhar.
Exemplo de SO: Unix; Linux; Windows 95 e superiores; MAC OS 8 e superiores; etc.
Elemento de lista com marcas: Ex: OS/2, Windows, Linux, FreeBSD e o Mac OS X. Cabe
destacar que processos só podem estar executando simultaneamente caso o sistema seja
multiprocessado, já que, em que cada instante de tempo, apenas um processo está em
execução em um processador ou núcleo de processamento (core).
Multiprocessamento: o SO distribui as tarefas entre dois ou mais processadores. Se os
processadores estivem na mesma máquina física, o sistema é chamado de Sistema
Multiprocessado Fortemente Acoplado. Caso esteja em máquinas diferentes, trata-se de um
Sistema Multiprocessado Fracamente Acoplado.
Monousuário: apenas um usuário por vez (apesar de poder suportar recursos como troca de
usuário). Ex.: Windows.Esse também pode ser acessado por terminais e conexão remota.
Multiusuário: vários usuários usam o computador ao mesmo tempo, seja por diversos terminais,
seja por conexão remota como o SSH. Ex.: Linux, Unix.
BeOS †
CentOS
CP/M †
DaVinci OS
Debian
Arch Linux
Manjaro Linux
Sabayon Linux
SolusOS
DragonflyBSD
eComStation
Fedora
FreeBSD
FreeDOS
Gentoo
Haiku
Inferno
Linux Mint
macOS
Mac OS Classic †
Mageia
MenuetOS
MINIX
MS-DOS †
NetBSD
NeXTStep †
OpenBSD
OS/2 †
OpenSuSE
PCLinuxOS
Plan 9
ReactOS
Slackware
Solaris
Unix System V
Ubuntu
Microsoft Windows
Elementary OS
Android
Bada
Blackberry OS
Firefox OS †
iOS
Maemo
MeeGo
Tizen
Ubuntu Touch
WebOS
Windows Mobile
Windows Phone
Symbian OS
RedHat
Harmony OS
Quanto à quantidade de usuários concorrentes
Exemplos de sistemas operacionais
Para desktop/servidores
Para dispositivos móveis (tablets e smartphones)
https://pt.wikipedia.org/wiki/Multitarefa_cooperativa
https://pt.wikipedia.org/wiki/Preemptividade
https://pt.wikipedia.org/wiki/OS/2
https://pt.wikipedia.org/wiki/Windows
https://pt.wikipedia.org/wiki/Linux
https://pt.wikipedia.org/wiki/FreeBSD
https://pt.wikipedia.org/wiki/Mac_OS_X
https://pt.wikipedia.org/wiki/Multiprocessamento
https://pt.wikipedia.org/wiki/Monousu%C3%A1rio
https://pt.wikipedia.org/wiki/Windows
https://pt.wikipedia.org/wiki/Multiusu%C3%A1rio
https://pt.wikipedia.org/wiki/Terminal_(inform%C3%A1tica)
https://pt.wikipedia.org/w/index.php?title=Conex%C3%A3o_remota&action=edit&redlink=1
https://pt.wikipedia.org/wiki/SSH
https://pt.wikipedia.org/wiki/Linux
https://pt.wikipedia.org/wiki/Unix
https://pt.wikipedia.org/wiki/BeOS
https://pt.wikipedia.org/wiki/CentOS
https://pt.wikipedia.org/wiki/CP/M
https://pt.wikipedia.org/w/index.php?title=DaVinci_OS&action=edit&redlink=1
https://pt.wikipedia.org/wiki/Debian
https://pt.wikipedia.org/wiki/Arch_Linux
https://pt.wikipedia.org/wiki/Manjaro_Linux
https://pt.wikipedia.org/wiki/Sabayon_Linux
https://pt.wikipedia.org/wiki/SolusOS
https://pt.wikipedia.org/wiki/DragonflyBSD
https://pt.wikipedia.org/wiki/EComStation
https://pt.wikipedia.org/wiki/Fedora_Linux
https://pt.wikipedia.org/wiki/FreeBSD
https://pt.wikipedia.org/wiki/FreeDOS
https://pt.wikipedia.org/wiki/Gentoo
https://pt.wikipedia.org/wiki/Haiku_(sistema_operacional)
https://pt.wikipedia.org/wiki/Inferno_(Sistema_Operacional)
https://pt.wikipedia.org/wiki/Linux_Mint
https://pt.wikipedia.org/wiki/MacOS
https://pt.wikipedia.org/wiki/Mac_OS_Classic
https://pt.wikipedia.org/wiki/Mageia
https://pt.wikipedia.org/wiki/MenuetOS
https://pt.wikipedia.org/wiki/MINIX
https://pt.wikipedia.org/wiki/MS-DOS
https://pt.wikipedia.org/wiki/NetBSD
https://pt.wikipedia.org/wiki/NEXTSTEP
https://pt.wikipedia.org/wiki/OpenBSD
https://pt.wikipedia.org/wiki/OS/2
https://pt.wikipedia.org/wiki/OpenSuSE
https://pt.wikipedia.org/wiki/PCLinuxOS
https://pt.wikipedia.org/wiki/Plan_9_from_Bell_Labs
https://pt.wikipedia.org/wiki/ReactOS
https://pt.wikipedia.org/wiki/Slackware
https://pt.wikipedia.org/wiki/Solaris_(sistema_operacional)
https://pt.wikipedia.org/wiki/System_V
https://pt.wikipedia.org/wiki/Ubuntu
https://pt.wikipedia.org/wiki/Microsoft_Windows
https://pt.wikipedia.org/wiki/Elementary_OS
https://pt.wikipedia.org/wiki/Android
https://pt.wikipedia.org/wiki/Bada_(Sistema_operacional)
https://pt.wikipedia.org/wiki/Blackberry_OS
https://pt.wikipedia.org/wiki/Firefox_OS
https://pt.wikipedia.org/wiki/IOS
https://pt.wikipedia.org/wiki/Maemo
https://pt.wikipedia.org/wiki/MeeGo
https://pt.wikipedia.org/wiki/Tizen
https://pt.wikipedia.org/wiki/Ubuntu_Touch
https://pt.wikipedia.org/wiki/WebOS
https://pt.wikipedia.org/wiki/Windows_Mobile
https://pt.wikipedia.org/wiki/Windows_Phone
https://pt.wikipedia.org/wiki/Symbian_OS
https://pt.wikipedia.org/wiki/RedHat
https://pt.wikipedia.org/wiki/Harmony_OS
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 11/12
† - descontinuado
BACH, Maurice J. The design of the Unix operating system. Upper Saddle River: Prentice
Hall. 1990.
BOVET Daniel P.; CESATI, Marco. Understanding de Linux kernel. 3.ed. Sebastopol: O'Reilly.
2005.
MCKUSICK, Marshall K.; NEVILLE-NEIL, George V. The design and implementation of the
FreeBSD operating system. Upper Saddle River: Addison-Wesley. 2004.
RUSSINOVITCH, Mark E.; SOLOMON, David A. Microsoft Windows internals. 4.ed. Redmond:
Microsoft Press. 2005.
SILBERSCHATZ, Avi; GALVIN, Peter B.; GAGNE, Greg. Operating system concepts. 7.ed.
Hoboken: Wiley. 2005.
STALLINGS, William. Operating systems: internals and design principles. 5.ed. Upper
Saddle River: Pearson Prentice Hall. 2004.
TANENBAUM, Andrew. Sistemas operacionais modernos. Rio de Janeiro: LTC. 1999.
Sistema operacional móvel
Pseudossistema operacional
Sistema distribuído
Inter-Process Communication
Sistemas operacionais on-line
Sistema operacional em disco
Root no Android
Sistema Operacional de Tempo-Real
Obtida de "https://pt.wikipedia.org/w/index.php?title=Sistema_operativo&oldid=57963769"
Esta página foi editada pela última vez às 18h47min de 5 de abril de 2020.
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 (http://books.google.co
m/?id=-PDPBvIPYBkC&lpg=PP1&pg=PP1#v=
onepage&q). [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. 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
Referências
Referências bibliográficas
Ver também
https://pt.wikipedia.org/wiki/Sistema_operacional_m%C3%B3vel
https://pt.wikipedia.org/wiki/Pseudossistema_operacional
https://pt.wikipedia.org/wiki/Sistema_distribu%C3%ADdo
https://pt.wikipedia.org/wiki/Inter-Process_Communication
https://pt.wikipedia.org/w/index.php?title=Desktop_online&action=edit&redlink=1
https://pt.wikipedia.org/wiki/Sistema_operacional_em_disco
https://pt.wikipedia.org/wiki/Root_no_Android
https://pt.wikipedia.org/wiki/Sistema_operacional_de_tempo-real
https://pt.wikipedia.org/w/index.php?title=Sistema_operativo&oldid=57963769
http://books.google.com/?id=-PDPBvIPYBkC&lpg=PP1&pg=PP1#v=onepage&q
https://pt.wikipedia.org/wiki/International_Standard_Book_Number
https://pt.wikipedia.org/wiki/Especial:Fontes_de_livros/0-387-95113-X
08/05/2020 Sistema operativo – Wikipédia, a enciclopédia livre
https://pt.wikipedia.org/wiki/Sistema_operativo 12/12
Este texto é disponibilizado nos termos da licença Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC BY-SA 3.0) da
Creative Commons; pode estar sujeito a condições adicionais. Para mais detalhes, consulte as condições de utilização.
https://creativecommons.org/licenses/by-sa/3.0/deed.pt
https://foundation.wikimedia.org/wiki/Condi%C3%A7%C3%B5es_de_Uso

Continue navegando