SISTEMA OPERACIONAL - Campus Sinop | Site da...

8
SISTEMA OPERACIONAL Um sistema operativo ou sistema operacional ou ainda software de sistema é 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 auto-sustentá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 alguns autores (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum, 1999), existem dois modos distintos de conceituar um sistema operacional: visão top-down pela perspectiva do usuário ou programador: é uma abstração doHardware, fazendo o papel de intermediário entre o software (programas) e os componentes físicos do computador, o (hardware); ou numa visão bottom-up, de baixo para cima: é um gerenciador de recursos, i.e., que controla quais aplicações (processos) podem ser executadas, quando devem ser executadas e quais recursos (memória, disco, periféricos) podem ser utilizados. A sigla usual para designar esta classe de programas é SO (do português, Sistema Operacional ou Operativo) ou OS (do inglês Operating System). Dispositivos físicos: A parte física do equipamento como Chips, unidades de disco, monitor Microprogramação: Conjunto de códigos presente no próprio processador que é capaz de interpretar e executar as instruções em linguagem de máquina. Linguagem de máquina: Conjunto de instruções que podem ser executadas pelo processador, como movimento de dados entre posições de memória, operações lógicas e aritméticas, etc.... Sistema Operacional: Tem como função esconder o hardware e gerenciar os recursos disponíveis no computador. Programas utilitários: Programas que permitem a execução de tarefas importantes como verificação. Programas aplicativos: Todos os programas desenvolvidos pelo usuário ou adquirido de terceiros que podem tornar o computador útil. Usuários Aplicações Sistema Operacional Equipamento

Transcript of SISTEMA OPERACIONAL - Campus Sinop | Site da...

Page 1: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso

SISTEMA OPERACIONAL

Um sistema operativo ou sistema operacional ou ainda software de sistema é 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 auto-sustentá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 alguns autores (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum, 1999), existem dois modos

distintos de conceituar um sistema operacional:

visão top-down pela perspectiva do usuário ou programador: é uma abstração doHardware, fazendo o

papel de intermediário entre o software (programas) e os componentes físicos do computador, o

(hardware); ou

numa visão bottom-up, de baixo para cima: é um gerenciador de recursos, i.e., que controla quais

aplicações (processos) podem ser executadas, quando devem ser executadas e quais recursos

(memória, disco, periféricos) podem ser utilizados.

A sigla usual para designar esta classe de programas é SO (do português, Sistema Operacional ou Operativo)

ou OS (do inglês Operating System).

Dispositivos físicos: A parte física do equipamento

como Chips, unidades de disco, monitor

Microprogramação: Conjunto de códigos presente no

próprio processador que é capaz de interpretar e

executar as instruções em linguagem de máquina.

Linguagem de máquina: Conjunto de instruções que

podem ser executadas pelo processador, como

movimento de dados entre posições de memória,

operações lógicas e aritméticas, etc....

Sistema Operacional: Tem como função esconder o

hardware e gerenciar os recursos disponíveis no

computador.

Programas utilitários: Programas que permitem a

execução de tarefas importantes como verificação.

Programas aplicativos: Todos os programas

desenvolvidos pelo usuário ou adquirido de terceiros

que podem tornar o computador útil.

Usuários

Aplicações

Sistema Operacional

Equipamento

Page 2: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso

Sistemas Operacionais Modernos

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.

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

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.

Funcionamento

Um sistema operacional possui as seguintes funções:

1. gerenciamento de processos;

2. gerenciamento de memória;

3. sistema de arquivos;

4. entrada e saída de dados.

Gerenciamento de processos

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 para determinar qual processo será executado em determinado momento e

por quanto tempo.

Os processos podem comunicar-se, isto é conhecido como IPC (Inter-Process - Communicarion). Os

mecanismos geralmente utilizados são:

sinais;

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.

Page 3: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso

Gerenciamento de memória

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.

Swapping

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.

Sistema de arquivos

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.

Tipos de Sistemas

Sistemas multi-processadores

Os sistemas multi-processadores – dois ou mais processadores trabalhando juntos – podem ser divididos em

duas partes:

Sistemas fortemente acoplados;

Sistemas fracamente acoplados.

Page 4: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso

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 –, existem mais duas divisões:

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).

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.

Interface de uso

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:

Interface de terminal

A interface de terminal, também chamada "CLI" (Command Line Interface) funciona exclusivamente com

teclado e mouse. Os comandos são digitados a partir de um prompt e são interpretados por um

interpretadorde 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.

Page 5: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso

Interface textual

Interfaces Interface gráfica

Interface de voz

Em relação ao seu projeto (arquitetura), segundo Tanenbaum (1999):

Núcleo momolí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 OSX, OS/2,

Windows, MAC OS, Linux, FeeBSD

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.

Quanto ao gerenciamento de processos, pode-se usar a seguinte classificação:

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.

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. Exempo de SO: Windows 3.x e versões anteriores ao Mac OS

8.

Multitarefa preempetiva: É 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.

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

Page 6: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso

Acoplado. Caso esteja em máquinas diferentes, trata-se de um Sistema Multiprocessado Fracamente

Acoplado.

Quanto à quantidade de usuários que podem utilizar o sistema concorrentemente:

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(Secure Shell) é, ao mesmo tempo, um programa de

computador e um protocolo de rede que permitem a conexão com outro computador na rede de

forma a permitir execução de comandos de uma unidade remota. . Ex.: Linux, UNIX.

Referência bibliográfica

TANENBAUM, Andrew. Sistemas operacionais modernos. Rio de Janeiro: LTC. 1999.

Page 7: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso
Page 8: SISTEMA OPERACIONAL - Campus Sinop | Site da UNEMATsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_6703sistema... · Gerenciamento de memória O sistema operacional tem acesso

Fonte: http://www.tecmundo.com.br/sistema-operacional/2031-a-historia-dos-sistemas-operacionais-infografico-

.htm