Baixe o app para aproveitar ainda mais
Prévia do material em texto
Escola de Arquitetura de Engenharia e TI Ciência da Computação Sistemas Operacionais Sistemas Operacionais Processo(cont.) Funcionalidades e Gerenciamento Roteiro Bloco de Controle Threads Scheduling de Processos Multitarefas. Funcionalidades e Gerenciamento do SO Introdução Máquina Estentida Gerenciador de Recursos Necessidade de Gerenciar o SO Gerenciamento de Memória Gerenciamento de Arquivos Gerenciamento de Periféricos Sistemas de Redes Distribuídos Segurança Bloco de Controle do Processo Cada processo é representado no sistema operacional por um bloco de controle de processo. PCB - Process Control Block - também conhecido como bloco de controle de tarefa. Bloco de Controle do Processo Um PCB contém muitas informações associadas a um processo específico, a saber: Estado do processo. Contador de programa (Program Counter). Registradores da CPU. lnformação de escalonamento de CPU. Bloco de Controle do Processo Bloco de Controle de Processo Estado do Processo Número do Processo Contador do Programa Registradores Limites de Memória Lista de arquivos abertos ... PCB Threads O modelo de processo discutido até agora sugere que um processo é um programa que executa apenas um thread. Como exemplo: Quando um processo está executando um programa de processamento de texto, um único thread de instruções está sendo executado Threads Esse thread de controle único permite que o processo execute apenas uma tarefa de cada vez. Assim não é possível digitar caracteres e executar o corretor ortográfico dentro do mesmo processo. Threads Boa parte dos SO’s modernos permite que um processo tenha múltiplos threads de execução e, assim, desempenhe mais de uma tarefa de cada vez. Threads Em um sistema que suporte threads, o PCB é expandido de modo a incluir informações para cada thread. Scheduling de Processos (Fila) O objetivo da multiprogramação é ter processos em execução o tempo todo, para maximizar a utilização de CPU. O objetivo do tempo compartilhado é alternar a CPU entre processos. De forma tão frequente que os usuários possam interagir com cada programa durante sua execução. Scheduling de Processos Para um sistema uniprocessador, nunca haverá mais de um processo cm execução. Se houver mais processos, os demais terão de esperar até que a CPU esteja liberada e possa ser reescalonada. Scheduling de Processos À medida que os processos entram no sistema, são colocados em uma fila de jobs. Essa fila consiste em todos os processos do sistema. Os processos que estão residindo na memória principal e estão prontos e esperando para executar são mantidos em uma lista chamada fila de processos prontos . 13 Scheduling de Processos Essa fila geralmente é armazenada como uma lista encadeada. Um cabeçalho de fila de processos prontos contém ponteiros ao primeiro e Último PCBs na lista. Filas de Scheduling Estende-se cada PCB para incluir um campo de ponteiro apontando para o próximo PCB na fila de processos prontos. Schedulers A fila de prontos e várias filas de dispositivo de I/O Filas de Scheduling Diagrama mostrando a alternância da CPU de um processo para outro Schedulers Um processo passa por várias filas de scheduling durante o seu tempo de vida. Para fins de scheduling, o sistema operacional deve selecionar processos nessas filas. Multitarefas (tempo compartilhado) CPU é compartilhada entre os diversos processos. Uma pequena fatia de tempo é dado a cada processo < 1ms. Interativo. Multitarefas (tempo compartilhado) Capacidade do sistema operacional de manter vários processos ativos ao mesmo tempo. Timesharing: ilusão de que os processos executam ao mesmo tempo Multitarefas (tempo compartilhado) Multitarefas (tempo compartilhado) Multitarefas (tempo compartilhado) Multitarefas (tempo compartilhado) Funcionalidades e gerenciamentos do so Conceitos Fundamentais Introdução Definição: “Um programa que age como intermediário entre o usuário de um computador e o hardware” Introdução Hardware Sistema Operacional Aplicação Aplicação Aplicação Introdução Um computador possui softwares de diferentes finalidades: Alguns são capazes de interagir com o hardware: Outros são para auxiliar o usuário nas suas tarefas Software Básico Software Aplicativo Introdução Atua de duas maneiras distintas: Máquina Estendida Gerenciador de Recursos Máquina Estendida (Top-Down) Esconde do usuário a complexidade do hardware. Interface simples com o usuário, possibilitando rapidez e confiabilidade no acesso aos recurso Tornar uma tarefa de baixo nível mais fácil de ser realizada pelo usuário; Esconde detalhes do hardware Funciona como uma máquina virtual, facilitando a utilização. Máquina Estendida (Top-Down) Ex.: como é feita a entrada/saída de um disco – tarefa: Leitura e Escrita SO: baixo nível de detalhes Número de parâmetros; Endereço de bloco a ser lido; Número de setores por trilha; Modo de gravação; Máquina Estendida (Top-Down) Ex.:como é feita a entrada/saída de um disco – tarefa: Leitura e Escrita Usuário: alto nível – abstração simples Visualização do arquivo a ser lido e escrito; Arquivo é lido e escrito; Arquivo é fechado. Gerenciador de Recursos (Bottom-up) Controla o acesso dos programas aos componentes do sistema. Processadores, memória, discos, interfaces de rede, etc. Gerencia os dispositivos que compõem o computador; Cada programa tem um tempo definido para utilizar o recurso. Cada programa tem um espaço definido no recurso. Necessidade de usar SO Gerenciamento de processos Gerenciamento da memória Gerenciamento de arquivos Gerenciamento de periféricos e dispositivos E/S. Ambiente de rede e distribuído Segurança Necessidade de usar SO Gerenciamento de processos Necessidade de usar SO O sistema operacional é responsável pelo ciclo de execução dos processos: carga, execução e finalização. Dividir o tempo de processamento entre os processos ativos (escalonamento) – Algoritmos!!! Prover a comunicação entre processos – Estrutura de dados !!! Prover a sincronização entre processos – Algoritmos e métodos!!! Gerenciamento de Memória Gerenciamento de Memória O sistema operacional deve gerenciar a memória disponível no computador Alocação da memória entre os diferentes processos Proteção da memória entre diferentes processos Gerenciamento de Arquivos Como armazenar os arquivos de maneira eficiente – Métodos e algoritmos. Como acessar os arquivos de maneira eficiente – Métodos e algoritmos. Como prover confiabilidade de armazenamento – Métodos e algoritmos. Como prover um modelo comum para diferentes tipos de armazenamento – Discos rígidos, cartões de memória. Gerenciamento de Periféricos Diferentes tipos de periféricos Dispositivos de entrada Dispositivos de saída Dispositivos Monitor Teclado Métodos de acesso Sistemas de Redes Distribuídos Evolução dos Servidores Web. Date Computador Web Servers Percentual 1979, July 188 0 0 1993, July 1,776,000 130 0,008 1995, July 6,642,000 23,500 0,4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 Sistemas de Redes Distribuídos Evolução dos Servidores Web. Crescente aumento no número de serviços remotos. Servidores de arquivos. Servidores de impressão. Servidores de autenticação. Segurança. Autenticação de usuários Proteção e níveis de acesso Diferentes usuários com diferentes níveis de acesso. Vírus e proteção do sistema operacional. APS Programa SOsim. 5 integrantes. SISTEMA OPERACIONAL ATIVIDADE Atividade SISTEMA OPERACIONAIS ATIVIDADE – SISTEMAS OPERACIONAIS - Sistemas Operacionais Hardware Programas Usuários O QUE É? O QUE NÃO É! * * * * * * * *
Compartilhar