Centro de Ciências da Economia e Informática Campus

Propaganda
UNIVERSIDADE DA REGIÃO DA CAMPANHA
Centro de Ciências da Economia e Informática
Campus Universitário de Sant’Ana do Livramento
ANDERSON LUIZ KRÖTZ
LAURA TORRES
LEONARDO BUSTAMANTE
MARCELO MOREL
MARIANA DO AMARAL
MARIANA GIACOMINNI
MATEUS LARRATEA
WILLIAN NUNES TORRES
SISTEMA OPERACIONAL
Sant’Ana do Livramento
2014
ANDERSON LUIZ KRÖTZ
LAURA TORRES
LEONARDO BUSTAMANTE
MARCELO MOREL
MARIANA DO AMARAL
MARIANA GIACOMINNI
MATEUS LARRATEA
WILLIAN NUNES TORRES
SISTEMA OPERACIONAL
Trabalho apresentado para avaliação do rendimento
acadêmico na disciplina de Tecnologia da Informação,
Curso de Ciências Contábeis da Universidade da
Região da campanha, Campus Universitário de
Sant’Ana do Livramento.
Sant’Ana do Livramento
2014
Sumário
INTRODUÇÃO.............................................................................................................5
SISTEMA OPERACIONAL...........................................................................................6
1. O QUE É UM SISTEMA OPERACIONAL?.............................................................6
2. HISTÓRIA DOS SISTEMAS OPERACIONAIS.......................................................6
2.1
2.2
2.3
2.4
A primeira geração(1945 – 1955) – Válvulas.........................................................7
A segunda geração(1955 – 1965) – Transistores e sistemas em lote...................7
A terceira geração(1965 – 1980) – CIs e multiprogramação.................................8
A quarta geração(1980 – presente) – Computadores pessoais............................9
3. TIPOS DE SISTEMAS OPERACIONAIS..............................................................10
3.1
3.2
3.3
3.4
3.5
3.6
3.7
Sistemas Operacionais de Computadores de Grande Porte...............................10
Sistemas Operacionais de Servidores.................................................................10
Sistemas Operacionais de Multiprocessadores...................................................10
Sistemas Operacionais de Computadores Pessoais...........................................11
Sistemas Operacionais de Tempo Real...............................................................11
Sistemas Operacionais Embarcados....................................................................11
Sistemas Operacionais de Cartões Inteligentes...................................................12
4. CONCEITOS DE SISTEMAS OPERACIONAIS....................................................12
4.1
4.2
4.3
4.4
4.5
Processos.............................................................................................................12
Sistemas de arquivos............................................................................................13
Entrada e saída.....................................................................................................13
Segurança............................................................................................................14
Espaços de endereçamento.................................................................................15
5. ESTRUTURA DOS SISTEMAS OPERACIONAIS................................................15
5.1
5.2
5.3
5.4
5.5
5.6
Sistemas monolíticos............................................................................................15
Sistemas em camadas..........................................................................................16
Micronúcleo ou microkernel..................................................................................16
Sistemas Cliente-Servidor....................................................................................17
Máquina virtual.....................................................................................................17
Exonúcleo.............................................................................................................17
CONCLUSÃO.............................................................................................................19
REFERÊNCIAS BIBLIOGRÁFICAS...........................................................................20
Introdução
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.
Os computadores têm um dispositivo de software denominado sistema
operacional, cujo trabalho é fornecer aos programas do usuário um modelo de
computador melhor, mais simples e mais limpo e lidar com o gerenciamento de todos os
recursos.
Na parte inferior vemos o hardware. Ele consiste em chips, placas, discos,
teclado, monitor e objetos físicos semelhantes. Na parte superior do hardware está o
software. A maioria dos computadores tem dois níveis de operação: modo núcleo e
modo usuário. O sistema operacional é a peça mais básica do software e opera em
modo núcleo. Tudo o que é executado em modo núcleo constitui parte do sistema
operacional, mas alguns programas executados fora dele também são parte dele, ou
pelo menos estão associados a ele.
Em um ambiente de acirrada competição e de suma exigência, o mercado de
sistemas operacionais tornou-se cada vez mais complexo e difícil de se projetar ou
aperfeiçoar estes sistemas, pois a partir deste momento o projeto deixou de ser uma
ciência exata, para ser mais um projeto de engenharia. É mais difícil estabelecer
objetivos claros e alcançá-los. Para projetar um sistema operacional que ofereça a
usabilidade que o usuário necessita precisamos ter objetivos, a falta deste torna mais
difícil a tomada de decisões.
De tal maneira, apresentaremos a história dos sistemas operacionais,
salientando os tipos de sistemas operacionais, estrutura e diversos conceitos sobre eles
descritos.
SISTEMA OPERACIONAL
1. O QUE É UM SISTEMA OPERACIONAL?
Sistema Operacional é o software que está entre o hardware, parte física, e os
demais aplicativos.
Segundo Tanenbaum,o sistema operacional fornece aos programas do usuário um
modelo de computador mais simples e lida com o gerenciamento de recursos como
processadores, memória principal, discos, impressoras, teclado, mouse, monitor,
interfaces de rede e outros dispositivos de entrada e saída.
Os usuários estão mais acostumados com sistemas operacionais da família
Windows, porém existem outros como, Mac OS X, LINUX e FreeBSD. Em todos esses
sistemas os usuários utilizam programas para interagir com o sistema, no caso do
Windows, o Windows explorer, o seu gerenciador de tarefas, o qual possui janelas e
ícones, mas este é mais um programa que executa no sistema operacional.
O sistema operacional é o núcleo que possibilita o acesso dos demais programas ao
hardware, executando qualquer instrução que a máquina possa executar.
Ele é invisível para o usuário, tudo o que vimos, na verdade, é um programa
executando no sistema operacional, uma interface do usuário. Em síntese, o SO opera
diretamente no hardware e fornece a base para todos os outros softwares.
Os sistemas operacionais são difíceis de se escrever, os sistemas mais conhecidos
possuem aproximadamente 5 milhões de linhas de código de programação, em virtude
disso, as empresas reaproveitam o que já foi desenvolvido e só atualizam suas versões
antigas.
2. HISTÓRIA DOS SISTEMAS OPERACIONAIS
Os sistemas operacionais vêm passando por um processo gradual de evolução.
Como a história dos sistemas operacionais é bastante ligada à arquitetura de
computadores sobre a qual eles são executados, apresentaremos as sucessivas
gerações de computadores para entendermos as primeiras versões de sistemas
operacionais. Os desenvolvimentos não esperaram que os anteriores terminassem
antes de se iniciarem.
O primeiro computador digital foi projetado pelo matemático inglês Charles
Babbage (1792 – 1871). Embora Babbage tenha empregado a maior parte de sua vida
e de sua fortuna para construir sua ‘’máquina analítica’’, ele nunca conseguiu vê-la
funcionando de modo apropriado, pois era inteiramente mecânica e a tecnologia de sua
época não poderia produzir as rodas, as engrenagens e as correias de alta precisão
que eram necessárias. É óbvio que a máquina analítica não possuía um sistema
operacional.
2.1 A primeira geração (1945 – 1955) – Válvulas
O professor John Atanasoff e seu então aluno de graduação Clifford Berry
construíram o primeiro computador digital em funcionamento, ele usava 300 válvulas.
Quase ao mesmo tempo, Konrad Zuse, em Berlim, construiu o computador Z3 de relés.
Em 1944, o Colossus foi desenvolvido por um grupo em Bletchley Park, Inglaterra, o
Mark foi construído por Howard Aiken em Harvard e o ENIAC foi construído por Willian
Mauchley e seu aluno de graduação J. Presper Eckert. Alguns eram binários, alguns
usavam válvulas, alguns eram programáveis, mas todos eram muito primitivos e
levavam segundos para executar até o cálculo mais simples.
Naquela época, um mesmo grupo de pessoas projetava, construía, programava,
operava e realizava a manutenção de cada máquina. Toda programação era feita em
código de máquina absoluto e muitas vezes conectando plugs em painéis para controlar
as funções básicas da máquina. Não havia linguagens de programação, os sistemas
operacionais também não haviam sido inventados. O modo normal de programação era
o seguinte: o programador reservava antecipadamente tempo de máquina em uma
planilha, ia para a sala da máquina, inseria seu painel de programação no computador
e passava algumas horas torcendo para que nenhuma das 20 mil válvulas queimasse
durante a execução. Praticamente todos os problemas eram cálculos numéricos diretos,
como determinar tabelas de senos, cossenos e logaritmos.
2.2 A segunda geração (1955 – 1965) – Transistores e sistemas em lote (batch)
A introdução do transistor em meados da década de 1950 mudou o quadro
radicalmente. Os computadores tornaram-se suficientemente confiáveis para que
pudessem ser fabricados e comercializados com a expectativa de que continuariam a
funcionar por tempo suficiente para executar algum trabalho útil. Pela primeira vez,
havia uma clara separação entre projetistas, fabricantes, programadores e técnicos da
manutenção.
Devido ao alto custo dos computadores, nesta época, encontrou-se uma solução
com o objetivo de aumentar o tempo da máquina. Esta solução designada de sistema
batch (lote), que se baseava em coletar na recepção de um conjunto de jobs e fazer a
leitura dos mesmos para uma fita magnética empregando um computador pequeno e
relativamente barato, tal como o IBM 1401, que era muito bom na leitura de cartões, na
cópia em fita e na impressão de resultados.
Os computadores da segunda geração (computadores de grande porte) eram
usados maciçamente na realização de cálculos científicos e de engenharia, tal como a
obtenção da solução de equações diferenciais parciais. A programação era feita em
linguagem FORTRAN ou em linguagem de montagem. Os sistemas operacionais
típicos da época eram o FMS (Fortran Monitor System) e o IBSYS, ambos os sistemas
operacionais desenvolvidos pela IBM para rodar no 7094.
Essas máquinas ficavam isoladas em salas especiais com ar-condicionado,
operadas por equipes profissionais. Somente grandes corporações, agências
governamentais ou universidades podiam pagar vários milhões de dólares para tê-las.
2.3 A terceira geração (1965 – 1980) – CIs e multiprogramação
No início da década de 1960, a maioria dos fabricantes de computador oferecia
duas linhas de produtos distintas e totalmente incompatíveis. De um lado havia os
computadores científicos de grande escala e orientados a palavras, como o 7094,
usados para cálculos numéricos na ciência e na engenharia. De outro, existiam os
computadores comerciais orientados a caracteres, como o 1401, amplamente usados
por bancos e companhias de seguros para ordenação e impressão em fitas.
Desenvolver e manter duas linhas de produtos completamente diferentes
demandava grande custo para os fabricantes. Além disso, muitos dos clientes
precisavam inicialmente de uma pequena máquina, mas depois expandiam seus
negócios e, com isso, passavam a demandar máquinas maiores que pudessem
executar todos os seus programas antigos, porém mais rapidamente.
2.4 A quarta geração (1980 – presente) – Computadores pessoais
Com o desenvolvimento da integração de circuitos em grande escala (LSI),
apareceram chips com milhares de transistores encapsulados em um centímetro
quadrado de silício, nascendo daí a ideia do computador pessoal. Atualmente, os mais
poderosos
computadores
pessoais
são
denominados
estações
de
trabalho
(wokstations). Tais máquinas são usadas nas mais diferentes atividades e usualmente
estão conectadas a uma rede pública ou privada, que permite a troca de informações
entre todas as máquinas ligadas a ela.
A grande disponibilidade de poder computacional levou ao crescimento de uma
indústria voltada para a produção de software para estas máquinas. A maioria destes
softwares é "ameno ao usuário" (user-friends), significando que eles são voltados para
pessoas que não tem nenhum conhecimento de computadores, e mais que isto, não
tem nenhuma vontade de aprender nada sobre este assunto.
Um desenvolvimento interessante que começou a tomar corpo em meados dos
anos 80 foi o dos sistemas operacionais para redes e o dos sistemas operacionais
distribuídos.Em uma rede de computadores, os usuários estão conscientes da
existência de um conjunto de máquinas conectadas à rede, podendo, portanto ligar-se a
máquinas remotas e solicitar serviços das mesmas. Cada uma destas máquinas roda
seu próprio sistema operacional e tem seu próprio usuário.
Os sistemas operacionais de rede não diferem fundamentalmente daqueles
usados em máquinas monoprocessadoras. Obviamente, eles precisam de uma
interface controladora de rede e de um software específico para gerenciar tal interface,
além de programas que permitam a ligação de usuários a máquinas remotas e seu
acesso a arquivos também remotos. Tais características não chegam a alterar a
estrutura básica do sistema operacional usado para máquinas com um único
processador.
Já os sistemas operacionais distribuídos precisam de mais do que a simples
adição
de
poucas
linhas
de
código
a
um
sistema
usado
em
máquinas
monoprocessadoras, pois os sistemas ditos distribuídos diferem dos centralizados em
pontos bastantes críticos. Por exemplo, os sistemas operacionais distribuídos permitem
que programas rodem em vários processadores ao mesmo tempo, necessitando,
portanto de algoritmos de escalonamento de processador bem mais elaborados, de
forma a aperfeiçoar o grau de paralelismo disponível no sistema.
3. TIPOS DE SISTEMAS OPERACIONAIS
3.1 Sistemas Operacionais de Computadores de Grande Porte
Utilizados em sofisticados servidores Web, como servidores para sites de
comércio eletrônico em larga escala e ainda, escala e ainda, Como servidores para
transações entre empresas (business-to-business) Os SO para computadores de
grande porte são sobretudo orientados para o processamento simultâneo de muitos
jobs (grande quantidade de E/S)
Oferecem normalmente três tipos de serviços:
• Em lote (batch): Um sistema em lote processa Jobs de rotina sem a presença
interativa do usuário. Interativa do usuário;
• Processamento de transações: administram grandes quantidades de pequenas
requisições. Ex.: processamento de verificações em um banco;
• Tempo compartilhado: Permite que múltiplos usuários remotos executem seus
Jobs simultaneamente no computador, como na realização de consultas a um
grande banco de dados.
3.2 Sistemas Operacionais de Servidores
Servem múltiplos usuários de uma vez em uma rede e permite-lhes compartilhar
recursos de hardware e software.
Servidores podem fornecer serviços de impressão, serviços de arquivo ou
serviços de Web.
3.3 Sistemas Operacionais de Multiprocessadores
Multiprocessamento é
a
capacidade
de
um sistema
operacional executar
simultaneamente dois ou mais processos. Pressupõe a existência de dois ou mais
processadores. Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se
de vários recursos, sendo o principal o compartilhamento de tempo de uso do
processador entre vários processos.
3.4 Sistemas Operacionais de Computadores Pessoais
Sistemas Operacionais de Computadores Pessoais, Seu trabalho é fornecer uma
boa interface para um único usuário. São amplamente usados para processadores de
texto, São amplamente usados para processadores de texto, planilhas eletrônicas e
acesso à internet. Alguns exemplos mais comuns de SO para desktop:
• Windows: 95/98/ME/2000/XP/Vista/7;
• Linux: Debian, Suse, Mandriva, Slackware, Red Hat.
3.5 Sistemas Operacionais de Tempo Real
Um sistema operacional (SO) é responsável por gerenciar os recursos de
hardware e hospedar os aplicativos que são executados no computador. Um sistema
operacional de tempo real (RTOS) também executa essas tarefas, mas é projetado
especialmente para rodar aplicações com extrema precisão e alto grau de
confiabilidade. Isso pode ser especialmente importante para sistemas de medição e
controle.
Os sistemas operacionais de tempo real foram projetados para trabalhar com
resposta a eventos e com sistemas de controle em malha fechada. Um exemplo de
aplicação com resposta a eventos, na qual é imprescindível a utilização de RTOS é um
sistema de airbag automotivo, este sistema necessita de precisão e confiabilidade, pois
a resposta a um estímulo deve ser feita em um determinado espaço de tempo. Já um
exemplo de aplicação de controle em malha fechada em que o RTOS é necessário, é
para o controle de velocidade em automóveis, pois também é necessário precisão e
confiabilidade. Ambos os sistemas exigem a realização de uma operação dentro de um
tempo determinado. Esse tipo de desempenho é chamado de determinístico.
3.6 Sistemas Operacionais Embarcados
Um sistema embarcado (ou sistema embutido) é um sistema microprocessado no
qual o computador é completamente encapsulado ou dedicado ao dispositivo ou
sistema que ele controla. Diferente de computadores de propósito geral, como o
computador pessoal, um sistema embarcado realiza um conjunto de tarefas
predefinidas, geralmente com requisitos específicos. Já que o sistema é dedicado a
tarefas específicas, através de engenharia pode-se otimizar o projeto reduzindo
tamanho,
recursos
computacionais
e
custo
do
produto.
Sistemas como PDAs são geralmente considerados sistemas embarcados pela
natureza de seu hardware, apesar de serem muito mais flexíveis em termos de
software. Fisicamente, os sistemas embarcados passam desde MP3 players a
semáforos.
3.7 Sistemas Operacionais de Cartões Inteligentes
Os menores sistemas operacionais são executados em cartões inteligentes –
dispositivos do tamanho de um cartão de crédito que contém um chip de CPU.Possuem
restrições severas de consumo de energia e de memória. Alguns deles podem realizar
apenas uma única função, como pagamentos eletrônicos. Outros podem tratar múltiplas
funções no mesmo cartão inteligente.
4. CONCEITOS DE SISTEMAS OPERACIONAIS
4.1Processos
Um sistema operacional não executa somente os programas que podemos ver.
Imagine que os aplicativos que você roda reúnem diversas instruções e comandos,
porém, são os processos que efetivamente executam esses comandos. Isso significa
que um único aplicativo pode ter vários processos relacionados a ele. Por exemplo, o
navegador Google Chrome, que executa uma nova tarefa a cada aba aberta. Essa
medida permite que cada aba seja gerenciada individualmente e, mesmo que uma
trave, as outras continuam trabalhando normalmente.
Simplificando, os processos representam tarefas em execução, mas nem todas
têm relação direta com algum aplicativo. Muitas delas são executadas em plano de
fundo e mantêm o sistema trabalhando - gerenciando redes, memória, disco, checagem
antivírus, etc. Logo, podemos definir processos como softwares que executam alguma
ação e que podem ser controlados de alguma maneira, seja pelo usuário, pelo
aplicativo correspondente ou pelo sistema operacional.
4.2Sistemas de arquivos
Os sistemas de arquivos estruturam a informação guardada em uma unidade de
armazenamento, podendo ser representada de forma textual ou graficamente utilizando
um gerenciador de arquivos. A maioria dos sistemas operacionais possuem seu próprio
sistema de arquivos.
O habitual é utilizar dispositivos de armazenamento de dados que permitem o
acesso aos dados como uma corrente (cadeia) de blocos de um mesmo tamanho, às
vezes chamados setores, usualmente de 512 bytes de largura. O software do sistema
de arquivos é responsável pela organização destes setores em arquivos e diretórios e
mantém um registo de que setores pertencem a que arquivos e quais não têm sido
utilizados. Na prática, um sistema de arquivos também pode ser utilizado para acessar
dados gerados dinamicamente, como os recebidos através de uma conexão de rede
(sem a intervenção de um dispositivo de armazenamento).
Em geral os sistemas de arquivos proveem métodos essenciais para criar,
mover, renomear e eliminar tanto arquivos como diretórios. Outros permitem a criação
de enlaces (links) adicionais a um diretório ou arquivo (enlace duro ou hard links em
Unix).
A estrutura de diretórios costuma ser hierárquica, ramificada ou "em árvore",
ainda que pode ser plana. Em alguns sistemas de arquivos os nomes de arquivos são
estruturados, com sintaxes especiais para extensão de arquivos e números de versão.
Em outros, os nomes de arquivos são simplesmente correntes de texto (ou strings de
texto, em inglês) e as metades de cada arquivo são alojados separadamente.
4.3Entrada e saída
Entrada/saída, é um termo utilizado, indicando entrada (inserção) de dados por
meio de algum código ou programa, para algum outro programa ou hardware, bem
como a sua saída (obtenção de dados) ou retorno de dados, como resultado de alguma
operação de algum programa, consequentemente resultado de alguma entrada.
Periféricos de Entrada
•
Teclado;
•
Mouse;
•
Scanner;
Periféricos de Saída
•
Monitor;
•
Impressora;
•
Caixas de Som;
Periféricos Entrada e Saída
•
Monitor TouchScreen;
•
Pendrive;
•
Joystick;
4.4Segurança
A segurança informática é responsável pela proteção da integridade e da
privacidade das informações armazenadas num sistema informático. De qualquer
modo, não existe nenhuma técnica que permita assegurar a inviolabilidade de um
sistema.
Um sistema informático pode ser protegido do ponto de vista lógico (com o
desenvolvimento de software) ou físico (em termos de manutenção eléctrica, por
exemplo). Além do mais, as ameaças podem vir de programas maliciosos que se
instalam no computador do utilizador (como um vírus) ou chegar por via remota
(infratores que se ligam à Internet e entram em diferentes sistemas).
Entre as ferramentas mais comuns de segurança informática, encontram-se os
programas antivírus, firewall, a encriptação da informação e o uso de senhas de acesso
(passwords).
Um sistema seguro deve ser íntegro (com informações podendo ser modificadas
unicamente por pessoas autorizadas), confidencial (os dados têm de ser legíveis
apenas para os utilizadores autorizados), irrefutável (o utilizador não tem forma de
negar as ações que tenha realizado) e ter boa disponibilidade (deve ser estável).
No entanto, como na maioria dos âmbitos de segurança, o essencial continua a
ser a capacitação (isto é, a formação) dos utilizadores. Uma pessoa que saiba como se
proteger das ameaças, saberá usar os seus recursos da melhor forma possível para
evitar ataques ou acidentes.
Noutros termos, pode-se dizer que a segurança informática tem como objetivo
assegurar que os recursos de um sistema de informação possam ser usados conforme
uma organização ou um utilizador o tenha decidido, sem interferências.
4.5Espaços de endereçamento
Em informática, um espaço de endereçamento define uma faixa de endereços
discretos, cada um dos quais pode corresponder a um registrador físico ou virtual,
um nodo de rede, dispositivo periférico, setor de disco ou outra entidade lógica ou
física.
5. Estrutura dos Sistemas Operacionais
5.1 Sistemas monolíticos
Também conhecida como estrutura simples, esta é a estrutura dos primeiros
SO’s. Consistida, basicamente, por um programa dividido em sub-rotinas, na estrutura
monolítica é permitido a qualquer uma dessas sub-rotinas em qualquer parte do
programa chamar outra(s) sub-rotina(s). A construção do programa final é dada com
base nos módulos compilados separadamente, unidos através de um linker. A boa
definição de parâmetros de ligação entre as diferentes rotinas existentes aumenta e
muito o desempenho, porém o sistema pode parar devido a algum erro ocasionado por
uma dessas rotinas. A exemplo temos o próprio UNIX, o MS DOS, o FreeBSD, dentre
outros.
5.2Sistemas em camadas
Devido ao crescimento das necessidades dos utilizadores e o aperfeiçoamento
dos sistemas, foi-se necessário a modularização da organização do sw do SO. Na
abordagem em camadas, o SO é particionado em níveis, onde o nível mais “baixo” é o
hw, e o nível mais “alto” é a interface com o usuário. A principal vantagem dessa
estrutura é justamente a modularização, facilitando sua alteração e depuração de cada
camada, além de criar uma hierarquia de níveis de acesso que permite proteger as
camadas mais internas.
As camadas são selecionadas de tal modo que cada uma delas opere
diretamente com a camada seguinte de nível mais baixo. Foi originado na Holanda por
Edsger Dijkstra, que utilizou o algoritmo de busca de menor caminho, também de sua
própria autoria, para percorrer dentre as várias camadas, as que atenderão as
solicitações de “cima”, de maneira mais eficiente.
Uma desvantagem desta estrutura é o tempo de resposta ao usuário, pois numa
requisição sua, uma camada irá se comunicar com a outra diretamente seguinte, e
assim por diante, possibilitando a modificação de parâmetros a cada camada,
necessidade de dados e ainda o acréscimo de overhead à chamada do sistema,
levando, contudo, ao consumo maior de tempo do que nos SO’s não estruturados em
camadas.
Por sua vez, tal estrutura tem uma vantagem maior do ponto de vista tanto do
projeto quanto da implementação, pois a impossibilidade de comunicação direta das
aplicações de cima com as de baixo, leva a um controle maior do SO sobre o hw.
A exemplo temos o Windows NT, o THE e o MULTICS.
5.3 Micronúcleoou microkernel
É
uma
arquitetura
de núcleo (kernel)
de
um sistema
operativo cujas
funcionalidades são quase todas executadas fora do núcleo, em oposição a um núcleo
monolítico. Os processos se comunicam com um núcleo mínimo, usando o mínimo
possível o "espaço do sistema" (kernel space). Neste local os aplicativos tem acesso a
todas as instruções e a todo o hardware e deixando o máximo de recursos rodando no
"espaço do usuário" (user-space) em que osoftware tem algumas restrições, não
podendo acessar algumas hardwares, nem tem acesso a todas as instruções).
5.4 Sistemas Cliente-Servidor
Sistemas Cliente-Servidor são modelos de computação que distinguem dois tipos
básicos de equipamentos computacionais: servidores e clientes, sendo interligados
entre si geralmente utilizando-se uma rede de computadores. Neste modelo,
geralmente os servidores agregam as funções mais importantes do sistema, deixando
aos clientes apenas o processamento de aplicações mais básicas.
As principais características deste tipo de sistema são:
•
Elevar a camada onde são implementadas as funções normalmente efetuadas
pelo sistema operacional
•
Reduzir as funções do sistema operacional
•
Tornar menor e de mais fácil a manutenção cada parte do sistema operacional
5.5 Máquina Virtual
Uma máquina virtual é uma cópia via software que busca simular uma máquina
real. Uma máquina virtual (Virtual Machine – VM) pode ser definida como “uma
duplicata eficiente e isolada de uma máquina real”. A IBM define uma máquina virtual
como uma cópia isolada de um sistema físico, e esta cópia está totalmente protegida.
Ao invés de ser uma máquina real, isto é, um computador real, feito de hardware
e executando um sistema operacional específico, uma máquina virtual é um
computador fictício criado por um programa de simulação. Sua memória, processador e
outros recursos são virtualizados. A virtualização é a interposição do software (máquina
virtual) em várias camadas do sistema. É uma forma de dividir os recursos de um
computador em múltiplos ambientes de execução.
5.6 Exonúcleo
É um paradigma de implementação em que existe em um núcleo simples que faz
gerência de recursos do sistema e um conjunto de bibliotecas que implementam a
abstração de um sistema operacional. O aplicativo pode utilizar diretamente os recursos
dos dispositivos do sistema ou pode utilizar bibliotecas de software e são capazes de
compartilhar o mesmo hardware simultaneamente, similarmente a uma máquina virtual.
A diferença é que em um sistema exonúcleo o hardware é alocado previamente, não
podendo ocorrer o acesso indevido de outro sistema.
Conclusão
Através deste trabalho podemos ter uma noção das estruturas básicas que o
compõem e suas subdivisões, vemos o quão necessário se tornou em nosso mundo os
demais softwares, tendo aplicabilidade desde computadores Científicos, até servidores
e os demais ao uso cotidiano sem os S.O não seria possível demandar os serviços hoje
tão comuns as pessoas como o uso da internet ou mesmo celulares, gradualmente os
S.O se aperfeiçoam acompanhando o desenvolvimento das necessidades a eles
impostas.
Assim sendo compreendemos que a os softwares tem um papel fundamental no
gerenciamento do Hardware e seus periféricos, e também o quão adaptável tornou-se
seu uso nas mais variadas necessidades do mundo atual, hoje temos de a nosso dispor
inúmeros tipos de softwares, cabendo apenas a nos usufruímos deles de maneira mais
produtiva rápida para o melhor uso dos mesmos.
Referências Bibliográficas
Tanenbaum. Andrew S, Sistemas Operacionais Modernos 3º edição, 2010 Pearson.
Download