O Sistemas Operacionais
Por: RogerioSaraiva • 25/10/2017 • Trabalho acadêmico • 5.555 Palavras (23 Páginas) • 264 Visualizações
[pic 1]
Curso: Tecnologia em Sistemas para Internet
Disciplina: Sistemas Operacionais
Professor: Alexandre Amaral
SISTEMAS OPERACIONAIS
Maele Marian Finger
Rogério Saraiva
Wade Venga[1]
SISTEMA OPERACIONAL LINUX
CARACTERISTICAS GERAIS
Sistema Operacional escrito por Linus Torvalds do Departamento de Ciências da Computação da universidade Finlandesa de Helsinki em 1991, inspirado no sistema Minix, sob o padrão POSIX, teve seu código fonte concebido sob o mesmo modelo de licença de código aberto - Open Source. , modelo de desenvolvimento que se caracteriza pelo licenciamento livre para o designer, esquematização e a redistribuição universal destes, possibilitando que qualquer um consulte examine ou modifique seu código fonte. Não se pode deixar de ressaltar que o Linux não é considerado um free software (software grátis) e sim um sistema de software livre, podendo sim ser comercializado, suas derivações, conforme as restrições estabelecidas por seu desenvolvedor de acordo com a licença GPL (Gnu General Public Lincense). As vantagens de um sistema de código aberto vão desde não ser crime fazer cópias para instalação em outros computadores além de se tornar um sistema bem flexível às necessidades do usuário no que diz respeito as adaptações e correções, tendo em vista os milhares de programadores mundialmente espalhados e com proposito comum de tornar o Linux cada vez melhor.
Principais Características:
Multitarefas ou Multiprogramável – Sistema operacional com a capacidade de executar diversos processos, conforme política de escalonamento, permitindo que os recursos computacionais sejam compartilhados entre diversas aplicações e ou usuários;
Monousuário – Sistema também conhecido como S.O. de computadores pessoais, onde o sistema operacional é utilizado apenas por um único usuário por vez interagindo com o sistema;
Multiusuário – Suporta a arquitetura de sistema operacional de servidores, uma rede computadores em ambientes interativos em que diversos usuários se conectam ao sistema simultaneamente compartilhando recursos computacionais;
Multiprocessamento – Suporta hardware com múltiplos núcleo de processamento, Dual Core, Quad Core, etc... Executando simultaneamente – real time – dois ou mais processos conforme a quantidades de núcleos disponibilizados pelo hardware
Sistema Operacional Monolítico – Sistema codificado por via de uma coleção de procedimentos, onde um processo tem permissão de “chamar” a qualquer momento outro processo. No kernel do sistema monolítico o SO é escrito como se fosse uma coleção de rotinas, de forma que cada rotina pode chamar, ou ainda, se comunicar com outra rotina sempre que necessário. Com um kernel grande e complexo para englobar todos os procedimentos e serviços, onde todos os seus componentes tem acesso a totalidade de suas estruturas. Tem como vantagem o alto desempenho em contrapartida devido a todas as rotinas terem acesso a toda a estrutura, do kernel, qualquer erro em uma das rotinas poderá se propagar por todo sistema comprometendo todo o núcleo.
Sistema Preemptivo – Permite a interrupção de processo, passando-o para o estado de pronto, conforme a política de escalonamento. Permitindo assim que vários programas sejam processados ao mesmo tempo, conseguindo alternar a CPU entre estes no fatiamento de tempo conforme o escalonador aplicado.
Processamento em 32/64 bits – Suporta ambas as arquiteturas de hardware, com capacidade de processar tanto em palavras de 32bits quanto palavras de 64 bits.
Compartilhamento de bibliotecas – Compartilha os recursos de softwares instalados, como por exemplo uma biblioteca de fontes pode ser compartilhada por diversas aplicações, editores de texto, planilhas de cálculo, editores de imagens, etc...
#Superusuário – Tem em sua estrutura um usuário administrador com permissões de controle total do computador, esse usuário deve ser requisitado para o sistema operacional pois por padrão o Linux inicializa com permissões de $Usuário Comum, este padrão garante a segurança do sistema.
$Usuário Comum – Estrutura onde o usuário está limitado em seus privilégios de acesso aos recursos existentes no computador.
Interfaces de Interação – Pode ser acessado de duas maneiras, tanto por interface gráfica quanto por prompt de comando (Shell, Bash sh, etc...).
ESTRUTURA DO LINUX
Como citado anteriormente o Linux é um sistema operacional monolítico sendo assim o sistema é estruturado de forma que todas rotinas podem interagir livremente entre si. Para resolver o problema de reconstrução (recopilação) do sistema após alguma modificação como por exemplo a instalação de um novo drive de dispositivo, o kernel do Linux foi estruturado em blocos independentes, compilados fora do núcleo, chamados Loadable Kernel Modules com duas principais características:
Dinamic Linking – modulo do kernel que pode ser carregado mesmo com o kernel em execução facilitando assim a configuração do kernel, um programa usuário pode carregar ou liberar módulos utilizando comando como insmod, modprobr e rmmod.
Stackeble Linking – modulo do kernel que organiza os demais módulos em uma hierarquia onde os módulos individuais casos sejam referenciados por módulos clientes servem como bibliotecas.
A arquitetura do Linux está dividida em três partes bem definidas o próprio kernel o qual é responsável por todas as abstrações relevantes e importantes do sistema realizando a interface direta com o hardware, as bibliotecas do sistema as quais definem as funções que por meio destas os programas e aplicações interagem com kernel e os utilitários do sistema programas que executam tarefas de gerenciamento individual e especializado, o kernel sempre será executado em modo de privilégio sem códigos de usuário embutidos no kernel. [pic 2]
...