Inicializador do dispositivo Gerenciamento de memória Carregamento e execução de programas Segurança Controle de dispositivos: I/O Interface com o usuário Por que existem? No pc: - Uma maq. Pode ser conecta a diversos terminais atendendo a diversos usuários e realizar diversas atividades ao mesmo tempo. - Competição exige um alto grau de coordenação para evitar q atividades indep. Interfiram umas às outras, garantindo a comunicação eficiente e confiável entre atividades interdependentes Significado de um SO: Visão top-down: uma camada de software que apresenta para o usuário uma visão modificada do hardware Visão bottom-up: gerenciador de recursos, deve prover acesso controlando: processadores, memória, dispositivos E/S Características: - Definição de interface com o usuário; - Compartilhamento do hardware entre os usuários; - Permite aos usuários compartilhar dados entre si; - Escalonamento de recursos entre usuários; - Facilidades de entrada e saída; - Recuperação de erros. Compartilhamento do tempo: Necessita de escalonador e um despachante Deve ser capaz de revisar a execução dos vários jobs através do compartilhamento do tempo (time-sharing) - técnica time-sharing: divide o tempo em intervalos ou fatias (time-slices) e restringe a execução dentro de cada uma dessas frações de tempo, a um job de cada vez e ao término do intervalo, o job corrente é retirado do processamento e um outro é acionado. * esse revezamento cria a impressão de paralelismo * requer troca de contexto (salvamento do estado do programa na troca) Atualmente essa técnica é usada em sistemas de mono-usuários (multitaking) - + de uma tarefa pode ser feita no mesmo tempo - aumenta o desempenho global do sistema Sistemas multiprocessador: Vários processadores so além de coordenar a competição entre as várias tarefas que são executadas simultaneamente ele também: - controla a alocação de tarefas aos diversos processadores - envolve problemas de balanceamento de carga (garantir que os processadores sejam utilizados de modo eficiente - envolve a escalação (divisão das tarefas em várias sub-tarefas de nº compatível com o nº de processadores disponíveis) Arquitetura: Shell - Interface entre o usuário e o so - fornece uma comunicação natural entre o usuário e o computador Antigos Novos Comunicação via teclado e monitor, por Fornecem uma interface gráfica com o mensagens de textos. usuário - GUI (Graphics User Interface): na qual os arquivos e programas são representados graficamente através de ícones na tela.
- interpreta comandos (possui embutido uma linguagem de programação)
Kernel (núcleo) - componentes de software que executam as funções básicas necessárias ao funcionamento de cada instalação computacional em particular funções básicas necessárias à utilizações do pc. 1. Gerenciador de arquivo: - Parte mais visível - sua função é coordenar o uso dos recursos de armazenamento de massa do computador (memória secundária) - permite que os arquivos sejam agrupados de acordo com as respectivas finalidades e criar uma organização hierárquica. - Qualquer acesso a arquivos por parte de um modulo de software - A nível de shell, o sistema de arquivos oferece chamadas de sistemas, como a interface única para dispositivos. 2. Acionadores de dispositivos (device drivers) - são módulos de software que executam a comunicação com os controladores ou as vezes diretamente com os dispositivos: solicitando a realização de tarefas aos periféricos - drivers convertem solicitações de alto nível em comandos mais elementares 3. Gerenciador de memória: - Uma parte do so gerencia a memória principal - em pc’s monoprogramados: programa a executar é colocado na memória principal e após a execução, é substituído pela tarefa seguinte - em ambiente multi-usuários: - maq. Se encarrega de executar diversas tarefas ao mesmo tempo, - vários programas e blocos de dados coexistem na memória principal - medida das necessidades das diferentes atividades o gerenciador vai providenciando as áreas necessárias (mantendo um mapa das regiões de memória não utilizadas) - o problema fica mais tenso quando a área total de memória principal solicitada excede o espaço realmente disponível. - cria uma ilusão (memória virtual) de espaço adicional, alternando os programas e dados entre a memória principal e o disco - arquivo de SWAP: área de troca, onde a memória princial (RAM) ociosa pode ser armazenada para quando for novamente necessária 4. Escalonador (scheduler) - Determina quais atividades serão executadas 5. Despachante(dispatcher) - controla a distribuição de fatias de tempo para tais atividades Coordenação das atividades da máquina: Processo - Distinção entre um programa e a atividade de executá-lo Programa Execução do programa Um conjunto estático das instruções - Atividade dinâmica - Propriedades mudam à medida que o tempo avança - Atividade conhecida como processo
- o processo leva em conta a situação corrente da atividades (estado do processo)
- estado do processo: - posição do programa que está sendo correntemente executada - valores contidos nos registradores do processador - posições associadas de memória - um úncio programa pode ser associado a mais de um processo - so pode manter na RAM uma só cópia do programa editos e permitir que cada processo o utilize à sua maneira (durante o time-sharing que lhe couber ) - atividade de coordenação inclui: - garantir que cada processo tenha acesso aos recursos que necessita - processos independentes não interfiram uns com os outros - que processos que se intercomunicam tenham a possibilidade de trocar informações entre si (comunicação interprocessos) - administração de processos: - escalonador e despachante: - realização as atividades de coordenação de processos e parte integrantes do nucleo do SO - escalonador: - mantem um registro dos processor presentes no sistema computacional - inclui novos processos nesse conjunto - remove processos que já completaram sua missão Interrupção e trap: Forças que movimentam e dirigem os so Uma interrupção: - sinal de hardware que faz com que o processador sinalizado interrompa a execução do programa que vinha executando - uma interrupção é prevista programa no sistema pelo próprio programador Um trap: - instrução especial que quando executada pelo processador, origina as mesma ações ocasionadas por uma interrupção - um trap é uma interrupção ocasionada pelo software Esses dois podem ser ocasionador pelos vários dispositivos periféricos, pelo operador ou pelo relógio do sistema - relógio: Dispositivo hardware que decrementa automaticamente o conteúdo de um registrador ou posição de memória, com uma frequência constante e interrompe a CPU quando o valor decrementado atinge zero. - SO garante que ocorrerá pelo menos uma interrupção dentro de um intervalo de tempo t, colocando no relógio um valor que demore t unidades de tempo para ser decrementado até zero. Está atribuição de valor ao relógio é feita imediatamente antes do SO entregar a CPU upara um programa de usuário. Tratamento da competição entre processor: Uma tarefa comum dos componentes do núcleo de um SO É uma tarefa complexa para construir um sistema confiável.