Você está na página 1de 4

Conceito e desenvolvimento de sistemas operacionais

Um sistema operacional um programa ou um conjunto de programa que tem a funo de gerencias os recursos de um computador, gerenciando sua memria, definindo qual programa ir receber ateno do processador, criando sistemas de arquivos, fornecendo assim, uma interface entre um computador e um usurio. No inicio da computao os primeiros sistemas operacionais eram nicos, pois cada mainframe vendido necessitava de um sistema operacional especifico. Esse problema era um resultado das diversas arquiteturas diferentes que existiam e da linguagem de maquina utilizada. Aps essa fase, foi iniciada a pesquisa de sistemas operacionais que automatizassem a troca de tarefa, pois os sistemas eram monousurios e tinham cartes perfurados como entrada, eliminando assim a trabalho de pessoas que eram contratadas apenas para trocar os cartes perfurados. Um dos primeiros sistemas operacionais desenvolvidos foi o CTSS, pela MIT. Logo depois veio o Multics, que suportava diversos usurios. Apesar de seu fracasso, o Multics serviu como base para o estudo e desenvolvimento de outros sistemas operacionais. Um de seus desenvolvedores, Ken Thompson comeou a escrever o Multics em um conceito menos ambicioso, criando assim o Unics, que mais tarde passou a se chamar Unix. Os sistemas operacionais eram geralmente programados na linguagem assembly inicialmente e logo depois em C. No inicio da dcada de 70, quando comearam a aparecer os primeiros computadores pessoas, houve a necessidade que criar um sistema operacional mais fcil de interagir. Em 1980. Bill Gates, juntamente com Paul Allen, fundadores da Microsoft, compraram o sistema QDOS, de Tim Paterson e o batizaram como DOS. O DOS vendeu muitas copias como sistema operacional padro para computadores pessoais. Dos tipos de Sistemas Operacionais disponveis, poderemos destacar os monoprogramaveis, os multiprogramaveis e os sistemas com mltiplos processadores. Os monoprogramaveis ou monousurio se caracteriza por permitir que o processador, a memria e todos os perifricos estejam dedicados exclusivamente para a execuo de um nico programa, ou seja, todos os recursos ficam dedicados a uma nica tarefa. Os multiprogramaveis, ou multiusurio se caracterizam por permitir que vrios programas possam ser executados simultaneamente, compartilhando todos os recursos do computador. O SO ira gerenciar o acessoconcorrente a seus diversos recursos, como memria, processador e perifricos, de forma ordenada e protegida, entre os programas. Os sistemas com multiprocessadores caracterizam por possuir dois ou mais processadores, trabalhando em conjunto. Um ponto chave no desenvolvimento de SOs com mltiplos processadores a forma de comunicao entre as CPUs, o grau de compartilhamento da memria e dos perifricos de entrada e sada. Sistemas com mltiplos processadores possibilita aumentar a capacidade

computacional com menor custo alem de permitir a reconfigurao e o balanceamento do sistema.

O principal objetivo do sistema operacional tornar a utilizao de um computador mais eficiente e conveniente. Uma utilizao mais eficiente dever buscar um maior retorno no investimento feito no hardware. Uma utilizao mais conveniente vai diminuir o tempo necessrio para construo e utilizao dos programas. Para atingir esses objetivos um sistema operacional ira oferecer uma grande quantidade de servios, entre eles, meios para que um programa possa ser carregado na memorial principal e executado, ou permitir a criao e acesso a pastas e diretrios, ou o acesso aos perifricos do computador, como as portas USB, leitores e gravadores de CD/DVD. Em um sistema multiusurio por exemplo, cabe ao sistema operacional verificar quais recursos cada usurio necessita e garantir que cada usurio possa trabalhar sem oferecer interferncia dos demais. Os programas solicitam servios aos sistemas operacionais atravs de chamadas de sistemas, que so enviam sua solicitao. A parte do sistema operacional responsvel pro implementar as chamadas de sistemas conhecida como nuclel ou kernel. Os principais componentes de um kernel a gerencia de processador, a gerencia de memria, o sistema de arquivo e a gerencia de entrada e sada. Os programas de sistemas, tambm conhecido como utilitrios, so programas que executa fora do kernel, utilizados para tarefas bsicas. Alguns exemplos de utilitrios so programas para exibir, listar e copiar arquivos, programa para impresso, interpretador de comandos, etc. O interpretador de comando o principal deles, ele iniciado sempre que um usurio inicia a sua sesso. Sua tarefa receber comandos do usurio e execut-las. Na maioria das vezes essa execuo vai exigir uma ou mais chamadas ao sistema. Quando um sistema operacional oferece uma interface grfica, o envio dos comandos ao sistema operacional passa a ser mais fcil. Na gerencia de processador, ou gerencia de processo, sistema operacional visa dividir de forma justa o processamento evitando o monoplio do processador por parte dos programas. Em sistemas operacionais multitarefa, o usurio tem a iluso de que muitos processos esto sendo executados simultaneamente, mas na verdade existe uima alternncia entre os processos, cada processo recebe uma fatia de tempo do processador para executar suas tarefas. Para isso o sistema operacional utiliza algoritmos de escalonamento. Esse algoritmo ira decidir qual processo ira ser executado no final de outro processo. Seu principal objetivo aumentar a produtividade do sistema, diminuindo o tempo de resposta de percepo do usurio. Quando os processos utilizam diferentes propriedades, essas propriedades podem ser utilizadas para decidir qual ser o processo a ser executado a seguir.

Como diversos processos so executados atravs da fatia de tempo do processador, a alterao de um processo para o outro deve ser rpida. Para isso esses processos devem esta na memria, pronto para serem executados. funo da gerencia de memria de um sistema operacional prover os mecanismos necessrios para que diversos processos compartilhem a memria de forma rpida e eficiente. Se um sistema operacional no conseguir compartilhar a memria corretamente, poder ocasionar travamento nas aplicaes, impedindo que as mesmas possam ser executadas. Para isso, os sistemas operacionais utilizam a tcnica de paginao. Na paginao, ocorre a virtualizao da memria, onde ocorre uma subdiviso da memria fsica em diversas parties. A alocao da memria requisitada por paginas e cada pagina ser mapeada em um pedao da memria. Quando um programa carregado, ele armazenado pagina a pagina. Cada pagina de memria logica ocupa um pedao da memria fsica. Durante a carga do programa, montado uma tabela de paginas para o processo. Essa tabela ira informar onde as posies do processo na memria, para que o programa possa executar corretamente. A gerencia da memria deve manter o controle das reas ainda livres para a alocao. O sistema de arquivos a parte mais visvel para o usurio. Durante todo o tempo o usurio est interagindo com arquivos, planilhas, jogos, musicas e fotos. Como o acesso ao disco demora cerca de 100000 vezes mais que o acesso a memria, so necessrios estruturas de dados e algoritmos para que otimize o acesso a discos gerado pela manipulao de arquivos. Diversas operaes sobre arquivos so suportadas. Podemos criar, excluir alterar, renomear, ler, alterar permisses, etc. Normalmente esses arquivos esto armazenados em diretrios. Um diretrio pode ser entendido como sendo um conjunto de arquivos ou um conjunto de referencias a arquivos. Um diretrio seria um endereo de um arquivo. Por exemplo o arquivo foto01.jpg esta no endereo imagens/fotos/fotos2011/fotos01.jpg. Tanto imagens como fotos e fotos2011 so diretrios. Juntos eles representaro o endereo ou caminho para que possamos acessar o arquivo fotos01. Dispositivos de entrada e sada so dispositivos que faz a interao entre o usurio e o computador. Atualmente possvel encontrar diversos tipos de dispositivos. Desde dispositivos bsicos essenciais como mouse, teclado, e monitor como dispositivos que possibilitam a conexo de outros equipamentos como pendrive, CD/DVD-ROM e disquetes. Um perifrico pode ser visto como qualquer dispositivo conectado a um computador. Eles so conectados atravs de componentes de hardwares. Nesse caso um sistema operacional dever conter um controlador de perifricos. Esse controlador tem como funo bsica traduzir as operaes genricas, como ler e escrever, para uma sequencia de circuitos eletrnicos que iro realizar essa operao. Para isso um controlador dever saber como um perifrico funciona, resultando que cada tipo de perifrico necessita de um controlador diferente,

chamamos de Drivers. Os drivers tero como finalidade, implementar as rotinas necessrias ao acesso e a gerencia de um dispositivo. Dessa forma cada tipo de dispositivo requer um driver apropriado. Uma grande preocupao que necessria no desenvolvimento de um sistema operacional a segurana. Um sistema operacional dever garantir a confidencialidade, somente usurios autorizados podero acessar e ler determinadas informaes, a integridade dos dados, que no poderam ser modificados sem autorizao e a disponibilidade dos recursos disponveis para os usurios responsveis. Algumas dessas caractersticas. Caso um sistema operacional no sejam bem protegido, algumas dessas caractersticas podero ser violadas por meios ilegais, como vrus. Os mecanismos de segurana de um sistema operacional so responsveis por implantar sua poltica de segurana. A poltica de segurana oferece um conjunto de regras que estabelecera os limites de operao de cada usurio no sistema.