Notas da Aula 15 - Fundamentos de Sistemas Operacionais
|
|
- Ester Madeira Coimbra
- 8 Há anos
- Visualizações:
Transcrição
1 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 dos usuários. É desejável que o SO forneça mecanismos de acesso simples para os processos, escondendo o máximo possível da complexidade da manipulação dos dispositivos de hardware. Na aula anterior, foram discutidos os aspectos de hardware das operações de entrada e saída. Foram vistos tipos de dispositivos de E/S, modos de endereçamento destes dispositivos e modos de transferência dos dados entre o processador e os dispositivos. No entanto, nos exemplos de código apresentados até então, o acesso aos dispositivos passava pela manipulação de registradores de controladores ou dos próprios dispositivos. Este tipo de manipulação requer que o programador tenha um conhecimento perfeito da arquitetura do dispositivo de E/S, incluindo detalhes de implementação específica de certos fabricantes. Este método de acesso aos dispositivos de E/S já foi uma realidade. Em sistemas computacionais antigos, o programador era obrigado a incluir em seu código todas as rotinas de manipulação dos dispositivos de E/S, no nível de manipulação de registradores. Os programadores precisavam ler manuais extensos que detalhavam sequências de passos para a execução de cada tarefa desejada do dispositivo de E/S. Isso tornava os programas grandes, difíceis de desenvolver e mais propícios a erros. Ainda hoje existem sistemas que necessitam deste tipo de manipulação de baixo nível, na manipulação de dispositivos de E/S. Alguns sistemas embarcados, baseados em microcontroladores simples, requerem que o programador inclua em seu código todo o tratamento do acesso aos dispositivos. No entanto, em sistemas mais comuns, o Sistema Operacional passou a prover mecanismos simplificados de acesso os dispositivos de Entrada e Saída. O SO fornece uma ou mais camadas de abstração de software, cada uma provendo um conjunto de serviços que facilitam ou melhoram o desempenho das operações de E/S. Existem vários requisitos desejáveis para estas camadas de abstração do Sistema Operacional. Em primeiro lugar, assim como em todos os outros aspectos de um SO, é desejável que estas camadas permitam um uso eficiente dos dispositivos de E/S. Em outras palavras, a facilidade de uso dos dispositivos não pode ser obtida em detrimento do desempenho no acesso aos mesmos. No caso dos dispositivos de E/S, isso é fundamental porque operações de entrada e saída são intrinsecamente lentas. Qualquer ineficiência no uso dos dispositivos de E/S acaba se refletindo de maneira muito clara no desempenho do sistema. Outro requisito importante é a simplificação do acesso aos dispositivos. Detalhes como registradores e modos de transferência de dados devem ser escondidos do usuário. Se não
2 há simplificação no acesso aos dispositivos, não faz sentido utilizar camadas de abstração do Sistema Operacional. É desejável também que o acesso aos diferentes dispositivos seja o mais padronizado possível. Ou seja, deseja-se que, do ponto de vista do programador, a maneira de manipular ou acessar os vários dispositivos do sistema seja similar. Por exemplo, na maior parte dos sistemas operacionais, para ler dados de um arquivo, utiliza-se uma função do tipo read. No entanto, esta mesma função (em geral) pode ser utilizada para receber dados através de uma conexão de rede. Isso é possível justamente porque os sistemas operacionais implementam uma camada de abstração que torna o acesso a estes dois dispositivos (o disco rígido e a placa de rede, no caso) homogêneo. A este conjunto de camadas de abstração provido pelo Sistema Operacional para acesso aos dispositivos de E/S, dá-se o nome de Subsistema de Entrada e Saída. Geralmente, o subsistema de entrada e saída é composto por 4 camadas. Na camada mais baixa está o hardware em si. Ou seja, os próprios dispositivos de E/S, com seus registradores e especificidades. Detalhes como o modo de transferência de dados e o tipo de mapeamento de endereços utilizados estão presentes nesta camada. Uma camada acima encontram-se os chamados Device Drivers, ou Drivers de Dispositivo. Esta camada é responsável por implementar as operações básicas de manipulação de cada dispositivo do sistema. Na prática, os drivers são os programas responsáveis pela interação com os dispositivos de E/S. A próxima camada é chamada de E/S Independente do Dispositivo. Esta camada prôve serviços que são comuns a todos os dispositivos de E/S, independentemente do seu tipo. Por exemplo, esta camada é responsável pela nomeação dos dispositivos. Cada dispositivo precisa de um identificador dentro do sistema, para que este possa ser requisitado pelos processos dos usuários. Esta camada se encarrega de atribuir tais identificadores. Por fim, a última camada do subsistema é chamada de E/S no Nível do Usuário. A função desta camada é fornecer ao usuário uma visão dos dispositivos de E/S. Ou seja, esta camada fornece ao programador funções e estruturas da dados que manipulam e representam os dispositivos de E/S dentro do código de um programa. É importante notar que, das quatro camadas citadas, apenas duas (os device drivers e o E/S independente do dispositivo) são de fato parte do Sistema Operacional. A camada de hardware obviamente é independente do SO, já que ela não é composta por software. Já a camada de E/S no nível do usuário é geralmente fornecida por bibliotecas ou linguagens de programação. Tais bibliotecas realizam o intermédio entre o programa do usuário e as chamadas de sistema fornecidas pelo SO que dão acesso a camada de E/S independente do dispositivo. Por exemplo, a função printf() é fornecida pela biblioteca padrão da linguagem C. Quando esta função é chamada em um programa, a biblioteca de encarrega de formatar os dados do usuário para impressão na tela e de realizar a chamada de sistema do SO que realiza
3 a operação de E/S necessária para que aqueles dados sejam efetivamente mostrados. Vale ressaltar ainda que este modelo em camadas discutido aqui é apenas uma visão genérica. Há diversos dispositivos de E/S que apresentam mais camadas de abstração implementadas pelo SO. Um exemplo importante é a placa de rede. Embora seja possível utilizar a placa de rede diretamente, passando apenas pelas 4 camadas descritas anteriormente, grande parte dos sistemas operacionais implementam o chamado modelo de Sockets. Neste modelo, o SO apresenta algumas outras camadas de software responsáveis pela implementação dos protocolos de rede básicos, como os protocolos de rede (e.g., protocolo IP) e protocolos de transporte (e.g., TCP, UDP e ICMP). Quando em um programa utilizamos a abstração de Sockets, as chamadas de sistema fazem a ligação entre os processos dos usuários e os módulos do SO que implementam tais protocolos. Eventualmente, um pacote será construído para transmissão através da interface de rede. Somente então, as camadas de E/S independente do dispositivo e dos drivers de dispositivo serão utilizadas. 2. Drivers de Dispositivo Os drivers de dispositivo são pedaços de software que implementam as funcionalidades de acesso aos dispositivos de E/S em um sistema operacional. Estes drivers, em geral, são desenvolvidos pelos próprios fabricantes de cada dispositivo, já que eles precisam conter detalhes de muito baixo nível sobre o acesso aos dispositivos. São estes drivers os responsáveis por manipular os registradores de controle dos dispositivos de E/S, de forma que este dispositivo possa ser manipulado. Os drivers também são responsáveis por fornecer tratadores de interrupção específicos para seu dispositivo. Quando ocorre uma interrupção no sistema, o SO identifica qual dispositivo a disparou e passa então o controle da execução para o tratador de interrupção do driver. Drivers de dispositivo fazem parte do SO e por isso são executados em Modo Supervisor. Eles necessitam de privilégios de execução, pois as instruções do processador que realizam a comunicação com os dispositovos de E/S são privilegiadas (instruções IN e OUT, ou mesmo instruções MOV, quando o endereço especificado é de um dispositivo de E/S mapeado em espaço de memória). Geralmente (nos sistemas operacionais modernos, pelo menos), drivers podem ser carregados dinamicamente. Isso é um característica interessante, pois cada dispositivo necessita de um driver específico. De fato, mesmo dispositivos do mesmo tipo (como duas placas de vídeo) de modelos ou fabricantes diferentes requerem drivers distintos. Isso ocorre porque, mesmo sendo de um mesmo tipo, cada placa pode ter conjuntos de registradores de controle diferentes, com semânticas de manipulação distintas. Dada a enorme variedade de marcas, modelos e dispositivos existentes hoje no mercado, a possibilidade de carregamento dinâmico de drivers pelo SO evita problemas graves como o crescimento excessivo do código do SO. Embora os drivers de dispositivo implementem funções de muito baixo nível, se comunicando
4 diretamente com os dispositivos de E/S, a portabilidade destes drivers para sistemas operacionais diferentes (migração do código de um SO para outro) tende a não ser trivial. Isso ocorre porque cada SO estabelece uma interface padrão para os drivers. Esta interface determina quais funções e informações o driver deve disponibilizar para o Sistema Operacional. Por exemplo, é razoável que todos os drivers de dispositivos que permitam saída de dados forneçam uma função de escrita de dados no dispositivo. Quando um processo do usuário deseja escrever dados em um dispositivo, eventualmente o SO chamará esta função do driver do dispositivo desejado. A interface padrão define exatamente quais funções precisam ser disponibilizadas pelo driver, bem como quais argumentos devem ser recebidos e quais os valores de retorno esperados. 3. E/S Independente do Dispositivo Esta camada implementa os serviços do SO que são comuns a qualquer tipo de dispositivo de E/S. Alguns exemplos de serviços providos por esta camada são: escalonamento de E/S; denominação; buferização; cache; alocação; permissões; e tratamento de erros. Assim como o processador, o uso dos dispositivos de E/S geralmente precisa ser escalonado. Boa parte dos dispositivos de E/S podem receber múltiplas requisições simultâneas e é tarefa desta camada implementar mecanismos de escalonamento que decidam a ordem de acesso dos vários processos. Assim como ocorre com o processador, a política de escalonamento dos dispositivos de E/S pode ter impacto fundamental no desempenho. No caso de alguns dispositivos, como o disco rígido, o escalonamento das requisições tem um impacto ainda maior no desempenho que o escalonamento do processador. A denominação dos dispositivos é outro serviço importante desta camada. Dispositivos precisam ser acessados no sistema através de algum identificador. Esta camada se encarrega de atribuir identificadores únicos a cada dispositivo. No Unix, por exemplo, cada dispositivo é identificado por dois números, chamados de minor e major. O major é um número que identifica o tipo do dispositivo (e.g., se é um dispositivo de rede, de armazenamento em massa), enquanto o minor identifica o dispositivo entre os vários pertencentes àquele tipo. A buferização é outro serviço com grande impacto no desempenho. Em geral, dispositivos de E/S tem um tamanho ideal de bloco para leitura ou escrita. Por exemplo, um disco rígido em geral é acessado para leitura ou escrita em blocos de alguns kbytes. Quando escrevemos um programa, no entanto, é comum que queiramos ler apenas um byte por vez. Embora seja possível fazer a leitura de um único byte por vez do disco rígido, isso é muito ineficiente (quando estudarmos o escalonamento deste dispositivo de E/S, isso ficará evidente). Logo, a
5 cada requisição de leitura do disco rígido, o SO lê ao menos um bloco completo. Os bytes a mais lidos do dispositivo são armazenados em um buffer interno do SO para posterior uso (se estes bytes forem eventualmente requisitados pelo usuário). O serviço de cache tem por objetivo armazenar em memória principal informações lidas dos dispositivos de entrada e saída que são frequentemente requisitadas. Por exemplo, suponha que haja um arquivo no sistema que seja requisitado para leitura por várias aplicações constantemente. Um exemplo disso, é um sistema servidor de banco de dados. Várias processos podem constantemente fazer consultas à base de dados que, por sua vez, armazena seus dados em um pequeno conjunto de arquivos. Neste caso, estes arquivos serão comumente requisitados, forçando o SO a fazer sucessivas requisições ao disco rígido para leitura dos mesmos dados. Como a operação de leitura do disco rígido é muito mais lenta que a leitura de dados da memória principal, o SO pode implementar uma política que reserve uma parte desta para cache de arquivos. Assim, após a primeira requisição de leitura de um determinado arquivo, este pode ser colocado em cache. Nas próximas requisições, o disco rígido não precisa ser acessado, pois os bytes já estarão disponíveis em memória. O serviço de cache é um dos grandes motivos pelos quais a quantidade de memória RAM tem uma influência tão grande no desempenho dos computadores modernos. Quanto mais memória RAM em um computador, mais informações o SO é capaz de armazenar em cache, reduzindo assim o tempo de acesso em operações de E/S. É claro que a manipulação deste serviço de cache tem uma série de complicações. Em primeiro lugar, a quantidade de memória principal disponível para esta cache é limitada. Logo, é preciso existir uma política para a entrada e saída de arquivos da cache. Além disso, o SO precisa ter cuidado com escritas no arquivo. Se um processo requisita uma escrita em um arquivo que está em cache, o SO precisa remover a cache ou atualizá-la com o novo estado do arquivo. O estudo destes mecanismos tem grande impacto no desempenho do SO, porém eles estão muito além do escopo desta disciplina. Existem dispositivos que não permitem múltiplos acessos ao mesmo tempo. Por exemplo, uma impressora pode atender a apenas uma requisição por vez. Neste caso, o SO deve gerenciar o acesso a estes recursos. Uma das técnicas para a realização deste controle é a spooling. Esta técnica consiste na utilização de uma fila (chamada de spool) que armazena os pedidos de operações de E/S. Há um processo especial no SO que acessa este spool e realiza a requisição de E/S. Como um único processo remove as requisições do spool e realiza as operações de E/S, a utilização do dispositivo se torna sequencial. Um exemplo clássico deste método são os spools de impressão. Esta camada do subsistema de entrada e saída associa a cada dispositivo um conjunto de permissões. Estas permissões determinam quais usuários do sistema podem realizar quais tipos de acesso a cada dispositivo. Cada vez que um processo de um usuário tenta realizar uma determinada operação sobre um dispositivo de E/S, as permissões são verificadas e o acesso é permitido ou não.
6 Finalmente, esta camada provê também um serviço de aviso sobre condições de erro. Por exemplo, se o dispositivo de E/S reporta um erro ao tentar atender a uma requisição de um usuário, esta camada deve, de alguma forma, avisar ao processo que fez a requisição que esta falhou. Idealmente, o processo deve ainda ser avisado dos motivos da falha. Existem falhas que são irrecuperáveis, como um erro físico no dispositivo, que parou de responder. Outras falhas são chhamadas de transientes, porque são apenas momentâneas. Por exemplo, o dispositivo está ocupado naquele momento e não pode atender à requisição realizada. Neste caso, o processo pode fazer novas tentativas, até que a requisição tenha sucesso. 4. E/S no Nível do Usuário Para o usuário (ou para um programador), o SO deve fornecer um conjunto de rotinas que permitam acesso aos dispositivos de E/S. Todas as operações suportadas por um dispositivo devem estar disponíveis ao usuário através do SO. Do ponto de vista do SO, esta disponibilização é feita através de chamadas do sistema. Quando um processo deseja realizar uma operação de E/S, ele deve realizar a chamada de sistema correspondente. Isso dispara uma interrupção de software que, por sua vez, aciona o SO. O SO lê os parâmetros da chamada de sistema, que especificam o dispositivo de E/S desejado e as informações relevantes à operação de entrada e saída. No entanto, quando escrevemos um programa é comum não utilizarmos diretamente as chamadas de sistema. Ao invés disso, utiliza-se um conjunto de funções e estruturas de dados providas por uma biblioteca ou pela própria linguagem de programação. O compilador da linguagem ou a biblioteca em questão se encarregam de fazer a tradução destas funções e estruturas para as chamadas de sistema correspondentes. Isso simplifica bastante a execução de requisições de E/S, além de auxiliar em muitos casos na portabilidade do código de um SO para outro (linguagens como Java e Python, por exemplo, permitem que o mesmo código seja utilizado em várias plataformas sem qualquer alteração). Do ponto de vista do programador, existem alguns métodos diferentes para a realização de uma operação de E/S. O método mais comum é a operação bloqueante. Em uma operação de E/S bloqueante, o processo é bloqueado enquanto a requisição de entrada e saída não é atendida. Por exemplo, se um processo requisita a leitura de dados a partir da placa de rede utilizando o método bloqueante, este será bloqueado até que os dados sejam recebidos pela interface de rede. Por outro lado, é possível requisitar ao SO que as operações de E/S sejam não bloqueantes. No caso de uma leitura não bloqueante, por exemplo, sempre que o processo requisita uma operação de E/S, o SO verifica quais dados estão disponíveis naquele momento e os retorna imediatamente para o processo. No exemplo anterior, da leitura de dados a partir da placa de rede, se o dado requisitado pelo processo ainda não tiver sido recebido pela placa, o SO avisará imediatamente ao processo que não há informações a serem recebidas e este prosseguirá com a sua execução. Eventualmente, o processo pode realizar uma nova requisição.
7 Há ainda um terceiro modo de operação chamado de assíncrono. O modo assíncrono é similar ao modo não bloqueante, no sentido de que ambos fazem com que o processo continue em execução, mesmo que a requisição de E/S não esteja imediatamente pronta. A diferença do modo assíncrono é que o SO avisa ao processo quando sua requisição foi concluída (ou seja, o processo não tem que repetir sua requisição, como no modo não bloqueante). Este aviso pode ser implementado de várias formas, como através de interrupções (o SO interrompe a execução normal do processo e passa a execução para uma função especial do programa chamada de Tratador de Sinal) ou através de polling (o processo de tempos em tempos pergunta ao SO se a sua requisição está completa).
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 maisNotas da Aula 17 - Fundamentos de Sistemas Operacionais
Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.
Leia maisSistemas 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 maisSistemas 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 maisE/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO
E/S PROGRAMADA QUANDO A CPU FAZ TODO O TRABALHO RELACIONADO A UMA OPERAÇÃO DE E/S, NO CASO DO PROCESSO QUERER IMPRIMIR (NA IMPRESSORA) ABCDEFGH : ESTES CARACTERES SÃO COLOCADOS EM UMA ÁREA DE MEMÓRIA DO
Leia maisSISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
Leia maisSistemas 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 maisNotas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
Leia maisSistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)
Sistemas Operacionais Entrada / Saída Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Tópicos Princípios do hardware de E/S Princípios do software de E/S Camadas do software
Leia maisCAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA
8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisGerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger
Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.
Leia maisESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Leia maisdiscos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco
AULA 04 - Estruturas Sistemas Computacionais Nosso objetivo é apenas revisar conceitos relacionados a estrutura geral um sistema computacional para pois explicarmos os talhes operação do sistema e como
Leia maisIFPE. 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 maisGerência de Entrada/Saída
Gerência de Entrada/Saída Prof Clodoaldo Ap Moraes Lima 1 Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo
Leia maisSistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 - Concorrência Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007. Mono x Multiprogramação
Leia maisSistemas 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 maisSistemas 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 maisSistemas 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 maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito
Leia maisProf. 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 mais6 - 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 maisUm Driver NDIS Para Interceptação de Datagramas IP
Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para
Leia maisCapacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisSW DE E/S INDEPENDENTE DE DISPOSITIVO
SOFTWARE AO NÍVEL DO USUÁRIO SOFTWARE INDEPENDENTE DE DISPOSITIVOS ACIONADORES DE DISPOSITIVOS (DRIVERS) TRATAMENTO DE INTERRUPÇÕES HARDWARE FUNÇÕES: INTERFACE UNIFORME PARA OS DRIVERS USO DE BUFFERS INFORMAÇÃO
Leia maisMÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 5 Estrutura de Sistemas de Computação Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisEntrada e Saída. Prof. Leonardo Barreto Campos 1
Entrada e Saída Prof. Leonardo Barreto Campos 1 Sumário Introdução; Dispositivos Externos; E/S Programada; E/S Dirigida por Interrupção; Acesso Direto à Memória; Bibliografia. Prof. Leonardo Barreto Campos
Leia maisSistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação
Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 1 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,
Leia maisNotas da Aula 6 - Fundamentos de Sistemas Operacionais
1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a
Leia maisArquitetura 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 maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Leia maisSistemas 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 maisProcessos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Leia maisIntrodução aos Sistemas
Introdução Introdução aos Sistemas Operacionais 1 2 3... n Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Compilador Editor de texto Browser Programas
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas
Leia mais1. CAPÍTULO COMPUTADORES
1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes
Leia maisConsiderações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Leia maisProf.: 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 maisArquitetura de Computadores II
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Sistemas de Troca de Mensagens O Sistema de Comunicação provê tipicamente os seguintes serviços para as aplicações:
Leia maisARQUITETURA DE COMPUTADORES
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100
Leia maisComunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor
Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do
Leia maisENTRADA E SAÍDA DE DADOS
ENTRADA E SAÍDA DE DADOS Os dispositivos de um computador compartilham uma única via de comunicação BARRAMENTO. BARRAMENTO Elétrica/Mecânica + Protocolo. GERENCIAMENTO DE E/S O controle da troca de dados
Leia maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisProf.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais
Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e
Leia maisEntrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1
Entrada e Saída Interface entre periféricos, processador e memória Fonte: Minho - Portugal 1 Ligação Processador/Memória - Periférico Processador Memória Controlo Dados Controlador Fonte: Minho - Portugal
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem,
Leia maisSistemas 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 mais1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.
O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este
Leia maisDesenvolvimento de um Simulador de Gerenciamento de Memória
Desenvolvimento de um Simulador de Gerenciamento de Memória Ricardo Mendes do Nascimento. Ciência da Computação Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Turma de Redes AULA 06 www.eduardosilvestri.com.br silvestri@eduardosilvestri.com.br Estrutura do Sistema Operacional Introdução É bastante complexo a estrutura de um sistema operacional,
Leia mais28/9/2010. Unidade de Controle Funcionamento e Implementação
Arquitetura de Computadores Unidade de Controle Funcionamento e Implementação Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Operação da Unidade de Controle Unidade de controle: parte do
Leia mais3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Leia maisEstruturas do Sistema de Computação
Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de
Leia maisSistemas Operacionais. Conceitos de um Sistema Operacional
Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas
Leia maisAplicação Prática de Lua para Web
Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio
Leia maisSistema 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 maisMemórias Prof. Galvez Gonçalves
Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores
Leia maisO hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware
1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador
Leia maisIntrodução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?
Como é formado o meu computador? Introdução aos Sistemas Operacionais Arquitetura de Computadores e Software Básico Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Mouse Teclado Monitor Placa de vídeo
Leia maisSistemas 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 maisSistemas Operacionais Processos e Threads
Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo
Leia maishttp://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
Leia maisTRABALHO COM GRANDES MONTAGENS
Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura
Leia maisSISTEMAS OPERACIONAIS 2007
SISTEMAS OPERACIONAIS 2007 VISÃO GERAL Sumário Conceito Máquina de Níveis Conceituação de SO Componentes do SO Visões do SO Conceito de Sistemas O que se espera de um sistema de computação? Execução de
Leia maisGerenciador de Entrada/Saída
Universidade Federal do ABC BC 1518 - Sistemas Operacionais (SO) Gerenciador de Entrada/Saída (aula 11) Prof. Marcelo Zanchetta do Nascimento Roteiro Princípios básicos de hardware de E/S; Operações dos
Leia maisADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia
ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet
Leia maisFigura 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 maisProjeto: Camada Independente de Dispositivo
Projeto: Camada Independente de Dispositivo Introdução Esse documento tem como finalidade demonstrar como será implementada a Camada Independente de Software. Estrutura A camada independente de software
Leia maisUFRJ 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 maisRede de Computadores
Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso
Leia maisIMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET
1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com
Leia maisTópicos em Sistemas Distribuídos. Modelos de Comunicação
Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação
Leia mais11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador
Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um
Leia maisMODELO CLIENTE SERVIDOR
SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisTRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia mais5 Entrada e Saída de Dados:
5 Entrada e Saída de Dados: 5.1 - Arquitetura de Entrada e Saída: O sistema de entrada e saída de dados é o responsável pela ligação do sistema computacional com o mundo externo. Através de dispositivos
Leia maisSistemas 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 maisSistemas Operacionais
Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de
Leia maisLista 3 Exercícios de Gestão de Redes
1. Quais os fatores que contribuem para o sucesso de uma operação de gerenciamento? O sucesso de uma operação de Gerenciamento depende dos seguintes fatores: O sistema de gerenciamento invocador deve ter
Leia maisOrganizaçã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 maisINTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO
Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele
Leia maisArquitetura dos Sistemas Operacionais
Arquitetura dos Sistemas Operacionais Arquitetura de um Sistema Operacional Basicamente dividido em shell é a interface entre o usuário e o sistema operacional é um interpretador de comandos possui embutido
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas de Computação O sistema operacional precisa garantir a operação correta do sistema de computação. Operação
Leia maisMinistério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul
QUESTÃO: 29 Além da alternativa a estar correta a alternativa e também pode ser compreendida como correta. Segundo a definição de diversos autores, a gerência de falhas, detecta, isola, notifica e corrige
Leia mais1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
Leia maisVirtuOS vrs. 4.00 para usuários da vrs. 3.01a R.10
VirtuOS vrs. 4.00 para usuários da vrs. 3.01a R.10 Este documento resume as principais diferenças entre a vrs. 4.00 em relação à vrs. 3.01a R.10 do Sistema VirtuOS e se destina aos usuários que dela estão
Leia mais