Sistemas Operacionais
Monografias: Sistemas Operacionais. Pesquise 862.000+ trabalhos acadêmicosPor: edumneto • 17/3/2014 • 9.989 Palavras (40 Páginas) • 348 Visualizações
Evolução Histórica dos Sistemas Operacionais
A evolução dos sistemas operacionais foi uma conseqüência dos avanços ocorridos no hardware dos computadores. Temos três níveis de gerações de sistemas operacionais:
O primeiro nível integrado pelos sistemas operacionais básicos, surgidos nos anos cinqüenta, limitava-se a auxiliar os programas nas operações de entrada e saída e na tradução nos programas fonte, escritos em linguagem pouco evoluídas.
O segundo nível esteve disponível na década de 60 e a sua ajuda à programação foi mais decisiva, proporcionando tradutores simbólicos mais evoluídos, programas de serviços para transferência de informação entre periféricos e programas de controle de entrada e saída, ou seja, os famosos IOCS( Input Output Control System).
O terceiro nível de sistemas operacionais surgiu na década de 70. A contribuição destes sistemas à programação foi tão grande que foram rompidas as normas clássicas do processo informático. Os tradutores de altíssimo rendimento então incorporados têm permitido hoje em dia a utilização de linguagem de programação simbólica quase idênticas à linguagem utilizada pelo homem, reduzindo sensivelmente o tempo gasto na produção bem como o tempo de aprendizagem de novas linguagens.
Estrutura do Sistema Operacional
Pode-se criar um sistema tão grande e complexo como um sistema operacional somente dividindo-o em pequenas partes. Cada uma dessas partes deve ser uma porção bem delineada do sistema, com entradas, saídas e funções, cuidadosamente definidas. Logicamente, nem todos os sistemas têm a mesma estrutura, ou seja, não apresentam a mesma forma de ligação entre as partes. Contudo, os sistemas operacionais modernos geralmente possuem as seguintes partes:
I. Gerenciamento de processos - criar e eliminar, suspender e retomar, sincronismo e comunicação entre processos;
II. Gerenciamento da memória principal – manter o controle das partes da memória que estão sendo usadas e por quem, decidir que processos serão carregados para memória quando houver espaço disponível, alocar e desalocar espaço de memória quando necessário;
III. Gerenciamento de memória secundária – o SO é responsável pelas atividades de alocação de espaço livre.
IV. Gerenciamento de Entrada/Saída – manter os device drivers para comunicação com os deferentes dispositivos, um buffer-caching para o sistema;
V. Gerenciamento de arquivos – criar e eliminar arquivos e diretórios, manter mapeamento dos arquivos em disco;
VI. Proteção do sistema – se um sistema é multiusuário e permite múltiplos processos concorrentes, estes processos devem ser protegidos de outras atividades;
VII. Networking – em um sistema distribuído (fracamente acoplado) cada processador tem sua própria memória e seus processadores que se comunicam através do SO. A comunicação entre eles deve considerar roteamento e estratégias de conexão;
VIII. Interpretador de comandos – um dos mais importantes programas do SO é o interpretador de comandos, que serve de interface entre o usuário e o SO. Alguns SO’s incluem este programa no próprio núcleo (kernel). Já outros sistemas, como o DOS e o UNIX, tratam o interpretador de comandos como um programa especial que é executado quando uma sessão é iniciada. Com isso, um sistema operacional fornece um ambiente para execução, melhor dizendo, fornece serviços para os programas e também para os usuários desses programas.
A História do Sistema Operacional LINUX
O Sistema Operacional Linux foi originalmente criado por Linus Torvalds na Universidade de Helsinki na Finlândia. Ele foi desenvolvido com a ajuda de vários programadores através da Internet. Linus teve seu projeto inspirado pelo seu interesse em Minix, um pequeno sistema Unix desenvolvido por Andy Tannenbaum. No dia cinco de Outubro de 1991, Linus anunciou a primeira versão "oficial'' de Linux, versão 0.02. Desde então, vários programadores responderam à sua chamada, e haviam ajudado a tornar Linux o completo sistema operacional que ele é hoje.
Conceito de Linux
Linux é um sistema operacional Unix independente, largamente distribuído para máquinas x86, Motorola 68k, Digital Alpha e Motorola PowerPC. Ele é uma implementação da especificação do POSIX com a qual todas as verdadeiras versões de Unix consentem. O núcleo de Linux não usa códigos de AT&T ou qualquer outra fonte de proprietário, e muitos dos softwares disponíveis para Linux são desenvolvidos pelo projeto Free Software Foundation's GNU. Enfim, é uma completa implementação do sistema operacional Unix. Como Unix, Linux é um multi-tarefa robusto, multi-usuário, sistema operacional de rede que ostenta uma longa lista de padrões aceitáveis . Possui suporte completo para ambas plataformas de 32 e 64-bits, múltiplas CPUs e alta performance para redes e outros periféricos. Ele suporta uma vasta variedade de softwares, incluindo X Windows, Emacs e redes TCP/IP (incluindo SLIP/PPP/ISDN). Muitas pessoas já executaram marcas de nível em sistemas 80486 Linux e acharam elas comparáveis com estações de trabalho médias da Sun e Digital. O Sistema Operacional Linux está disponível na Internet em diversos sites, e também com várias versões em disquetes ou CD-ROM. A parte central de Linux é coberta pela GNU Public License (GPL), e é geralmente "empacotada" com vários binários que consistem em um sistema operacional trabalhando em Unix. Esses pacotes de softwares são chamados “distribuições” e chegam em muitos tamanhos e estruturas. Linux está sendo usado hoje por milhões de pessoas em todo o mundo. Ele é usado para desenvolvimento de software, rede (intra-office e Internet), e como plataforma para usuário. Linux tornou-se uma alternativa barata para os caros sistemas Unix.
Gerenciamento de Memória
A execução do LMM (Linux Memory Manager) exige uma estratégia de paginação com uma copy-on-write (copiado e marcado) confiando nas 386 páginas auxiliares. Um processo alcança suas tabelas de páginas de seu parent (durante um fork ) com as entradas marcadas como read-only ou trocado. Então, se o processo tenta escrever para este espaço de memória e a página é uma copy on write page, isto é copiado e a página marcada read-write. Um exec ( ) resulta na leitura de uma página ou mais do executável. O processo então erra em qualquer outra página que precisar. Cada processo
...