Atps De Sistemas Operacionais
Monografias: Atps De Sistemas Operacionais. Pesquise 861.000+ trabalhos acadêmicosPor: claudiobastos • 23/9/2013 • 5.454 Palavras (22 Páginas) • 469 Visualizações
Centro de Educação a Distância
Atividade Prática Supervisionada
Sistemas Operacionais
Valparaiso de Goias / GO
2013
FUNÇÕES BÁSICAS DOS SISTEMAS OPERACIONAIS
Todos os sistemas operacionais possuem certos conceitos ou funções básicas, como processos, memória e arquivos que são fundamentais para entendermos cada um dos sistemas operacionais.
Processos
Um conceito que é fundamental para todos os sistemas operacionais é o de processo. Um processo nada mais é do que um programa em execução, e a cada processo está associada o seu espaço de endereçamento, que é uma lista de posições de memória, que possuem variação entre uma quantidade mínima e uma quantidade máxima de posições que este processo poderá ler e escrever. É no espaço de endereçamento onde está contido o programa executável, os dados do programa e sua pilha. E associado a cada processo está um conjunto de registradores de hardware e demais informações necessárias para efetivarem a execução de um programa.
Para entendermos melhor um processo devemos pensar em sistemas de tempo compartilhado, periodicamente, o sistema operacional decide parar de executar um processo e iniciar a execução de outro, porque, o primeiro havia excedido o seu tempo de compartilhamento do processador. Ele é suspenso temporariamente, mas reiniciado mais tarde, exatamente do mesmo ponto em que estava quando interrompido. Para isso é necessário que todas as informações relativas ao processo devam estar salvas em algum lugar durante esta parada ou interrupção. Em muitos sistemas operacionais as informações relativas ao processo são armazenadas em uma tabela do sistema operacional chamada de tabela de processos, que seria um vetor, ou uma lista encadeada de estruturas, uma para cada processo criado.
Assim, um processo (suspenso) é constituído de seu espaço de endereçamento, normalmente chamado de imagem do núcleo (em homenagem às memórias de núcleo magnético usadas no passado) e em sua entrada na tabela de processos, a qual contém seus registradores, entre outras coisas.
As principais chamadas ao sistema de gerenciamento de processos são aqueles que lidam com a criação e o término de processos. Um exemplo típico, um processo denominado interpretador de comandos ou Shell lê os comandos de um terminal. O usuário acaba de digitar um comando pedindo que um programa seja compilado. O Shell deve criar um novo processo o qual executará o compilador. Assim, que esse processo tiver terminado a compilação, ele executa uma chamada ao sistema para se autofinalizar. Se um processo pode criar um ou mais processos filhos, e se esses processos, por sua vez, puderem criar outros processos filhos, rapidamente chegaremos a uma estrutura de árvores como a da figura abaixo:
Uma árvore de processos. O processo A criou dois processos filhos o B e o C. O processo filho B criou dois processos filhos D e E. E o processo filho C criou outro processo filho o F.
Quando estão interagindo, dois ou mais processos podem, algumas vezes, entrar em uma situação da qual eles não conseguem sair. Essa situação é chamada deadlock.
Gerenciamento de Memória
Todo computador possui memória principal que é usado para guardar os programas em execução. Nos sistemas operacionais muito simples somente um programa de cada vez ocupa a memória e para executar outro programa, o primeiro deve de ser removido.
Sistemas operacionais mais robustos permitem que múltiplos programas se instalem na memória principal ao mesmo tempo, isso está relacionado com o gerenciamento e a proteção da memória principal do computador. Idealmente, a memória deveria ser muito rápida, mais veloz do que a execução de uma instrução, para que o processador não fosse atrasado pela memória, além de ser muito grande e de baixo custo, mas, nenhuma tecnologia atual satisfaz todos estes objetivos, e assim constrói-se o sistema de memória como uma hierarquia de camadas, veja a figura:
Tempo de Acesso Típico Camadas Capacidade Típica
1 ns Registradores < 1 KB
2 ns Cache 1 MB
10 ns Memória Principal 64 – 512 MB
10 ms Disco Magnético 5 – 50 GB
100s Fita Magnética 20 – 100 GB
Uma típica hierarquia de memória. Os números são apenas aproximações.
A hierarquia de memória é o padrão mais comum, mas alguns sistemas não têm todas essas camadas ou algumas são diferentes delas (como discos ópticos). No entanto, em todas, conforme vamos descendo na hierarquia, o tempo de acesso aleatório cresce muito, a capacidade da mesma maneira, também aumenta bastante e o custo por bit cai de maneira grandiosa, e talvez por causa disto, é bem provável que a hierarquia de memória ainda perdure bastante por vários anos.
Muitos computadores apresentam uma memória de acesso aleatório não volátil, esta memória não perde seu conteúdo quando sua alimentação é desligada. Por exemplo, a ROM (Read Only Memory - memória apenas de leitura) é programada na fábrica e não pode ser alterada. É rápida e barata.
A EEPROM (electrically erasable ROM – ROM eletricamente apagável) e a Flash RAM são também memórias de acesso aleatório não volátil, mas diferentes da ROM, pois podem ser apagadas e reescritas.
Existem ainda memórias voláteis em tecnologia CMOS. Muitos computadores utilizam memórias CMOS para manter datas e horas atualizadas. A memória CMOS e o circuito de relógio que incrementa o tempo registrado nela são alimentados por uma pequena bateria, para que o tempo seja corretamente atualizado mesmo que o computador seja desligado. A memória CMOS pode conter também os parâmetros de configuração, como de qual disco deve iniciar a carga do sistema (boot). Essa tecnologia é usada porque consome bem menos energia e assim as baterias originais instaladas na fábrica podem durar vários anos. Entretanto, quando a bateria começa a falhar, o computador pode parecer um portador da doença de Alzheimer, esquecendo coisas que sabia havia anos, como por exemplo, de qual disco rígido carregar o sistema operacional.
Entrada e
...