Buscar

Trabalho Estruturas sistemas operacionais

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Estruturas Sistemas Operacionais
Grupo 4
Acácio Rodrigues Neto
Aparecido Adriano Freidemberg
Gilson Barbosa
Renan Gabriel de Oliveira
4.1 KERNEL
	O kernel é o núcleo do sistema operacional, ele é o intermediário entre o sistema operacional e o hardware e também é responsável de controlar todo o hardware, interpretadores de comandos, etc..
MAQUINAS DE NIVEIS COM O KERNEL
	Aplicações, utilitários, núcleo do sistema operacional e hardware.
	No sistema Linux, já sabe que otimizar e recompilar o kernel é uma tarefa usual nesse mundo do código fonte aberto. Os maiores problemas dos sistemas operacionais proprietários, de código fonte fechado, são que o kernel desses sistemas tem suporte a diversos periféricos e dispositivos de hardware que, provavelmente, você jamais irá vê-las ou ainda nem saberá que existem ou existiram tais dispositivos.
As principais funções do kernel são:
- tratamento de interrupções e exceções;
- criação e eliminação de processos;
- sincronização e comunicação entre processos;
- escalonamento e controle de processos;
- gerencia de memória;
- gerencia de sistema de arquivos;
- gerencia de dispositivos de E/S.
4.2 MODOS DE ACESSOS
	O kernel é a parte mais importante do sistema operacional, por isso tem que estar sempre bem protegido, para que nem usuários e nem aplicativo possam acessa-lo.
	As instruções do kernel só pode ser acessada pelo sistema operacional e não diretamente pelos aplicativos, essas informações são chamadas de privilegiada pois podem comprometer o sistema operacional se forem utilizadas incorretamente.
	Os modos de acessos são implementados pelo processador são divididos em 2 modos:
	User mode ou modo usuário: executa apenas instruções não privilegiadas.
	Modo kernel ou root mode: podem executar qualquer tipo de instrução.
	O modo de acesso de uma aplicação é determinado por um conjunto de bits, que fica no registrador de status, sendo sempre verificada, esse registrador ao executar uma aplicação, logo após de ser executada ela retorna para o modo de usuário.
4.3 CHAMADA DE SISTEMA
	São solicitações de recursos de hardware realizadas por utilitário e aplicativos ao Sistema Operacional.
	Cada módulo oferece um conjunto de funções que pode ser usado por outros módulos
	Afim de compartilhar os recursos de forma organizada e protegida, como proteger a memória utilizada por um programa, o sistema operacional deve impedir que os programas de usuário acessem diretamente os recursos de hardware
	As chamadas de sistemas podem ser agrupadas segundo suas funções:
	1 gerência de processos
	2 gerencia de memoria
	3 gerencia do sistema de arquivos
	4 gerencia de dispositivos
4.4 ARQUITETURA MONOLITICA
	A arquitetura monolítica é a arquitetura de sistema operacional mais comum e antiga, no qual cada componente do S.O. está contido no núcleo do sistema. Ela é uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando assim um grande sistema onde os módulos podem interagir
Camada 0 – multiprogramação básica da CPU.
Camada 1 – faz o gerenciamento da memória. aloca espaço para os processos da memória principal.
Camada 2 – faz a comunicação entre o console do operador e cada processo.
Camada 3 – gerenciava dispositivos de entrada e saída. 
Camada 4 – localizavam-se os programas de usuários. não se preocupava com o gerenciamento de processo, memoria, console ou E/S. 
Camada 5 – usuário.
4.6 – MAQUINA VIRTUAL
	A maquina virtual e um intermediário entre o sistema operacional e o hardware.
	São cópias exatas do hardware, inclusive com modos núcleo/usuário, E/S, interrupções e tudo o que uma máquina real tem.
	Cada Maquina Virtual pode executar qualquer SO capaz de ser executado diretamente sobre o hardware.
Diferentes Maquina Virtuais podem executar diferentes Sistemas Operacionais.
	Um exemplo de maquina virtual e o java que pode ser executado em qual sistema operacional
4.7	VITUALIZAÇÃO
	É a simulacao de um sistema operacional baseado numa maquina real com recursos qua o hospedeiro pode oferecer, como memoria hd placa de rede, pode-se usar varias maquinas virtuais com sistemas operacionais distintos desde que o opehardware do hospedeiro seja compativel e que tenha em sua plataforma suporte a virtualização. 
	Software como virtualbox, vmware workstation, microsoft virtual pc podem simular sistemas racionais em um descktop, nos servidores usam VMWare ESX, o Microsoft Hyper-V e o Citrix Xen Server que são os mais comuns hypervisor e a camada de software que cuida da copia do harqware
	Host ou hospedeiro a maquina onde se instala o software de virtualizaçao
	Guest ou convidadas sao as maquinas virtuais 
	O uso de maquinas virtuais é mais comuns em servidores, onde varias maquinas fisicas com seus hardwares e sistemas operacionais distintos são consolidados e então convertidos em computadores virtuais, reduzindo o número de computadores físicos gerando economia de energia elétrica, espaço físico elicenças de softwares (quando for o caso).
4.8 	MICROKERNEL
	kernel nucleo do sistema (coração), faz o gerenciamento da maquina. kernel monolitico faz carregamento de todos os drives e modulos do sistema. micro kernel é um conjunto de aquivos que se tornam processos e têm de comunicar entre si através do núcleo, exemplo do microkernel ele faz o caregamento somente dos drivers que estao necessarios para o funcionando
4.9 PROJETO DO SISTEMA OPERACIONAL.
	Um sistema operacional tem que constituir de confiabilidade, portabilidade, manutenção, flexibilidade e desempenho, além de ser flexível em questão da arquitetura de hardware para que possamos utiliza-lo em vários tipos de hardware.
	Os primeiros sistemas operacionais foram desenvolvidos inteiramente em assembly e o código possuía cerca de um milhão de instruções. Com a evolução dos sistemas, as linhas de código chegaram perto dos 20 milhões. Nos sistemas operacionais atuais, o número de linhas de código pode chegar a cerca de 40 milhões, como no caso do Microsoft Windows 2000, sendo grande parte do código escrito em linguagens de alto nível, no caso C/C++.
	A vantagem de se desenvolver sistemas operacionais em linguagens de alto nível é a portabilidade, ou seja, o sistema pode ser facilmente modificado para poder ser executado em outra arquitetura de hardware.
	Uma desvantagem dessa implementação é a perca de desempenho, visto que, o assembly por ser uma linguagem de máquina é muito mais rápido e leve
Obrigado !!!

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais