Sistemas Operacionais Parte I

SISTEMAS OPERACIONAIS - Minhas Anotações da Aula 1 - Prof. Helmuth

No início não havia sistemas operacionais nas máquinas, o primeiro sistema que surgiu era um gerenciador de fila para tarefas a serem executadas, era mono tarefa e monousuário. Este sistema ajudava pois antes era necessário que um programador/cientista ficasse monitorando o computador para que quando terminasse de executar uma tarefa fosse iniciada a próxima, então este SO fazia isso automaticamente e aproveitava melhor a capacidade de processamento.

A segunda evolução proporcionada pelos sistemas operacionais foi fazer executar mais de uma tarefa ao mesmo tempo, tornado-se multitarefa, isso levou vários anos para ser desenvolvido, mas foi um grande avanço na área da computação. Nesta segunda geração o SO torna-se um gerente de recursos, gerenciando memória, armazenamento em disco ou fitas, processamento entre outros. Agora os programas não conversam mais com o hardware e sim com o sistema operacional para alocar memória etc.

Um problema dos sistemas operacionais eram escritos para determinadas máquinas e quando você trocava de hardware os softwares precisam ser reescritos pois não funcionavam mais. A primeira a criar uma solução para este problema foi a IBM com o Multics que dava bastante pau, mas permitia trocar de hardware e manter os softwares, geração 360, depois veio o Unics que mais adiante deu nome para os Unix.

A terceira geração de S.O. além de serem multitarefa, podiam ser acessados por vários usuários, ou seja, eram multiusuário. Nesta geração ainda dominavam os computadores de grande porte.

Finalmente na quarta geração de SO vieram os microcomputadores, foi necessário desenvolver um novo sistema operacional, a IBM que dominava nesta época não conseguiam criar um sistema para máquinas com tão pouco processamento, eles estavam acostumados a pensar grande. Pra resolver a IBM contratou uma empresinha chamada Microsoft, que tinha comprado um SO para microcomputador recentemente e estava concluindo ele. Nesta geração os SO precisavam rodar com poucos recursos e precisam ter mais usabilidade para que usuários domésticos pudessem usar. Em 84 a Apple revolucionou o mercado lançando o Macintosh, com ambiente gráfico, mouse, disquete 3/2 entre outros, melhorando muito a usabilidade, foi o primeiro computador que bastava tirar da caixa e ligar na tomada para usar, os outros praticamente precisavam de um engenheiro do lado pra instalar, se você pesquisar pode ver o comercial no youtube.

A quinta geração é a geração dos sistemas operacionais modernos, que são os que usamos atualmente. Contam com acesso a rede, ambiente gráficos, são multitarefa e multiusuário e possuem uma alta usabilidade.


Porque estudar essa história?

É interessante estudar a história dos sistemas operacionais porque essa história se repete sempre que é lançado algum hardware massivamente como quando começou a ser utilizado computadores pessoais, eles tinham pouca capacidade de processamento e por isso os sistemas operacionais eram bem básicos, com a evolução da capacidade de processamento nos PCs pode-se criar sistemas operacionais multitarefa, depois multiusuários etc. Da mesma maneira os celulares, logo que foram lançados nem sistema operacional tinham, apenas a aplicação que controlava uma lista de contatos e permitia receber e fazer chamadas. Hoje os celulares já contam com sistemas multitarefa e já se preocupa com a segurança nestes sistemas, temos SO's muito bons como Android e IOS conectados com a Internet e sujeitos a pegar vírus.

Atividades
Atividades

Observação: respostas mal e mal anotadas durante falas do professor, as gerações variam conforme o autor, seguimos a classificação do Tanenbaum nestas respostas.


1) Defina Sistema Operacional.
Um sistema operacional deve gerenciar e distribuir recursos de hardware entre os processos que estão rodando, também deve funcionar como uma camada intermediária entre o hardware e o usuário para facilitar o desenvolvimento de programas.

2) O que é e qual a diferença entre o modo núcleo e o modo usuário dos programas do Sistema Operacional?
No modo núcleo o processo rodando tem acesso a toda memória e a todos comandos que o processador dispõem. Os processos comuns rodados pelo usuário rodam em modo "usuário", só podendo acessar a área da memória que foi definida para ele e não tem acesso a todos os comandos do processador. Alguns sistemas operacionais rodam em modo "real" e outros em modo "protegido". EM modo real são sistemas operacionais mais antigos que não utilizam o recurso de escolher entre modo núcleo ou usuário, então todos os processos tem acesso a todo o hardware. Nestes sistemas que rodam modo real, antigos, era muito comum a tela azul porque muitas vezes um processo do usuário acabava tentando utilizar espaços da memória que eram dos processos do sistema dando erro, tratando de Microsoft, este problema foi resolvido a partir do windows 2000, se pegar o win98 e rodar um programa C alocando bastante memória (malloc) provavelmente verá  uma tela azul de erro, nos windows mais novos isso gera a mensagem de erro que o programa tentou executar uma operação ilegal e é fechado antes da tela azul.

3) Que tipo de complexidade de hardware o sistema operacional esconde? Dê um exemplo. 
 Na hora de gravar um arquivo, o sistema operacional esconde do usuário as trilhas do HD em que está gravando os dados etc

4) Quais são as principais características da primeira geração dos S.O.?
 Painéis de programação sem sistema operacional.

5) Quais são as principais características da segunda geração dos S.O.?
 Sistema em lote, S.O. funcionava como gereciador de filas de programas.

6) Quais são as principais características da terceira geração dos S.O.?
 Entra conceito de circuito integrado e torna-se multitarefa, vários programas rodando ao mesmo tempo.

7) Quais são as principais características da quarta geração dos S.O.?
 Computadores pessoais, preocupação com usabilidade.

8) O que diferencia um S.O. de computador de grande porte para um S.O. de servidor?
S.O. para computador de grande porte (grande mesmo, imagina o pc que roda o banco de dados do SISBB - Banco do Brasil) processa muitas transações, normalmente pequenas, precisa gerenciar uma capacidade gigante de memória, muitos terabytes de memória RAM. Quando se liga uma máquina dessas levam horas carregando as memórias, cache etc, até pouco tempo não podia ser Windows simplesmente porque nenhuma das melhores versões do windows conseguia gerenciar tanta memória, parece que agora há uma versão Windows HPC Server... Então, são sistemas operacionais especiais, normalmente versões modificadas de SUSE, RED HAT, SOLARIS etc para conseguir gerenciar esta enorme quantidade de memória, processadores e executar as milhares de transações executadas em paralelo. Estes SO não podem travar/trancar/dar pau e também não podem necessitar ser reiniciados pois levaria muito tempo para religar.

SO para servidor precisam ser bons em serviços de rede como servidor de arquivos, e-mail, DNS etc. As tarefas podem ser bem variáveis, ou seja, o tamanho das transações variam e existem diversos sistemas para isso, Windows Server, Ubuntu Server, Red Hat etc.

9) No que os S.O. de tempo real são diferentes de todos os demais?
Normalmente são linux modificados, são diferentes dos outros no fato de que estes garantem um tempo máximo para a execução. Nos SO normal há um sistema de prioridade nos processos, sendo que a execução pode ser postergada por um tempo indeterminado, já nos SO de tempo real você tem uma certeza sobre essa demora para execução. No ethernet também há este problema pois o tempo de envio dos dados é incerto, pesquise CSMA-CD, então em problemas que exigem S.O. de tempo real normalmente utilizam uma rede Token Ring onde os tempos de comunicação podem ser determinados.

10) Qual é a categoria dos SO dos palmtops ou handhelds?
Embarcado

11) Um SO pode ser independente de hardware, ou seja, funcionar em qualquer plataforma?
Não. Um SO é escrito para um processador específico, normalmente essa parte é escrita em Assembler, e os comandos Assembler podem variar conforme o processador. O que pode ser mais universal é que os SO normalmente são escritos em C e existem compiladores de C para diversos processadores.

12) O que é um "barramento" de hardware?
Proporciona comunicação em CPU, memória e demais dispositivos do hardware.

13) Diferencie organização "pipeline" de superescalar.
Pipeline é quando faz tipo uma linha de produção para executar as tarefas, superescalar  tem várias unidade de execução, podendo executar paralelamente.

14) Qual é o principal componente de hardware de um computador?
O Processador.

Comentários

Postagens mais visitadas deste blog

Solução para problemas com impressora de cheque Bematech DP-20

Como bloquear Facebook Youtube no Mikrotik

SIOPE 2017 - Instalação e Restauração Cópia de Segurança