Atualmente um sistema operacional consiste em um processador, memria principal, discos, impressoras, teclado, mouse, monitor, interfaces de rede e outros dispositivos de entrada e sada, ou seja um sistema muito complexo, logo seria invivel se fosse necessrio entender como tudo isso funciona em detalhes porque nenhum cdigo chegaria a ser escrito. Por isso, os computadores tm um dispositivo se software denominado sistema operacional, cujo trabalho fornecer aos programas do usurio um modelo de computador melhor, mais simples e que lido com todos gerenciamentos de recurso mencionado. O que sistema operacional um software que executa em modo ncleo sendo alm disso muito difcil definir o que exatamente o sistema operacional. Parte do problema ocorre porque os sistemas operacionais realizam basicamente duas funes no relacionais: fornece aos programadores de aplicativos um conjunto de recursos abstratos claros em vez de recursos confusos de hardware e gerenciar esses recursos de hardware, por isso difcil a definio de o que sistema operacional. A funo do sistema operacional de fornecer uma alocao ordenada e controlada de processadores, memrias e dispositivos de E/S entre vrios programas que competem por eles, os sistemas operacionais modernos permitem que mltiplos programas sejam executados ao mesmo tempo para evitar problemas na hora e executar vrias atividades ao mesmo tempo. Em resumo, o sistema operacional mostra que sua tarefa principal manter o controle sobre quem est usando qual recurso, garantindo suas requisies de recurso, controlando as contas e mediando conflitos de requisio entra diferentes programas e usurios. Hardware de Computadores O sistema operacional esta diretamente ligado ao hardware do computador no qual ele executado e para que ele funcione de maneira desejavel, ele deve ter um grande conhecimento sobre o hradware. Vamos abordar um pouco de cada componente de um computador moderno. Processadores O processador o cerebro do computador, ele responsvel por buscar as instrues na memria e executa-las. O ciclo bsico de execuo de qualquer CPU : buscar a primeira instruo da memria, decodific-la para determinar seus operandos e qual opeo executar e ento executa-la. O ciclo repetido at que o programa pare. Dessa maneira que so executado os programas. Para melhor desempenho, as CPUs modernas tm recurso para executar mais de uma instruo ao mesmo tempo. Por exemplo, uma CPU pode ter unidades separadas de busca, decodificao e execuo, sendo assim quando ela estiver decodificando um instruo ela j pode comear a buscar a instruo seguinte e quando executar a primeira instruo a proxima instruo passa a ser decodificada e uma nova instruo buscada, assim torna mais rapido a execuo de varios programas ao mesmo tempo, essa maneira de execuo chamada pipeline. Memria O segundo principal componente em qualquer computador a memria, idealmente, a memria deveria ser bastante rapida, alm de muito grande e barata, mas nenhuma tecnologia atingi esses objetivos, logo foi necessario a criao de camada de memria, onde as camadas so: registradores, cache, memria principal, disco magntico, fita magnetica. Cada uma dessas memria representa um nivel de hierarquia, sendo os registradores os mais rapido e mais caro, e consequentemente a cada nivel a velocidade diminui e diminiu a velocidade. A criao desses camadas foi uma maneira de diminuir o tempo de atraso na comunicao processador-memria, pois o custo pra ser ter muita memoria rapida era altissimo, logo utiliza-se essa hierarquia de memoria. Entrade e Saida A E/S pode ser realizada de 3 maneiras diferentes: na mais fcil delas, um programa realiza uma chamada de sistema, a qual o ncleo traduz eu uma chamada de sistema ao driver apropriado. O driver em questo ento inicia o processo de E/S e fica continuamente perguntando se o dispositivo terminou sua E/S. Quando a operao termina, o driver pe os dados no local necessrio e retorna. A desvantagem deste mtodo manter a CPU ocupada, perguntando sobre a operao de E/S at que ela termine.
Na segunda maneira, o driver inicia o dispositivo e este s o interrompe quando a operao termina. Assim, ele retorna o controle da CPU ao SO, este ltimo bloqueia se necessrio, o programa que o chamou pedindo o servio e procura outra tarefa para executar. Conceitos sobre sistemas operacionais
Um conceito importante para entender os SO o de processo. Um processo um programa em execuo. Ligado a ele, est o espao de endereamento que contm o programa executvel, os dados do programa e sua pilha. Tambm, associado a cada processo, est um conjunto de recursos contendo todas as informaes necessrias para executar um programa.
Outro conceito importante para composio dos SO o sistema de arquivos. Uma ds principais funes do SO fornecer ao programador um modelo de arquivos agradvel e independente de dispositivos. So necessrias chamadas de sistema para manipulao de arquivos, por exemplo, para ser lido: inicialmente ele deve ser localizado no disco, aberto, lido e depois fechado. A maioria dos SO cria um conceito diretrio como um modo de agrupar arquivos. feita uma hierarquia de diretrios, como se fosse uma rvore. Assim, os arquivos so especificados de acordo com seu diretrio.