PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Tamanho: px
Começar a partir da página:

Download "PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br"

Transcrição

1 - Aula 4 - NÍVEL DE MÁQUINA DE SISTEMA OPERACIONAL 1. INTRODUÇÃO Este é o nível responsável por fazer a interface homem-máquina, com a capacidade de suportar sistemas de comandos ou de janelas. Figura 1 - Níveis Este nível suporta algumas facilidades, como: - Memória virtual (uso de memória secundária como se fosse memória principal, aumentando o espaço de endereçamento). - E/S virtual (instruções de E/S de alto nível facilitam a programação e fornecem garantias mínimas de segurança). - Multiprogramação (possibilidade de interpretar várias máquinas de nível 3 em paralelo). 2. MEMÓRIA VIRTUAL Os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida, por exemplo: PDP-1 funcionava em tempo compartilhado com memória de 4096 palavras de 18 bits cada para rodar o sistema operacional e os programas dos usuários. Por falta de memória, às vezes se implementava algoritmos mais lentos. A solução tradicional para a falta de memória era o uso de memória secundária era a divisão do programa em partes, chamadas overlays, que cabiam na memória disponível. Cada 1

2 overlay era carregado do disco para a memória, segundo a seqüência do programa, e executado. O programador era responsável por gerenciar todo o processo de overlays sem qualquer ajuda do computador. A definição de overlays evoluiu para o conceito de memória virtual. Em 1961, um grupo de pesquisadores ingleses apresentaram um Sistema Operacional capaz de processar overlays automaticamente, implementando assim o conceito de memória virtual. Em 1970, essa ferramenta estava implementada em, praticamente, todas as arquiteturas computacionais. Atualmente existem sistemas sofisticados de memória virtual Paginação A paginação é uma implementação de memória virtual que usa os conceitos de: - espaço de endereços físicos: espaço real disponível em memória. - espaço de endereços virtuais: endereços virtuais do programa, que podem ser maior do que o espaço de memória física. Características do esquema de paginação: - um mapa de memória, ou tabela de páginas, relaciona os endereços virtuais com os endereços físicos; - os programas são escritos com base no pressuposto que o tamanho de memória principal é suficiente para todo o espaço de endereços virtuais - os programas podem trazer, ou armazenar, qualquer palavra do, ou no, espaço virtual ou desviar para qualquer instrução situada dentro do espaço virtual, sem se preocupar com o tamanho da memória física. - A paginação dá ao programador a ilusão de uma memória principal grande, com endereços contíguos e lineares, do mesmo tamanho da memória virtual. - A Figura abaixo ilustra o processo de mapeamento de parte da memória virtual para uma memória de 4096 palavras. Figura 2 - Critério para mapeamento no qual os endereços virtuais 4096 a 8191 correspondem aos endereços 0 a 4095 da memória principal Como o programador pode escrever seu programa como se não existisse a paginação, esse mecanismo é chamado de transparente. Somente os programadores de sistemas 2

3 operacionais (e os estudantes de Sistemas Operacionais) precisam saber como essa ilusão se sustenta Implementação da paginação - O espaço de endereçamento virtual é dividido em um conjunto de páginas, todas do mesmo tamanho (512 Bytes, 64 KB e às vezes 4MB, sempre potência de 2); - O espaço de endereçamento físico também é dividido em pedaços do mesmo tamanho do virtual. Essas partes são conhecidas como molduras de página. Figura 3 - Paginação (a) Os primeiros 64 K do espaço de endereços virtuais divididos em 16 páginas, de 4 K cada uma. (b) Memória principal de 32 K dividida em 8 molduras de página, de 4 k cada. A memória virtual da figura acima deve ser implementada a partir de uma tabela de páginas com tantas entradas quantas forem às páginas existentes no espaço de endereçamento virtual. O sistema funciona através do mapeamento do endereço virtual para o endereço físico. O mapeamento virtual-físico é realizado por um dispositivo conhecido com MMU (Memory Management Unit - Unidade de Gerenciamento de Memória). A figura abaixo mostra o funcionamento desse dispositivo. - Os 32 bits de um endereço virtual são divididos em 2 partes: 3

4 A primeira, com 20 bits, representando o número da página virtual A segunda, com 12 bits, representando o deslocamento dentro da página - O número da página virtual é usado para indexar a tabela de páginas. Figura 4 - Formação do endereço da memória principal a partir do endereço virtual Seguindo esta linha de raciocínio, abaixo segue a representação de um possível esquema para mapear as primeiras 16 páginas virtuais do espaço de endereçamento virtual, em uma memória principal com 8 molduras de página. 4

5 Figura 5 - Esquema possível para mapear as primeiras 16 páginas virtuais do espaço de endereçamento virtual, em uma memória principal com 8 molduras de página 2.3. Paginação por Demanda e Modelo do Conjunto de Trabalho (Workset) Quando é feita uma referência a um endereço situado em uma página que não está na memória principal diz-se que ocorreu uma falta de página. Neste caso é necessário que: - leia-se, do disco, a página faltante; - se coloque essa página na memória principal e; - se repita a referência ao endereço de interesse. Esse método de operação é chamado de paginação por demanda. Na paginação por demanda, as páginas são trazidas para a memória principal em função das requisições explicitas para cada uma delas e não antecipadamente. Quando temos vários processos sendo executados, num regime de compartilhamento de tempo, o mapeamento de páginas muda cada vez que há uma troca de contexto. Neste caso a paginação por demanda pode ter um impacto negativo. Uma solução é usar um modelo, chamado conjunto de trabalho, que carrega, antecipadamente, as páginas necessárias a execução ou continuação de um processo. 5

6 2.4. Política de Substituição de Páginas Quando ocorre um problema de falta de página, o Sistema Operacional deve substituir uma moldura, página da memória física, por uma página do disco. Problema: Qual página deve ser devolvida ao disco? O Sistema Operacional deve escolher, automaticamente, a página de mais baixa probabilidade de vir a pertencer ao conjunto de trabalho em breve. Algoritmos de substituição LRU (Least Recently Used), LRV (Lowest Relative Value) e FIFO (First In First Out) podem ser usados nesses casos ALGORITMO LRU (LEAST RECENTLY USED) Substitui a página menos usada recentemente, ou seja, a que está sem uso há mais tempo. Um contador de uso de página pode ser usado nessa implementação. Essa estratégia falha em situações como apresentada abaixo. A figura abaixo ilustra uma seqüência de um loop que usa um conjunto de trabalho maior do que a quantidade de páginas físicas. Figura 6 - Falha do algoritmo LRU ALGORITMO FIFO (FIRST IN FIRST OUT) O primeiro a entrar é o primeiro a sair. Remove a página mais antiga, ou seja, aquela que está a mais tempo na memória principal. Cada moldura tem um contador de número de falhas que a moldura sobrevive. Este algoritmo também pode falhar quando um conjunto de trabalho maior do que a quantidade de páginas físicas. 6

7 2.5. Tamanho da Página e Fragmentação Se o programa, com seus dados, não couberem exatamente em um número inteiro de páginas haverá desperdícios. Alguns bytes da última página alocada não serão usados. O problema de desperdício de bytes é conhecido como fragmentação interna. Para páginas de n bytes perde-se em média, n/2 bytes. Isto sugere que páginas pequenas perdem menos espaço. Porém, quando as páginas são muito pequenas temos um número maior de páginas e, em conseqüência, uma tabela de páginas maior que requer mais registradores tornando o processador, sendo assim mais caro. Também é maior o tempo gasto para mover páginas da memória virtual para a física. Portanto, tem que haver uma solução de compromisso para definição do tamanho das páginas Segmentação O sistema de memória virtual, discutido até aqui é unidimencional. Os endereços variam de 0 até um endereço máximo, um endereço após o outro. Às vezes são necessários dois ou mais espaços de endereçamento virtual separados. Exemplo: Um compilador gera muitas tabelas que precisam ser construídas na medida em que o processo de compilação evolui. Entre essas podemos citar: 1. Tabela de símbolos, com os nomes e os atributos das variáveis. 2. Tabela com o código fonte. 3. Tabela de constantes inteiras e de ponto flutuante usadas pelo programa. 4. Tabela analítica, com a análise sintática do programa. 5. A pilha usada para chamadas a procedimentos dentro do compilador. Em um sistema de memória unidimensional, essas 5 tabelas precisariam ser alocadas em pedaços contíguos conforme mostra a figura abaixo. 7

8 Figura 7 - Alocação de algumas tabelas num sistema de memória unidimensional Problema: Em um espaço de endereçamento unidimensional que suporte tabelas cujos tamanhos podem aumentar ou diminuir dinamicamente, existe o perigo de uma tabela invadir a área de outra. As tabelas podem se expandir ou contrair durante a execução do programa. Solução: Fazer com que o sistema de memória suporte vários espaços de endereçamento completamente independentes. Esses espaços são denominados segmentos. Cada segmento é composto por uma seqüência linear de endereços, de 0 até um valor máximo. O tamanho dos segmentos podem ser diferentes e variam durante a execução do programa. A abaixo exemplifica a operação de uma memória segmentada, usada para acomodar as tabelas do compilador descritas acima. Figura 8 - Uma memória segmentada permite que cada tabela cresça ou encolha independentemente das outras tabelas Alguns segmentos podem ser protegidos contra leitura ou escrita. Por exemplo, um segmento que contenha um procedimento pode ser especificado como segmento de código e, 8

9 portanto, só pode ser lido. Como o usuário de uma memória segmentada tem a ilusão que todos os segmentos estão em memória principal ao mesmo tempo, eles podem ser endereçados sem que tenhamos que nos preocupar com a administração do overlay da memória Implementação da Segmentação A segmentação pode ser implementada de duas maneiras: por swapping ou por paginação. Características da implementação por swapping: - é muito parecida com a paginação por demanda: os segmentos inteiros vão e vem do disco para a memória principal e vice-versa, na medida em que são necessários - a principal diferença é que as páginas têm tamanho fixo e os segmentos não. - A figura abaixo parte (a) mostra um exemplo de uma memória física contendo, inicialmente, cinco segmentos. As partes seguintes (b) a (d) mostram como a memória começa a ficar fragmentada ao substituirmos alguns segmentos por outros menores. - Esse fenômeno é chamado fragmentação externa (pois o espaço perdido fica fora do segmento, concentrado em buracos entre eles). Figura 9 - (a) a (d) Aparecimento da fragmentação externa na memória. (e) Remoção da fragmentação externa por meio da compactação do conteúdo da memória A parte (e) mostra como fica a memória após um processo chamado compactação dos segmentos. A compactação é realizada movendo-se todos os segmentos para mais próximo do endereço 0 (para baixo) toda vez que um buraco de memória aparecer. Tem a desvantagem de ser lenta. Outras opções são: 9

10 - usar o algoritmo best fit (melhor assentamento), que escolho o menor de todos os buracos no qual o segmento poderá ser abrigado. Este é mais rápido, mas gera muitos buracos pequenos. - usar o algoritmo first fit (primeiro assentamento), que busca o primeiro buraco suficientemente grande para acomodar o segmento. Este é mais rápido que os anteriores e tem uma performance global melhor que o best fit. As principais características de uma implementação por paginação é uma mistura de segmentação com paginação; há uma divisão de cada segmento em um conjunto de páginas e passa a trabalhar como no esquema de paginação por demanda; e exige-se que seja criada uma tabela de páginas, individual, para cada segmento Memória Virtual e Memória Cache Embora pareça que os assuntos memória virtual (paginação por demanda) e memória cache não tem qualquer relação entre si, conceitualmente eles são muito semelhantes. No caso de emprego da memória virtual: - Todo o programa é mantido no disco, dividido em páginas de tamanho fixo; - Um subconjunto dessas páginas é mantido na memória principal; - Se um programa usar as páginas de memória com muita frequência serão geradas poucas faltas de página, e o programa vai rodar rapidamente. fixo. No caso de emprego da memória cache: - Todo programa é mantido na memória principal, dividido em blocos da cache de tamanho - Um subconjunto desses blocos deve ser mantido na cache. - Se um programa usar os blocos que estiverem na cache com muita freqüência, serão geradas poucas falhas no acesso a cache e o programa vai rodar rápido. Conceitualmente, essas duas memórias são idênticas; a única diferença é que elas atuam em níveis diferentes de hierarquia. As principais diferenças entre elas são: - as falhas no acesso à cache são tratadas por hardware, enquanto as faltas de páginas são tratadas pelo Sistema Operacional - os blocos da cache são muito menores que as páginas (Exemplo: 64 bytes x 8 KB). 3. INSTRUÇÕES VIRTUAIS DE E/S O conjunto de instruções de nível ISA é completamente diferente do conjunto de instruções de microarquitetura. As operações que podem ser executadas e também os formatos das instruções são bem diferentes nos dois níveis. A existência ocasional de algumas instruções, que são as mesmas em ambos os níveis, é, em essência, acidental. 10

11 Em contraste, o conjunto de instruções de nível do Sistema Operacional contém grande parte das instruções de nível ISA com a adição de algumas instruções novas, porém importante, e a remoção de algumas poucas instruções potencialmente danosas. Entrada/saída é uma das áreas em que os dois níveis apresentam consideráveis diferenças. A razão para essas diferenças é simples: um usuário que pudesse executar as instruções de E/S reais de nível ISA poderia ler dados confidenciais armazenados em qualquer lugar do sistema, escrever em terminais de outros usuários e, em geral, se transformar em um grande transtorno porque seria uma ameaça a segurança do próprio sistema. Em segundo lugar, programadores normais, sensatos, não querem fazer E/S no nível ISA porque ela é tediosa e complexa Arquivos Um modo de organizar E/S virtual é usar uma abstração denominada arquivo. Se o dispositivo de E/S for um dispositivo de armazenamento o arquivo pode ser lido de volta mais tarde. Se for uma impressora isso não é possível. Para o Sistema Operacional, um arquivo é apenas uma seqüência de bytes. A E/S de arquivos é feita por chamada de sistema para abrir, ler, escrever e fechar. O processo de abertura deve permitir que o sistema operacional localize o arquivo em disco e traga informações da memória necessária para acessá-lo. Uma vez aberto, o arquivo pode então ser lido. A chamada de sistema read deve ter os seguintes parâmetros: 1) Uma indicação de qual arquivo aberto deve ser lido; 2) Um ponteiro para um buffer na memória no qual colocar os dados. 3) O número de bytes a ser lido. Figura 10 - Leitura de um arquivo 11

12 A chamada read coloca os dados no buffer. Após uma read, o ponteiro avança conforme o número de bytes lido. Reads consecutivas lêem blocos de dados consecutivos do arquivo Implementação Para entender como as instruções de E/S virtuais são implementadas é necessário examinar como os arquivos são organizados e armazenados. Um aspecto bastante comum é a alocação de armazenamento. A unidade de alocação pode ter um único setor de disco ou um bloco de setores consecutivos. Outra propriedade da implementação de um sistema de arquivos é se um arquivo é armazenado em unidades de alocação consecutivas ou não. Figura 11 - Alocação em disco A alocação consecutiva de blocos é comumente utilizada em CD-Roms. Nos discos magnéticos o arquivo não precisa ocupar setores consecutivos. É importante destacar que o Sistema Operacional vê o arquivo como uma coleção de unidades de alocação ordenadas e não necessariamente consecutivas. Sendo assim, é necessário que o Sistema Operacional disponha de algum método para localizar os dados. Se for alocado consecutivamente basta saber onde está o início do arquivo para calcular a posição do byte ou registro lógico. Caso contrário é necessário uma tabela denominada índice de arquivo que indica as unidades de alocação e seus endereços de disco. Método alternativo a esse é organizar o arquivo como uma lista encadeada, onde cada unidade possui o endereço de sua sucessora. Para alocar espaço no disco o Sistema Operacional deve monitorar quais blocos estão livres. Um método consiste em manter uma lista de todas as lacunas. Esta lista é denominada lista de livres. 12

13 Figura 12 - Lista e Mapa de Bits Método alternativo é manter um mapa de bits, com 1 bit por unidade de alocação. Cada bit representa uma unidade de alocação (bit=1 espaço ocupado e bit=0 desocupado). A desvantagem da lista de espaço vazio é não ter um tamanho definido (diminui e aumenta na medida em que os arquivos são criados e destruídos). O mapa, ou tabela, de bits tem sempre o mesmo tamanho, porém é mais custoso encontrar um bloco de tamanho determinado. Ambos os métodos exigem que a lista de alocação seja atualizada sempre que um arquivo for gravado ou apagado 4. INSTRUÇÕES VIRTUAIS PARA PROCESSAMENTO PARALELO Alguns algoritmos podem ser programados para dois ou mais processos cooperativos operando em paralelo. Para que isso seja possível são necessárias algumas instruções virtuais. Este conceito também é conhecido por multiprogramação. O objetivo principal é diminuir tempo de execução das instruções. A multiprogramação permite o suporte de várias máquinas virtuais de nível 3 rodando em paralelo. A implementação se dá de duas formas: a) Paralelismo real: o computador possui mais de um processador. O sistema operacional deve gerenciar a distribuição das tarefas entre os diversos processadores. b) Paralelismo simulado: o computador possui um único processador. O sistema operacional deve multiplexar no tempo a execução dos processos paralelos. 13

14 Figura 13 - a) Paralelismo real. b) Paralelismo simulado. Mesmo quando o paralelismo é simulado, podemos considerar que cada processo tem seu próprio processador virtual, ou seja, O processador real é compartilhado pelos processos. NOTA Os problemas de comunicação entre processos são os mesmos tanto no paralelismo verdadeiro quanto no simulado. Um programa roda como parte de um Processo, sendo que um processo = programa + espaço de endereçamento + estado (valor de PC, SP, PSW, etc.). Os Sistemas operacionais fornecem instruções de nível 3 (chamadas) para criar parar, examinar reiniciar e terminar a execução de processos dinamicamente. Por meio destas instruções, processos pais podem criar processos filhos, podendo ter controle total, parcial ou nenhum sobre os mesmos fazendo uso das chamadas de sistema. Essa chamada pode apenas fazer um clone do chamador ou permitir a criação de um processo que especifique seu estado inicial Condições de Disputa (ou Condições de Corrida) Em muitas aplicações, os processos paralelos precisam se comunicar e se sincronizar de modo a realizar seus trabalhos de maneira cooperativa. O problema conhecido como condição de corrida ocorre devido a falta de sincronismo entre os processos que compartilham um mesmo recurso, por exemplo: dados comuns em uma parte de memória, uma mesma impressora, etc. No caso desses compartilhamentos, um processo pode suspender ("fazer dormir") ou reiniciar ("acordar") outro processo rodando em paralelo. Caso esses comandos sejam fornecidos assincronamente, quando o outro processo está ocupado com alguma tarefa, os comandos podem ser perdidos. Neste caso um processo pode informações erradas do outro, ocasionando situações inesperadas que, em geral, levam ao travamento do computador. A Figura abaixo ilustra o problema de condição de corrida quando dois processos compartilham de dados num único buffer circular. 14

15 Figura 14 Buffer circular No exemplo acima dois processos, produtor e consumidor, rodam em paralelo. O produtor gera números primos e coloca-os no buffer enquanto que o consumidor lê os números primos e os imprime. Quando buffer está cheio o produtor deve ser suspenso (dormir) e esperar um sinal de reinicio (acordar) do consumidor. Quando o buffer está vazio, o consumidor deve ser suspenso (dormir) e aguardar um sinal do produtor para reinicio. Os processos se perdem quando, por exemplo, o consumidor está imprimindo um último número primo do buffer e o produtor está colocando um novo número no buffer. O produtor vê o buffer vazio e envia um sinal para acordar o consumidor (pois acha que ele estava dormindo), mas este sinal se perde (pois o consumidor está imprimindo o número). Assim, o produtor acha que o consumidor está acordado mas o consumidor vai dormir, eternamente, após o trabalho de impressão (pois não recebeu o sinal de acordar). Problema de sincronismo da informação Sincronização de Processos Usando Semáforos O problema da condição de corrida entre dois processos pode ser evitada com o uso de um bit de sinal para acordar um processo. O consumidor verifica esse bit, antes de dormir. Se bit = 1 ele deve continuar, caso contrário ele pode ir dormir. Porém, isto não funciona quando temos vários processos rodando em paralelo. Quando temos n processos se comunicando entre si é possível usar semáforos IMPLEMENTAÇÃO DO SEMÁFORO O sistema operacional fornece duas chamadas de sistema: a) Up - adiciona 1 unidade ao valor corrente do semáforo b) Down - subtrai 1 unidade ao valor corrente do semáforo - Sempre que um processo produz dados para os consumidores ele chama a função Up. - Toda vez que um processo consome dados dos produtores ele chama a função Down. 15

16 - Cada processo consulta o valor do semáforo antes de alimentar ou consumir um dado. O quadro abaixo resume as propriedades fundamentais das chamadas de sistema Up e Down. Tabela 1 Efeito da Operação do Semáforo INSTRUÇÃO SEMÁFORO = 0 SEMÁFORO >0 Up Down Semáforo = Semáforo +1 Se outro processo estiver parado, aguardando o término da execução de uma instrução Down nesse semáforo, ele pode agora completar a execução dessa instrução e continuar rodando. O processo para até que outro processo execute a instrução Up sobre esse semáforo Semáforo = Semáforo + 1 Semáforo = Semáforo - 1 Em essência, o semáforo é um contador que armazena os sinais para acordar processos para uso futuro, de maneira que esses sinais não se percam. NOTA Down. Só um processo de cada vez tem acesso ao semáforo para executar as chamadas Up e 4. EXEMPLO DE SISTEMAS OPERACIONAIS 4.1. Arquitetura Windows de 32 bits A arquitetura do Windows 32 bits é composta por diversos elementos, como mostra a figura abaixo. Cada elemento cuida de uma parte do ambiente Windows. Por exemplo, a camada API (Application Programming Interface) permite que os aplicativos se comuniquem com os elementos internos do sistema básico. Antes de analisar cada um dos elementos, é necessário conhecer alguma coisa do sistema de anéis de proteção fornecidos pelos processadores e mais avançados. Existem quatro anéis de segurança no esquema de proteção da Intel, mas a maioria dos sistemas operacionais utiliza apenas dois deles (às vezes três). O anel de segurança máxima, o mais interno, é o Ring 0. É onde está o sistema operacional. O anel mais afastado, onde reside o aplicativo, é o Ring 3. Em diversas situações, o acesso a alguns recursos do sistema é facilitado se estes puderem ser executados a partir do Ring 1 ou Ring 2. Mas o Windows não faz qualquer tipo de concessão: os drivers de dispositivos são executados apenas nos anéis 0 e 3, dependendo da sua finalidade. 16

17 Figura 15 - Sistemas de anéis de proteção O Windows utiliza estes anéis de proteção para assegurar que apenas os componentes do sistema possam acessar os componentes internos, impedindo desta forma que um aplicativo possa alterar parâmetros do sistema básico e provocar uma paralização do sistema. Por exemplo, o Windows se reserva o direito de alocar memória a partir do pool global. Deste modo, os recursos necessários para desempenhar esta tarefa residem no Ring 0. Por outro lado, os aplicativos precisam acessar a memória atribuída a eles. É por isto que o sistema atribui à memória local o valor 3. Imagine cada anel como uma barreira de segurança. Antes de ultrapassar esta barreira você precisa fornecer uma senha para obter a permissão. O Windows apenas fornece a senha para aplicativos nos quais ele confia, os que possuem "documentos de identificação" em ordem porque estão registrados no sistema. Sempre que um aplicativo tentar burlar a segurança, o processador dá um alerta emitindo uma exceção. Ao receber este alarme de segurança, o sistema "captura" e desativa o aplicativo infrator e avisa o usuário. Por isso o sistema Windows é chamado de Sistema Fechado, o usuário não tem como acessar diretamente o sistema básico O SISTEMA BÁSICO DO WINDOWS O componente Sistema Básico (Basic System) contém todos os serviços específicos do sistema operacional. É o núcleo do Windows, a parte que sempre precisa estar em operação para que o Windows funcione adequadamente. Está no Ring 0, sob proteção máxima. O Sistema Básico é composto por diversos subsistemas: o subsistema de Gerenciamento de Arquivos (File Management Subsystem), o subsistema de Rede (Network Subsystem), os Serviços do Sistema Operacional (Operating System Services), o Gerenciador da Máquina Virtual (Virtual Machine Manager) e os Controladores de Dispositivos (Device Drivers). Apesar de não poderem ser acessados diretamente pelo programador, cada um deles terá sua função explicada. 17

18 SUBSISTEMA DE GERENCIAMENTO DE ARQUIVOS É responsável pelo gerenciamento de arquivos em dispositivos de armazenamento de dados como disquetes, disco rígido, CD-ROM, etc. Muita coisa mudou nas sucessivas versões do Windows. Veja maiores detalhes em "Sistema de Gerenciamento de Arquivos" SUBSISTEMA DE REDE Torna possível executar a rede não hierárquica da Microsoft. Também fornece ganchos (hooks) de modo protegido para a maioria das redes locais de terceiros. É possível manter mais de uma rede ativa por vez. A natureza modular do subsistema de rede permite incluir recursos através da utilização de VxDs SERVIÇOS DO SISTEMA OPERACIONAL É o componente do sistema que lida com recursos como o Plug and Play. Atende diversas solicitações, tanto do próprio sistema operacional quanto do usuário, por exemplo, fornecendo a hora atual GERENCIADOR DA MÁQUINA VIRTUAL É a alma do sistema Windows, onde todas as coisas são ligadas. O gerenciador da máquina virtual cuida do agendamento de tarefas e da inicialização e interrupção de cada aplicativo. É também o componente que gerencia a memória virtual e, como trata de todas as alocações de memória, atua também como um servidor DPMI (DOS Protected Mode Interface). Por fim, o gerenciador da máquina virtual é responsável pela comunicação entre tarefas. Isto significa que todas as solicitações DDE e OLE são filtradas através desta seção do sistema operacional CONTROLADORES DE DISPOSITIVOS O Windows simplesmente ignora todos os dispositivos que não tiverem um driver correspondente. O driver, ou controlador, nada mais é do que um código especial que atua como intérprete. Ele transforma as solicitações do sistema operacional para um formato que o dispositivo possa compreender. Por exemplo, a impressora só pode imprimir o texto solicitado se "entender" o que o sistema quer. Para isto são necessários drivers da impressora associados ao sistema. Os Virtual Device Drivers, ou VxD como são conhecidos, são controladores especiais que permitem ao Windows se comunicar com os dispositivos do sistema sem precisar alternar para o modo real A CAMADA API A camada API do Windows pode ser considerada como o cão de guarda do Ring 0. Só através dela é que os aplicativos podem se comunicar com o Sistema Básico. Existem três componentes principais nesta camada: são os arquivos KERNEL32. DLL, USER32.DLL e GDI32.DLL. Arquivos DLL são executáveis especiais que contêm as funções necessárias para 18

19 que um aplicativo possa ser executado no ambiente Windows. Já existiam nas versões de 16 bits do Windows sob os nomes de KRNL386.EXE, USER.EXE e GDI.EXE KERNEL32 Fornece suporte para as funções de baixo nível que um aplicativo necessita para ser executado. Por exemplo, toda vez que o aplicativo precisar de memória, ele irá obtê-la no Kernel do Windows. Da mesma maneira, operações em disco, com arquivos, o relógio do sistema, são atribuições do Kernel. Este componente não lida com a interface ou com os dispositivos - ele apenas interage com o Windows propriamente dito USER32 O Windows, como o próprio nome indica, é um sistema baseado em janelas. Bem por isso ele precisa de um gerente para administrar todas as janelas criadas por aplicativos. Esse gerente é o User, que trata principalmente da interface com o usuário GDI32 GDI vem de Graphical Device Interface - interface do ambiente gráfico. Este componente cuida de vídeo, gerenciamento de cores, fontes e outros aspectos ditos artísticos, responsáveis pelo grande apelo visual deste sistema operacional A MÁQUINA VIRTUAL DO SISTEMA (System Virtual Machine ou VM) A System Virtual Machine possui dois elementos principais: aplicativos win32 e a shell. Os aplicativos win32 são programas que podem rodar simultaneamente (o Win32 é multitarefa) fazendo uso dos serviços e recursos que o sistema operacional oferece. Uma shell (a tradução é casca ou concha) também é um aplicativo, mas de um tipo especial que o sistema oferece. Com uma shell é possível agrupar, iniciar e de alguma forma controlar outros aplicativos. O Windows Explorer é uma shell para o gerenciamento de arquivos em disco - é um utilitário, como tantos outros, que acompanha o Windows. Existe um tratamento especial para as shells pela API, obtido através da SHELL32.DLL OUTROS ASPECTOS IMPORTANTES O Windows é um sistema operacional multitarefa e orientado a eventos. Quando se pressiona uma tecla, quando se toca no mouse ou se altera algum parâmetro, o Windows reconhece isto como um evento, por exemplo. O sistema executa uma tarefa para cada evento, chamando o aplicativo que pode tratar do evento ou tratando-o por conta própria. Uma das consequências da natureza multitarefa do Windows é que os eventos podem ocorrer em diversos aplicativos diferentes, por isto é preciso tratar os eventos de forma coordenada para que cada aplicativo receba as informações que lhe competem e a integridade, tanto do sistema como dos aplicativos, seja preservada. 19

CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL. Nível de Sistema Operacional. Nível de Máquina Convencional. Nível de Microprogramação

CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL. Nível de Sistema Operacional. Nível de Máquina Convencional. Nível de Microprogramação CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL 6.1 Introdução Nível que automatiza as funções do operador do sistema. Nível 3 Nível de Sistema Operacional Sistema Operacional Nível 2 Nível de Máquina Convencional

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

AULA 13 - Gerência de Memória

AULA 13 - Gerência de Memória AULA 13 - Gerência de Memória omo sabemos, os computadores utilizam uma hierarquia de memória em sua organização, combinando memórias voláteis e não-voláteis, tais como: memória cache, memória principal

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas Carlos Eduardo de Carvalho Dantas Motivos: 1 Manter a CPU ocupada o máximo de tempo para não existir gargalos na busca de dados na memória; 2 Gerenciar os espaços de endereçamento para que processos executem

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Gerenciamento de memória

Gerenciamento de memória Na memória principal ficam todos os programas e os dados que serão executados pelo processador. Possui menor capacidade e custo maior. S.O buscam minimizar a ocupação da memória e otimizar sua utilização.

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano Sistemas Operacionais Marcos Laureano 1/25 Roteiro Estrutura de um sistema operacional Interrupções Proteção do núcleo Níveis de privilégio Chamadas de sistema 2/25 Mono-processadores atuais seguem um

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 03-002 Sistemas de Arquivos Sistema de Arquivos Prof. Edwar Saliba Júnior Março de 2007 1 Objetivos Facilitar o acesso dos usuários ao conteúdo dos arquivos; Prover uma forma uniforme de manipulação de arquivos, independente dos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Professores autores Vicente Pires Lustosa Neto Roberta De Souza Coelho Aula 11 - Gerenciamento de memória Apresentação Na última aula, aprendemos mais sobre os processos e como gerenciá-los.

Leia mais

Estudo de Caso 2: Windows Vista

Estudo de Caso 2: Windows Vista Faculdades Integradas de Mineiros Curso de Sistemas de Informação Sistemas Operacionais II Estudo de Caso 2: Windows Vista Grupo 4 Helder / Wagner / Frantyeis Junho/2010 O Windows usa uma estratégia Just-In-Time

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Capítulo 3 Gerenciamento de memória

Capítulo 3 Gerenciamento de memória Sistemas operacionais modernos Terceira edição ANDREW S. TANENBAUM Capítulo 3 Gerenciamento de memória Introdução Programas tendem a se expandir a fim de ocupar toda a memória disponível Programador deseja

Leia mais

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Os textos nestas caixas foram adicionados pelo Prof. Joubert William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 4 Memória cache Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Características Localização. Capacidade.

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerenciamento de Memória Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Paula Prata e nas transparências

Leia mais

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual Fagner do Nascimento Fonseca a, Orientador(a): Flávia Maristela S. Nascimento b a Instituto Federal da Bahia b Instituto

Leia mais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Gerenciamento de Memória no Linux O Linux é um sistema operacional com memória virtual paginada, isto quer dizer que

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

BC1518-Sistemas Operacionais Memória Virtual (aula 9)

BC1518-Sistemas Operacionais Memória Virtual (aula 9) BC1518-Sistemas Operacionais Memória Virtual (aula 9) Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Memória Virtual Paginação sob demanda Cópia na escrita Algoritmos de Substituição

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Fundamentos de Sistemas Computacionais Introdução

Fundamentos de Sistemas Computacionais Introdução Fundamentos de Sistemas Computacionais Introdução Prof. Eduardo Alchieri Sistema Computacional Hardware Software Usuários Um ou mais processadores, memória, discos, impressoras, teclado, mouse, monitor,

Leia mais

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Memória Virtual Prof Dr José Luís Zem Prof Dr Renato Kraide Soffner Prof Ms Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Tópicos Introdução Espaço de Endereçamento Virtual

Leia mais

Sistemas de Informação. Sistemas Operacionais 4º Período

Sistemas de Informação. Sistemas Operacionais 4º Período Sistemas de Informação Sistemas Operacionais 4º Período SISTEMA DE ARQUIVOS SUMÁRIO 7. SISTEMA DE ARQUIVOS: 7.1 Introdução; 7.2 s; 7.3 Diretórios; 7.4 Gerência de Espaço Livre em Disco; 7.5 Gerência de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)

Leia mais

Sistemas Processadores e Periféricos Aula 9 - Revisão

Sistemas Processadores e Periféricos Aula 9 - Revisão Sistemas Processadores e Periféricos Aula 9 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Sistema Operacional. Prof. Leonardo Barreto Campos 1 Sistema Operacional Prof. Leonardo Barreto Campos 1 Sumário Introdução; Tipos de Sistemas Operacionais; Escalonamento; Gerenciamento de Memória; Bibliografia. Prof. Leonardo Barreto Campos 2/25 Introdução

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille, da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Sistema de Arquivos Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Arquivos Organização de arquivos Diretórios Métodos de acesso Métodos de alocação em disco Fragmentação

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento 1 Gerência de espaço em disco Cópia de segurança do sistema de arquivo Roteiro Confiabilidade Desempenho

Leia mais

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

ROTEIRO. Gerência de Memória. Gerência de Memória. Fundamentos. Sistemas Operacionais 2014 Gerência de Memória FUNDAMENTOS 03/09/2014

ROTEIRO. Gerência de Memória. Gerência de Memória. Fundamentos. Sistemas Operacionais 2014 Gerência de Memória FUNDAMENTOS 03/09/2014 Sistemas Operacionais 0 Gerência de Memória Alexandre Augusto Giron ROTEIRO Fundamentos Endereçamento Lógico x Físico Swapping Alocação de Memória Contígua Paginação Segmentação Memória Virtual Algoritmos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SISTEMAS DE ARQUIVOS MACHADO/MAIA: CAPÍTULO 11 Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMAS DE ARQUIVOS - INTRODUÇÃO O armazenamento e a recuperação de informações é

Leia mais

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress. Sistemas Operacionais Aula 3 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com Nunca cone em um computador que você não pode jogar pela janela.

Leia mais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola SO - Conceitos Básicos Introdução ao Computador 2010/01 Renan Manola Definição de SO É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. É uma estrutura

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

GERENCIAMENTO DE DISPOSITIVOS

GERENCIAMENTO DE DISPOSITIVOS 2 SISTEMAS OPERACIONAIS: GERENCIAMENTO DE DISPOSITIVOS E ARQUIVOS Introdução à Microinformática Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

6 Sistema de Gerenciamento de Memória

6 Sistema de Gerenciamento de Memória 6 Sistema de Gerenciamento de Memória Os sistemas de gerenciamento de memória baseiam-se no princípio de que a quantidade de dados necessária para realizar uma operação pode ser completamente armazenada

Leia mais

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

Leia mais

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

Introdução a Computação

Introdução a Computação Sistemas Operacionais: Software Oculto Introdução a Computação Sistemas Operacionais Serve como um intermediário entre o hardware e os softwares aplicativos. Sistema Operacional Software de sistemas Kernel

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Gerenciamento de ES e Sistema de Arquivos do Windows 2000

Gerenciamento de ES e Sistema de Arquivos do Windows 2000 1 Gerenciamento de ES e Sistema de Arquivos do Windows 2000 Gerenciador de E/S Objetivo é fornecer uma estrutura de modo eficiente para lidar com a grande variedade de dispositivos Bastante relacionado

Leia mais

Capítulo 8: Gerenciamento de Memória

Capítulo 8: Gerenciamento de Memória Capítulo 8: Gerenciamento de Memória Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 3. Software Prof. Ronaldo Software Formado por um conjunto de instruções (algoritmos) e suas representações para o

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1 UFRJ IM - DCC Sistemas Operacionais I Unidade IV Sistema de arquivos Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1 ORGANIZAÇÃO DA UNIDADE Sistema de Arquivos Gerenciamento de E/S

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerencia de Processos 4.1 Introdução aos Processos Gerenciamento de Processos Processo -Definição: É uma abstração do sistema

Leia mais

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1 Sistema Operacional Slide 1 Sistema Operacional Um conjunto de programas que se situa entre os softwares aplicativos e o hardware: Gerencia os recursos do computador (CPU, dispositivos periféricos). Estabelece

Leia mais

Sistemas Operacionais

Sistemas Operacionais 7 Sistemas Operacionais 7.1 Fundamentos da ciência da computação Cengage Learning Objetivos 7.2 Compreender o papel do sistema operacional. Compreender o processo de inicialização para carregar o sistema

Leia mais

Visão Geral de Sistemas Operacionais

Visão Geral de Sistemas Operacionais Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.

Leia mais

Gerenciamento de memória

Gerenciamento de memória Sistemas Operacionais Gerenciamento de memória Capítulos 7 Operating Systems: Internals and Design Principles W. Stallings O problema Em um ambiente multiprogramado, é necessário: subdividir a memória

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Sistema de Arquivos - II Prof. Galvez Implementação de Arquivos Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados

Leia mais

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição

Leia mais

7 Processos. 7.1 Introdução

7 Processos. 7.1 Introdução 1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa

Leia mais

Sistemas Operacionais Arquivos. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Sistemas Operacionais Arquivos. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Sistemas Operacionais Arquivos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Implementação do Sistema de Arquivos Sistemas de arquivos são

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Módulo 4 - ENTRADAS E SAIDAS Uma das principais funções dos sistemas operacionais é controlar os dispositivos de entrada e saída (E/S ou I/O). O Sistema Operacional deve ser capaz de enviar comandos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Memória Paginação e Segmentação Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.

Leia mais

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado Memória - Gerenciamento Sistemas Operacionais - Professor Machado 1 Partes físicas associadas à memória Memória RAM Memória ROM Cache MMU (Memory Management Unit) Processador Tabela de Páginas TLB 2 Conceitos

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Aula 04: Sistema Operacional Material Didático do Livro: Introdução à Informática Capron,, H. L. e Johnson, J. A Pearson Education Sistemas Operacionais: Software Oculto Serve

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Sistema Operacional (S.O.) Aplicativos Formado por um conjunto de rotinas que oferecem serviços aos usuários, às aplicações

Leia mais

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS Software Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS ESQUEMA DE UM SISTEMA DE COMPUTADOR Unidades de Entrada - Teclado - Scanner - Caneta Ótica - Leitora

Leia mais

1.2 Tipos de Sistemas Operacionais

1.2 Tipos de Sistemas Operacionais 1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores MemóriaVirtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Gerência de memória convencional Divide um programa em unidades menores Partes

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

Gerenciamento Básico B de Memória Aula 07

Gerenciamento Básico B de Memória Aula 07 BC1518-Sistemas Operacionais Gerenciamento Básico B de Memória Aula 07 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Introdução Espaço de Endereçamento Lógico vs. Físico Estratégias

Leia mais

SISTEMAS OPERACIONAIS. Sistemas de Arquivos Apostila 09

SISTEMAS OPERACIONAIS. Sistemas de Arquivos Apostila 09 SISTEMAS OPERACIONAIS Sistemas de Arquivos Apostila 09 1.0 INTRODUÇÃO Sistema de Arquivos: conceito de arquivo, métodos de acesso, estrutura de diretório, estrutura do sistema de arquivos, métodos de alocação

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

Gerência de Memória RAM em Computadores com Mais de 4GB O sistema Windows x86 (32bits) não tem capacidade de reconhecer, fisicamente, mais que 3,X GB de RAM, a não ser que seja ativado, manualmente, o

Leia mais

Informática - Básico. Paulo Serrano GTTEC/CCUEC-Unicamp

Informática - Básico. Paulo Serrano GTTEC/CCUEC-Unicamp Informática - Básico Paulo Serrano GTTEC/CCUEC-Unicamp Índice Apresentação...06 Quais são as características do Windows?...07 Instalando o Windows...08 Aspectos Básicos...09 O que há na tela do Windows...10

Leia mais