De acordo com Silberschatz et al (1999), Sistema Operacional (SO) consiste em um programa
responsável de realizar uma “ponte” entre o usuário e o hardware, propiciando
um meio pelo qual o usuário possa executar outros programas de forma eficaz e
eficiente. O sistema deve garantir uma operação de forma que outros softwares
não interfiram de forma errônea na operação. O hardware é responsável por prover
mecanismos apropriados que possam garantir o funcionamento adequado.
Conforme DCA(2014), Todo conjunto de programas é composto basicamente
por:
·
- Software básico: representado por conjuntos de programas essenciais para o funcionamento do sistema;
- Software aplicativo: conjunto de programas que serão utilizados pelo usuário.
Pode-se verificar o esquema básico do funcionamento de um SO na figura 01.
Figura 01 - Diagrama de funcionamento de um SO
Figura 01 - Diagrama de funcionamento de um SO
![]() |
Fonte: Silberschatz et al (1999) |
Um processo e basicamente um programa em execução divididos em etapas:1. Código executável e dados referentes ao código;2. Pilha de execução;3. Valor dos registradores do hardware;4. O conjunto de informações necessárias a execução do programa;
Esses processos competem aos recursos, e o SO deve garantir a cada processo:
1. Uma quantidade de memória;2. O uso da CPU;3. O acesso aos dispositivos;4. O controle do fluxo de dados;5. A localização dos arquivos necessários. (DCA,2014)
Segundo Prudente (2007), primeiros computadores eram máquinas enormes operadas por um console, basicamente seguiam as seguintes filosofias :
- Arquitetura de Havard: Usada no Mark-I, construído na Universidade Harvard, pela IBM(1944). Consistia em memórias distintas para instruções e dados, as principais vantagens eram memórias não precisam ter as mesmas características, o processador pode ler instruções e dados simultaneamente (maior velocidade). (Ver figura 02)
Figura 02 - Diagrama Havard
![]() |
Fonte: Prudente, 2007 |
- Arquitetura de Von Neumann: Arquitetura concebida por John von Neumann, na Universidade de Princeton, que levou à construção do EDVAC, primeiro computador eletrônico (a válvulas) programável e de propósito geral, em 1952. Ao contrário da arquitetura de Harvard, a principal ideia de von Neumann era armazenar dados e instruções na mesma memória, trazendo com isso, maior versatilidade e simplicidade de operação e construção. As principais vantagens são: versatilidade e simplicidade. (ver figura 03)
Figura 03 - Diagrama Von Neumman
![]() |
Fonte: Prudente, 2007 |
Com o avanço da tecnologia, arquiteturas híbridas que utilizam os dois conceitos, foram aplicadas nos hardwares modernos. Conforme DCA(2014), para atender a demanda tecnológica, os sistemas operacionais também seguem filosofias semelhantes as dos hardwares, sendo classificados como:Os computadores, em geral, utilizam arquitetura de von Neumann, pois são construídos para serem versáteis, para aplicações gerais. A mesma memória é usada para dados e instruções, e cabe ao Sistema Operacional organizar a separação. Além das arquiteturas, os sistemas programáveis podem ser classificados quanto ao conjunto de instruções que são capazes de executar. Nesse caso, também, existem centenas de famílias diferentes de dispositivos, cada uma com seu próprio conjunto de instruções, todos incompatíveis entre si, mas podemos dividi-las em duas grandes categorias:
- RISC, com conjunto de instruções reduzido, prima pela simplicidade da CPU, visando maior velocidade, menor custo e consumo de energia. Muitos microcontroladores são RISC.
PRUDENTE,2007
- CISC, com um conjunto de instruções grande e complexo, visam maior poder de processamento, executando operações mais complexas com uma única instrução. Muitos microprocessadores (dos Pcs, por exemplo) são CISC.
- Sistemas monoprogramáveis/ monotarefa: não admite o uso de mais de um usuário de forma simultânea, sob o gerenciamento de uma CPU;
- Sistemas Multiprogramáveis/multitarefa: usuário executa várias tarefas de cada vez, logo os programas alternam a utilização da CPU;
- Sistemas com múltiplos processadores: são caracterizados por possuir várias CPU'S interligadas, trabalhando conjuntamente.
É importante ressaltar que no mercado atual, é fundamental um SO implementar uma interface entre o usuário e a máquina. Esse mecanismo de camadas é descrito na figura 04.
Figura 04- Camadas de um SO
![]() |
Fonte: DCA,2014 |
System Calls fornecem a interface entre os processos e o sistema operacional. Estas “chamadas” estão geralmente disponíveis como instruções da linguagem Assembly, e são normalmente encontrados nos manuais usados por programadores de linguagens Assembly. Alguns sistemas permitem que as system calls sejam criadas diretamente a partir de um programa em linguagem de alto nível( Linguagem C, Pascal, FORTRAN).
A partir do momento que as “chamadas ao sistema” servem de interface entre os processos e o SO, essas são o mecanismo de proteção ao núcleo do SO e também de acesso aos seus serviços, como se fossem as portas de entrada para os processos.
DCA,2014
Bibliografia
DCA, Noções de Sistemas Operacionais. Disponível em: http://www.dca.ufrn.br/~xamd/dca0800/Cap03.pdf, Acessado em: 25/07/2014
Prudente, F. Microcontroladores - Aula01, 2007. Disponível em: http://groups.google.com/group/uc-cefet-se, Acessado em: 20/07/2014
Nenhum comentário:
Postar um comentário