140 likes | 310 Views
SISTEMAS OPERACIONAIS. EMENTA Funções e estrutura de sistemas operacionais. Processos: conceitos básicos; comunicação e sincronização; escalonamento. Gerência de memória: partições fixas e variáveis; realocação, memória virtual; swapping; sistemas de arquivos. OBJETIVOS
E N D
EMENTA Funções e estrutura de sistemas operacionais. Processos: conceitos básicos; comunicação e sincronização; escalonamento. Gerência de memória: partições fixas e variáveis; realocação, memória virtual; swapping; sistemas de arquivos.
OBJETIVOS Compreender e utilizar os conceitos de sistemas operacionais, com ênfase na comunicação entre os processos e gerência de memória, visando discutir os problemas e soluções decorrentes.
A Evolução dos Sistemas Operacionais Sistemas operacionais são programas que controlam todos os recursos do computador e fornecem a base para o desenvolvimento dos programas de aplicação. É um gerenciador de recursos, responsável pela gerência do processador, pela gerência de memória, pela gerência de arquivos, pela gerência dos dispositivos de entrada e saída e pelos mecanismos de acesso aos dados.
Os sistemas operacionais virtualizam todos os recursos de hardware que gerenciam, criando uma máquina virtual. Por exemplo, os usuários tratam com arquivos, que são entidades lógicas gerenciadas pelo sistema operacional. Uma operação de escrita em um arquivo será traduzida pelo sistema operacional em uma operação de gravação de dados no periférico, completamente transparente ao usuário.
Monoprogramação e Multiprogramação Nos sistemas operacionais monoprogramados existe um único programa de usuário em execução. Nos multiprogramados existem vários programas de usuário em execução simultânea. A figura a seguir mostra a organização de um sistema operacional monoprogramado. É formado por cinco componentes lógicos:
Tratador de Interrupções: software do SO responsável pelo tratamento das interrupções(Uma interrupção é um evento externo que causa o processador parar a execução do programa corrente e desviar a execução para um bloco de código chamado rotina de interrupção (normalmente são decorrentes de operações de E/S). Ao terminar o tratamento de interrupção o controle retorna ao programa interrompido exatamente no mesmo estado em que estava quando ocorreu a interrupção.); • Drivers dos dispositivos: responsáveis pela execução das operações de entrada e saída. Existe um driver para cada classe de periférico; • Gerenciador de Arquivos: responsável pela implementação do sistema de arquivos, permitindo ao usuário o armazenamento e a recuperação de informações.
Seqüenciador de programas: módulo que, ao término da execução de um programa, faz com que o sistema passe a executar um novo programa; • Programas de usuários: representa o programa em execução. Existe um único programa de usuário na memória. Ao término da execução, um outro programa será carregado pelo seqüenciador de programas e passará a ser executado.
Um sistema operacional multiprogramado suporta a execução de múltiplos programas de usuários, em paralelo. Em sua organização possui Tratador de Interrupções, Drivers dos dispositivos, um gerenciador de memória, um gerenciador de processos que possui um escalonador, responsável pela seleção e disparo de programas, por um gerenciador de arquivos, por um seqüenciador de programas e pelos programas de usuários em execução. Num sistema multiprogramado o tempo do processador é distribuído entre os programas em execução.
Cada programa executa por um certo tempo, ou até que solicite uma operação de entrada e saída, ou até que necessite esperar a ocorrência de algum outro evento. Nestes casos, o sistema operacional executa a rotina de tratamento referente ao pedido do processo e, após isso, um novo processo é selecionado e passa a ser executado. A figura a seguir mostra esquematicamente os componentes de um sistema operacional multiprogramado.
Evolução dos Sistemas Operacionais Os primeiros sistemas eram totalmente manuais, com usuários altamente especializados e com um esquema de marcação de horas para utilização. Os usuários eram também os pesquisadores que trabalhavam no desenvolvimento dos equipamentos, e que possuíam um grande conhecimento do hardware, o que lhes permitia usar o computador. Estas 10 máquinas não possuíam sistema operacional e era necessário programar diretamente o hardware. A figura a seguir apresentada a seguir ilustra esses primeiros ambientes computacionais.