Itligado.files.wordpress.com



UNIVERSIDADE EDUARDO MONDLANE

FACULDADE DE ENGENHARIA

Curso de Engenharia Informática – Pós Laboral

Cadeira de Informática

Sistemas Operativos

Discentes:

Bruno Miguel Chan Son João Salomão Mubetei Norberto Bonifácio Gatsi Pinto Daniel Cônjua

Docentes:

RoxanCadir

Vali Issufo

Índice

1. Introdução 3

2. Desenvolvimento 4

2.1 Origem e evolução dos sistemas operativos 4

2.1.1 Motivo para o desenvolvimento do Sistema Operativo 5

2.2 Conceito de Sistemas Operativos 6

2.3 Objectivos dos Sistemas Operativos 6

2.5 Componentes de um Sistema Operativo 7

2.6 Principais funções de Sistemas Operativos 7

2.7 Atributos de qualidade de Sistemas Operativos 8

2.7 Classificação de Sistema Operativo 8

2.7.1 Pelo serviço 8

2.7.2 Quanto ao tipo 8

2.7.3 Quanto a sua estrutura 9

2.8 Tipo de ambiente de Sistemas Operativo 10

3. Considerações finais 11

4. Referência bibliográfica 12

1. Introdução

Desde os tempos primordiais que o homem descobriu ser dotado de uma capacidade especial que a diferenciava a dos outros seres, isto e a de pensar, possibilitou com que inventasse mecanismos que o auxiliassem nas suas tarefas do seu dia-a-dia. Basicamente estes mecanismos, designados por máquinas, aumentam a capacidade de realizar uma determinada tarefa ao mesmo tempo e em curto espaço de tempo. Á séculos que o homem vem inventado máquinas e aperfeiçoando os mesmos de forma a corresponder as exigências das suas necessidades. Uma destas máquinas que revolucionou o trabalho do homem, em diversos meios de aplicação é sem dúvida o computador. Este que é resultado, das frequentes mudanças registadas ao longos dos várias gerações desde o primeira concepção do computador, serviu de ponte de inspiração para as gerações que empenharam em construir algo realmente notável que estivesse a altura de realizar as operações exigidas pelo homem. A evolução do computador está ligada directamente aos sistemas operativos, que serve de ponte entre a máquina e o utilizador. Neste trabalho focaremos a essência da existência do sistema operativo, que é parte importante da máquina que revolucionou a vida do homem.

2. Desenvolvimento

2.1 Origem e evolução dos sistemas operativos

Na primeira geração de computadores (1945-1955), os computadores eram tão grandes que ocupavam imensas salas. Foram basicamente construídos com válvulas e painéis, altura em que não existiam sistemas operativos. Os programadores, que também eram os operadores, controlavam o computador por meio de chaves, fios e luzes de aviso.

Na geração seguinte (1955-1965), foram criados os sistemas em lote (batch systems), que permitiram melhor uso dos recursos computacionais. A base do sistema operativo 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, que por sua vez usava uma linguagem de controlo chamada JCL (job control language).

No início da computação os primeiros sistemas operativos eram únicos, pois cada mainframe vendido necessitava de um sistema operativo específico. Esse problema era resultado de arquitecturas diferentes e da linguagem de máquina utilizada. Após essa fase, iniciou-se a pesquisa de sistemas operativos que automatizassem a troca de tarefas (jobs), pois os sistemas nessa atura eram mono usuário e tinham cartões perfurados como entrada (eliminando, assim, o trabalho de pessoas que eram contratadas apenas para trocar os cartões perfurados).

Um dos primeiros sistemas operativos foi o CTSS, desenvolvido no MIT. Após o CTSS, o MIT, os laboratórios Bell da AT&T e a General Eletric desenvolveram o Multics, cujo objectivo era suportar centenas de usuários. Apesar do fracasso comercial, o Multics serviu como base para o estudo e desenvolvimento de sistemas operativos. 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 operativos eram geralmente programados em assembly, até mesmo o Unix em seu início. Então, Dennis Ritchie 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). Na década de 1970, quando começaram a aparecer os computadores pessoais, houve a necessidade de um sistema operativo 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, baptizam-no de DOS (Disk Operating System) e vendem licenças à IBM. O DOS vendeu muitas cópias, como o sistema operativo padrão para os computadores pessoais desenvolvidos pela IBM. IBM e Microsoft fariam, ainda, uma parceria para o desenvolvimento de um sistema operativo multitarefa chamado OS/2.

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 kernel de sistema operativo e perguntou se alguém gostaria de auxiliá-lo na tarefa. Este estudante chamava-se Linus Torvalds e o primeiro passo em direcção ao tão conhecido Linux foi dado naquele momento.

2.1.1 Motivo para o desenvolvimento do Sistema Operativo

Há muito tempo tem-se tentado libertar o usuário do computador da complexidade do hardware.

Isto tem sido feito colocando-se uma camada de software sobre o hardware de modo que este software gere todas as partes do sistema. Assim o usuário seria apresentado com uma interface que é mais fácil de entender e de programar. Esta interface é chamada de máquina virtual é uma vista do sistema do Cima para baixo (Top-Down). A vista alternativa dum sistema operativo, do nível do Hardware, é uma vista “Bottom Up” e visualize o sistema operativo com um gestor do próprio hardware. Estas duas vistas são visualizadas na figura em baixo:

2.2 Conceito de Sistemas Operativos

É um software de sistema que funciona como interface entre o utilizador e o hardware do computador. A sua função é fornecer um ambiente no qual o utilizador possa executar os seus programas.

Objectivo é tornar o sistema conveniente para o uso e a utilização do hardware mais eficiente através da sua ferramenta de gestão quer a nível de hardware quer a nível de software.

Visto que um aplicativo não controla directamente as funções do sistema, este é dirigido pelo Sistema Operativo através de chamadas ao sistema (system calls).

2.3 Objectivos dos Sistemas Operativos

Criar uma máquina virtual sobre a máquina física que ofereça todos recursos lógicos necessários para o desenvolvimento de aplicações.

O sistema operativo torna possível:

➢ Executar programas do utilizador e tornar mais fácil a resolução de problemas.

➢ Suporte e gestão dos recursos lógicos (software).

➢ Tornar conveniente a utilização do computador.

➢ Utilizar os recursos físicos (hardware) do computador de forma eficiente.

2.4 Sistemas Operativos mais difundidos

Existem vários sistemas operativos, entre eles, os mais utilizados no dia-a-dia, normalmente utilizados em computadores domésticos e celulares, são o entre eles: Windows, Linux, Mac OS X, Symbian e Android.

2.5 Componentes de um Sistema Operativo

Um Sistema Operativo tipicamente apresenta as seguintes componentes:

➢ Gestão de processos

O sistema operativo é responsável por alocar um tempo na CPU à todas as aplicação em execução, fornecendo os mecanismos da sua sincronização.

➢ Gestão da memória principal

Verificar que partes da memória estão sendo acedidas e por quais processos. Decide que processos devem ser alocados ou retirados da memória, reservar o espaço para diferentes funções sistema operativo, etc.

➢ Gestão dos dispositivos de Entrada e Saída (I/O)

Garantir que todos os dispositivos de entrada e saída tenham todos os recursos necessários para se comunicarem com a CPU e o resto do sistema.

➢ Gestão da memória secundária

O sistema operativo é responsável pela gestão dos discos: criar volumes lógicos (partição) e sua identificação, alocação de dados, gestão do espaço livre, etc.

➢ Gestão do sistema de ficheiros

O sistema operativo fornece uma estrutura lógica na qual os usuários podem criar, eliminar directorias e ficheiros, ou ainda manipulá-los.

➢ Gestão da rede

Gere os serviços e protocolos que asseguram a comunicação entre computadores em ambiente de rede

2.6 Principais funções de Sistemas Operativos

➢ Máquina Virtual

O sistema operativo cria uma camada de software que esconde o hardware, definindo uma máquina virtual que disponibiliza diversos recursos físicos e lógicos que possam ser utilizados pelas aplicações.

➢ Gestor de Recursos

Gere e optimiza a utilização dos recursos físicos e lógicos - como qualquer outra função de gestão esta actividade do sistema operativo deve ter em consideração diversos objectivos como o desempenho, a utilização eficaz do investimento no hardware, o controlo de utilização dos recursos pelos utilizadores, etc.

2.7 Atributos de qualidade de Sistemas Operativos

➢ Desempenho

Gestão eficiente dos recursos físicos que suportam os lógicos.

➢ Segurança

• Garantir o isolamento dos utilizadores

• Permitir a partilha segura dos recursos lógicos.

➢ Fiabilidade

• Detectar um conjunto de falhas.

• Tolerar um conjunto de erros.

➢ Interface de Programação Completa e Simples

• Facilitar a concepção de aplicações, sua manutenção e portabilidade.

➢ Interface de operação e gestão de recursos lógicos de fácil utilização

2.7 Classificação de Sistema Operativo

2.7.1 Pelo serviço

2.7.1.1 Sistemas Operativos em rede

Que tem a capacidade de interagir com outros sistemas operativos em outros computadores visando a partilhar recursos.

2.7.1.2 Sistemas Operativos distribuídos

Estes abraçam serviços de rede logrando integrar recursos como impressora, espaço no disco de uma máquina que o utilizador acede.

2.7.2 Quanto ao tipo

Dentro da vasta família de sistemas operativos há geralmente 4 tipos, classificados de acordo com o tipo de computador que eles suportam, sendo que os principais são:

2.7.2.1 Sistema Operativo em Tempo Real (RTOS- Real Time Operating System)

Utilizados para controlar máquinas científicas e sistemas industrias, sistemas de controlo tráfego aéreo, centrais telefónicas, etc.

Tipicamente tem pouco de interface de usuário e quase sem nenhum utilitário do usuário.

A parte mais importante de RTOS é manejar os recursos do computador de modo que uma operação particular se possa executar precisa e rigorosamente no mesmo intervalo de tempo.

Exemplos: VxWorks, ThreadX, Salvo, Nucleus, OSEK, INTEGRITY, eCOS e RTLinux.

2.7.2.2 Mono-Usuário, Mono-Tarefa

Apenas um utilizador de cada vez a executar um única tarefa (aplicação)

Exemplo: MS DOS (Microsoft Windows), System 7 (MAC)Palm OS (em computadores Palm Top), Java OS, etc.

2.7.2.3 Mono-Usuário, Multi-Tarefa

Apenas um usuário com vários programas a correm em simultâneo

Exemplos: Microsoft Windows 95 NT, 98, primeiras versões de MAC OS.

2.7.2.4 Multi - Usuário

Permite que vários utilizadores tiram vantagem dos recursos do computador de forma concorrente. O sistema operativo deve assegurar que as exigências dos usuários sejam balanceadas, e que cada programa que eles usam tenha recursos suficientes e isolados de modo que os problemas de um utilizador não afectem toda comunidade de utilizadores.

Exemplos: VMS (Sistema Operativos em computadores Mainframes, Windows server), Linux e UNIX.

2.7.3 Quanto a sua estrutura

2.7.3.1 Sistemas Operativos Monolíticos

Nesta estrutura os sistemas operativos são caracterizados pela não existência de nenhuma estrutura. Todos os procedimentos são implementados no núcleo.

O sistema operativo é escrito como um conjunto de procedimentos, onde cada um pode evocar o outro assim que desejar.

Não existe nenhuma. Cada procedimento é visível aos outros, o que é diferente das outras as estruturas.

Figura 1. Estrutura monolítica

2.7.3.2 Modelo Cliente/Servidor

A tendência dos sistemas operativos modernos é baseada na ideia de mover o código para níveis cada vez mais altos, o máximo possível, deixando um kernel mínimo.

O procedimento mais comum é implementar muitas funções do Sistema Operativo nos processos dos utilizadores.

Neste modelo tudo quanto o kernel faz é gerir a comunicação entre os processos clientes e servidores.

Se os programas executados pelo usuário, precisarem de memória, vão pedir serviço de gestão de memória, pelo que o programa se torna cliente e o gestor de memória servidor.

2.8 Tipo de ambiente de Sistemas Operativo

➢ Interface Linha de comandos

Alguns sistemas operativos apenas fornecem interface de usuário baseado em texto que é linha de comandos (Command line interface). Esta exige um conhecimento prévio dos comandos e respectiva sintaxe

Exemplo: C:\> COPY A:\AULA.TXT C:

➢ Interface gráfica

Outros sistemas operativos são concebidos de modo fornecer um ambiente gráfico e amigável (GUI-Graphical User Interface, User-friendly), baseado em objectos (ícones, janela, caixas de diálogos, etc.) de fácil utilização, isto é, intuitivo.

➢ Interface de usuário de texto

Sistemas operativos desse género tem à disposição um ambiente de trabalho composto por menus, janelas e botões, porém essas interfaces não têm a capacidade de reproduzir figuras. Teve seu uso difundido em aplicações baseadas no MS-DOS. Actualmente essa interface é muito rara, praticamente restrita a sistemas implementados na década de 1980 e início da década de 1990.

3. Considerações finais

Sistemas Operativo permitem explorar de forma transparente os recursos que o computador coloca à disposição do utilizador, nomeadamente, impressora, teclado, rato monitor, unidade de disquete, disco duro, memória, programas aplicativos, etc. De modo que este execute as tarefas adequadas a sua necessidade. Basicamente opera todas as instruções de forma automática obedecendo as regras de programação contidas nela tornando possível desse modo a execução de tarefas adequadas ao sistema físico contigo no hardware dos computadores e o sistema lógico que vêem embutido no software do sistema operativo.

4. Referência bibliográfica

António Blanco e Henrique Cesar Ulbrich Sistema+operativo+Unix+completa+anos.html

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



Viamonte, Maria João, Ferreira, Luís Lino, Componentes de um Sistema Operativo, Fevereiro de 2006

Peter, Jandl Jr., Sistemas Operacionais, 2006

Catijima, João Paulo, Sistemas Operacionais

-----------------------

Maputo, 05 de Março de 2012

-----------------------

12

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download