domingo, 19 de fevereiro de 2012

Sistemas Operacionais:

Introdução

 O sistema operacional é uma camada de software colocada entre o hardware
e os programas que executam tarefas para os usuários.


Fonte: http://wwwusers.rdc.puc-rio.br/rmano/so.gif

É responsável pelo acesso aos periféricos, o que isso quer dizer? 



Sempre que um programa necessita de operação de entrada ou saída, ele solicita ao SO.


Objetivo: Tornar a utilização do computador mais eficiente e conveniente. Para atingir esses objetivos, o SO oferece uma série  de serviços:

* Gerência de memória;
* Gerência de processador;
* Memória virtual;
* Sistemas de arquivos;
* Sistemas de entrada/saída.

Utilização eficiente: Distribuição de recursos entre os programas.
Recursos: Memória principal, tempo de processador, espaço em disco, impressora, etc.

Utilização conveniente: É obtida escondendo-se do programador detalhes do
hardware, em especial os periféricos.


 O usuário acessa serviços do SO através de uma interface, que é formada pelas chamadas de sistemas e pelos programas de sistemas.

 Chamadas de sistemas: Transferem a execução dos programas para o SO quando um programa envia uma solicitação, mudando o modo de execução
de usuário para modo núcleo, por meio de uma instrução de trap. Com isso, o programa, através de um conjunto de parâmetros, informa o que ele realmente quer do SO.



Existem diferentes tipos de chamadas de sistemas e cada sistema operacional implementa um conjunto distinto relacionado as seguintes atividades:
1- Chamadas de sistema para gerenciamento de processos: fork, waitpid, execve, exit, etc.
2. Chamadas de sistema para gerenciamento de arquivos: open, close, read, write, seek, etc.
3. Chamadas de sistema para gerenciamento do sistema de diretórios: mkdir, rmdir, link, mount, umount, etc.
4. Chamadas de sistema diversas: chmod, kill, time, etc.



A parte responsável do SO para implementar as chamadas de sistemas é normalmente conhecida como núcleo ou kernel.


Principais atividades do Kernel:
* Criação, agendamento e finalização de processos;
* Alocação e liberação de memória;
* Controle do sistema de arquivos;
* Operações de entrada/saída com dispositivos periféricos;
* Acesso a memória, etc.

Implementação do Kernel, pode ser organizada de diferentes maneiras:
* Monolítica: BSD, Linux, Solaris, MS-DOS e derivados, incluindo Windows 95, Windows 98 e Windows ME;
* Híbrida: BeOS, Windows NT, XNU;
* Microkernel: Minix;
* Exokernel;
* Camadas.

Programas de sistemas: Conhecidos também como utilitários, são programas normais executados fora do kernel do SO. Implementam tarefas básicas para utilização, e muitas vezes são confundidos com o próprio SO.


Exemplos de programa de sistemas:
* Utilitários para manipulação de arquivos (excel, calc, doc, etc.);
* Listas arquivos;
* Imprimir arquivos;
* Trocar data, hora, nome de arquivos, etc.


O programa de sistema mais importante é o: interpretador de comando.

Interpretador de comando: Tem como tarefa receber os comandos e executá-los. Os comandos podem ser enviados de forma textual (MS DOS, Shell, entre outros) ou por meio de uma interface gráfica de usuário (GUI - Windows, Linux, Mac).


O SO não resolve problemas do usuário final. 


O SO é ativado somente quando ocorre um evento especial (temos 2 tipos):
* Uma chamada do sistema ou;
* Interrupção de periférico.




Os SOs podem ser classificados  com base em inúmeros critérios, os mais comuns são:

1- Número de usuários
- Monousuário (suporta um único usuário, ex. MS DOS, Win 3x, Win 9x) e;
- Multiusuários (suporta várias sessões de usuários, ex. Win NT, Win XP, Win 7, Unix).

2- Número de tarefas
- Monotarefa (apenas uma tarefa por vez, ex. MS DOS) e;
- Multitarefa (várias tarefas simultaneamente, como uma compilação e um processamento de texto, ex. Windows, Unix, etc.).


3- Tipo de serviço oferecido ao usuário:
- Sistemas de processamento em lote (batch);
- Sistemas de tempo compartilhado (time sharing);
- Sistemas de tempo real (real time);
- Sistemas Mainframes;
- Sistemas desktops;
- Sistemas distribuídos;
- Sistemas handheld;
- Sistemas paralelos.

Por enquanto é só! 

Próximo post: Tipos de Sistemas.

Fontes: Com adaptações conforme minha interpretação
www.candidatoreal.com.br
http://sites.google.com/site/jmlaine/so - http://sites.google.com/site/jmlaine/so/AULA01-Introdu%C3%A7%C3%A3o.pdf

Caso tenha sugestões, complementos ou correções fique à vontade para comentar.

Nenhum comentário:

Postar um comentário

Sejam bem vindos!


Espaço destinado às novidades sobre o mundo da tecnologia, experiências (idéias, protótipos, soluções, dentre outros), jogos e principalmente materiais de TI (apostilas, artigos, projetos, provas, etc).

A maioria do material postado aqui será de tutoriais garimpados ou comprados na net, e terá um toque feminino (o meu, é claro :-D), mas podem ficar tranquilos, todos terão os devidos créditos.


Viu algum material seu e não teve crédito? Avise!!! "Creditarei" com o maior prazer.