2. Introdução aos Sistemas Operacionais

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

Download "2. Introdução aos Sistemas Operacionais"

Transcrição

1 2. Introdução aos Sistemas Operacionais O que é um Sistema Operacional? 1 Compilador 2 Editor de texto 3 Browser Aplicativos... Sistema Operacional (infraestrutura) Hardware n Quake No passado, a eficiência era o principal aspecto (custo do hardware). Isto está mudando em função da relação entre o custo do hardware e o custo do software. Por razões históricas, a maior parte da teoria de sistemas operacionais está voltada para o aspecto eficiência. Ao longo do tempo, a área de sistemas operacionais influenciou e foi influenciada pela área de arquitetura. A introdução de novas características no hardware foi a solução natural para muitos problemas encontrados na área de sistemas operacionais. Diversos aspectos da computação são tratados em ambas as disciplinas, de forma ligeiramente diferente. Histórico Primeiros sistemas - somente hardware: Nos primórdios da computação, havia apenas o hardware. Grandes máquinas (volumosas) dirigidas de um console. Eram utilizadas da seguinte forma: Hardware = Recurso Computacional Aplicação = Resolve os diversos problemas dos usuários Sistema Operacional = Controla e coordena o uso do hardware pelas aplicações Recursos gerenciados pelo SO: tempo de CPU espaço de memória espaço em disco periféricos (impressora, etc.) O SO é um programa de controle, pois controla os dispositivos de entrada e saída (I/O devices) e os programas que resolvem os problemas dos usuários. Ele previne erros e o uso impróprio do computador (por exemplo, um usuário não pode destruir os arquivos de outros usuários). O SO existe porque é útil: ele cria um sistema computacional usável. As aplicações possuem necessidades em comum que são atendidas pelo sistema operacional. Estas necessidades correspondem exatamente à alocação e controle dos recursos. O objetivo do SO é permitir o uso do computador de forma fácil e eficiente. Pode-se dizer que o SO de um computador é a parte de software que estende os recursos de hardware da máquina, tornando a utilização do equipamento mais fácil, mais eficiente e mais confiável. AMBIENTES OPERACIONAIS p. 1 Programa é carregado na memória através de chaves, fita de papel ou cartões perfurados; Através de botões se inicia a execução; O andamento da execução é acompanhado através de luzes no painel; O resultado da computação é obtido através de impressora, fita de papel ou cartão perfurado; Se ocorrer um erro durante a computação, deve-se parar o programa, examinar a memória e os registradores, consertar o programa e repetir todo o processo. Programador e operador eram a mesma pessoa (normalmente, um cientista). Existia uma tabela de horário onde era feita a reserva de horas de máquina. Com o passar do tempo, mais hardware e software ficaram disponíveis. As fitas magnéticas passaram a ser empregadas com bastante intensidade. Surgiram bibliotecas de funções, contendo principalmente rotinas para acessar os dispositivos de E/S. Cada novo periférico exigia que novas rotinas fossem escritas e adicionadas à biblioteca existente. Com o aparecimento das linguagens de alto nível FORTRAN e COBOL, a programação ficou mais fácil, mas a operação ficou mais difícil. A execução de um JOB (programa) em FORTRAN era feita da seguinte forma: Carrega a fita magnética que contém o compilador; Lê o programa de cartões, gera assembler em fita magnética ou cartão perfurado; Carrega a fita magnética que contém o montador; Lê o programa montado e gera código de máquina, sem as rotinas da biblioteca; Carrega a fita magnética que contém o ligador; Lê o código gerado antes e inclui as rotinas da biblioteca que serão executadas, gerando código executável; Carrega o código executável e executa o programa. AMBIENTES OPERACIONAIS p. 2

2 As características deste ambiente são: Grande tempo de preparação para colocar e retirar fitas magnéticas, colocar e retirar maços de cartão; Um erro em qualquer etapa significa volta ao início; Durante a preparação a CPU fica parada. Em uma época que os computadores custavam milhões de dólares, todo este tempo de CPU parada era inaceitável. Era necessário buscar uma melhor utilização da CPU, o que foi obtido através de duas medidas: Operadores especializados foram contratados. Isto significa que a preparação é mais rápida. Não existe mais perdas devido a pequenos espaços na planilha de horário. Entretanto, o programador deixa de ser ele mesmo o operador. Passa a existir diferença entre as duas funções. A depuração deve agora ser feita a partir das listagens geradas, pois o programador não tem mais acesso ao console. Os jobs com necessidades parecidas são reunidos em batches (lotes), para minimizar a necessidade de trocar fitas magnéticas. Apesar destas duas alterações, na transição entre jobs a CPU fica parada. O operador deve perceber quando um job termina e então iniciar a execução do job seguinte. O Monitor Residente: O passo seguinte foi o surgimento do sequenciador automático de jobs, o primeiro sistema operacional criado, ainda que bastante rudimentar. O sequenciamento automático de jobs é feito por um monitor residente, ou seja, um pequeno programa que fica o tempo todo na memória do computador e que transfere o controle automaticamente de um job para o outro. Quando o computador é ligado, o controle é entregue ao monitor residente, que inicia a execução de um programa. Quando o programa termina, o controle volta ao monitor residente, que ativa o programa seguinte, e assim por diante. Antes, o programador informava ao operador o que devia ser feito através de um pedaço de papel contendo a descrição do job (que compilador utilizar, que módulos de biblioteca usar, etc.). Agora o programador deve fornecer uma descrição semelhante para o monitor residente. Isto era feito na forma de cartões de controle. Os cartões de controle utilizavam algum caractere especial para se diferenciar dos demais (cartões de programa e de dados). Abaixo está um exemplo de job: $JOB $FTN prog $LOAD $RUN dados $END (Identifica o job que inicia) (Executa o compilador FORTRAN) (Programa a ser compilado) (Carrega o resultado da compilação na memória) (Executa o programa compilado) (Dados para o programa) (Marca o fim do job) AMBIENTES OPERACIONAIS p. 3 A maior vantagem do monitor residente é a redução do tempo entre 2 jobs do mesmo batch, pois automatiza a transição entre jobs. A organização do monitor residente é a seguinte: Tabela de interrupção Controladores de Dispositivos (Device Drivers) Interpretador de cartões e Seqüenciador de jobs Área para programas dos usuários O controle da CPU fica parte do tempo com o monitor residente e parte do tempo com o programa do usuário. Eventualmente, pode ser solicitada a ação do operador para, por exemplo, carregar determinada fita magnética. Performance O objetivo de todas as mudanças feitas até agora é obter um melhor desempenho do computador, uma vez que trata-se de uma máquina cara. Como humanos são muito lentos, a operação humana foi substituída por um software, no caso, o sistema operacional. Entretanto, dispositivos mecânicos de I/O (em geral na faixa milisegundos) são mais lentos que os dispositivos eletrônicos (microsegundos). Isto faz com que a CPU acabe parada boa parte do tempo esperando pelo I/O. Por exemplo, se um compilador é capaz de processar 300 cartões/segundo e a leitora somente é capaz de ler 2 cartões/segundo, a CPU ficará parada 93,3% do tempo durante a compilação. Algumas técnicas foram utilizadas para minimizar este problema. Entre elas estão a operação off-line, a bufferização e o spooling. Operação off-line: Na operação chamada (na época) on-line, a CPU recebe dados diretamente da leitora de cartões e envia resultados diretamente para a impressora. Na operação off-line, a CPU recebe e envia dados para fitas magnéticas. Como unidades de fita são mais rápidas que leitoras de cartões e impressoras, a CPU fica menos tempo parada. Dispositivos especiais ou pequenos computadores são responsáveis pela transferência dos cartões para a fita e da fita para a impressora. A passagem de operação on-line para operação off-line não exige mudança nos aplicativos, mas apenas no sistema operacional (device drivers). O aplicativo pensa estar lendo dados de cartões, mas na verdade o sistema operacional está acessando uma fita magnética. O mesmo acontece com a impressora. Bufferização: A bufferização tenta manter a CPU e o dispositivo de I/O o tempo todo ocupados. Enquanto a CPU está processando um item, o próximo item já está sendo lido. O mesmo é feito com respeito à saída dos dados. A operação de I/O (feita por um canal de E/S) acontece em paralelo com a computação (feita pela UCP), e a comunicação é AMBIENTES OPERACIONAIS p. 4

3 feita através de buffers. Um sistema que use bufferização apresenta as seguintes características: Não é pior que sem bufferização; O buffer pode ser grande, mas sempre é limitado; Normalmente, o uso do buffer está associado com interrupções. Quando o dispositivo (canal) termina de realizar o I/O, interrompe a CPU. Esta salva o contexto de execução na pilha e busca o endereço do tratador de interrupções na tabela de interrupção. A rotina de tratamento é executada, dando início a uma nova operação de I/O. A CPU volta então para a computação que foi interrompida. É necessário que a CPU seja capaz de tratar a ocorrência de diversas interrupções simultâneas; Uma ainda maior eficiência pode ser obtida através do acesso direto à memória (DMA). Neste caso, ocorre uma interrupção por bloco de caracteres e não uma interrupção por caractere. Tudo funciona como antes, só que agora a CPU é interrompida a cada bloco transferido e não mais a cada caractere; Os tratadores de interrupção fazem parte do sistema operacional; Este mecanismo minimiza as variações na velocidade de processamento, mas ajuda pouco no caso de jobs do tipo I/O-bound (job que faz muito I/O) ou CPUbound (job que faz pouco I/O). Spooling Com o aparecimento dos discos magnéticos, a operação off-line deixou de ser feita. Nas fitas magnéticas não é possível ler em uma ponta e escrever na outra. Isto impede o acesso simultâneo pela CPU e pelo dispositivo de I/O. Ela deve ser escrita completamente, enrolada e então lida completamente. No disco magnético é possível acessar qualquer posição a qualquer momento. O disco magnético permitiu o aparecimento do spooling. Esta técnica utiliza o disco como um grande buffer. Tudo é feito simultaneamente: Os cartões são lidos e suas imagens são guardadas no disco (input spooling); A CPU executa os programas, retirando as instruções e os dados do disco e enviando para este o resultado da computação; O resultado da execução dos programas é retirado do disco e enviado para a impressora (output spooling). O spooling exige tabelas para localizar no disco os dados de cada job (mantidos pelo sistema operacional). Enquanto a bufferização sobrepõe a computação de um job com o seu I/O, o spooling sobrepõe a computação de um job com o I/O correspondente a colocação de outros jobs no disco. Isto permitiu maior eficiência e foi um passo importante na direção da multiprogramação. O emprego de spooling cria uma importante estrutura de dados: o job pool, ou seja, a identificação dos jobs que se encontram no disco prontos para serem executados. Isto permite que o sistema operacional escolha o próximo a executar entre AMBIENTES OPERACIONAIS p. 5 os que estão prontos, de forma a melhorar o desempenho do sistema. Isto não é possível com fita ou cartão, onde os jobs devem necessariamente ser executados na ordem original. Este processo de escolha é chamado de job scheduling ou long term scheduling (outros tipos de escalonadores serão vistos mais tarde). Multiprogramação A operação off-line, bufferização e spooling, mesmo utilizadas em conjunto, não garantem uma utilização eficiente do computador. Um único programa não consegue manter a CPU o tempo todo ocupada. Por isso surgiu a multiprogramação, que é a execução simultânea de vários programas (vários programas na memória). A multiprogramação aumenta a utilização da CPU, fazendo com que ela tenha sempre algo para executar. Os primeiros sistemas multiprogramados foram implementados através de uma extensão da técnica de spooling, conforme é descrito a seguir. O SO possuía três grandes processos, denominados input spooler, executive e output spooler. A função do input spooler era ler, continuamente, cartões colocados em leitoras de cartões e gravar suas imagens no disco. Todos os cartões de um job (cartões de controle, programa fonte e dados) eram copiados para arquivos em disco. No disco podiam existir várias filas, uma para cada classe de job, por exemplo. A função do executive era carregar e executar os jobs colocados no disco, de forma multiprogramada. O executive procurava manter na memória tantos jobs quantos fossem permitidos pelos recursos disponíveis. Toda vez que um job necessitava ler um cartão, a leitura era feita do arquivo em disco que continha as imagens dos cartões desse job. Toda vez que um job imprimia uma linha, o executive providenciava que a imagem da linha fosse gravada em um arquivo de saída em disco. Assim, tudo se passava como se cada job tivesse a sua leitora e a sua impressora particulares. Esses dispositivos de E/S virtuais eram implementados por arquivos de spooling em disco. O terceiro e último componente do SO, o output spooler, tinha a função de providenciar a saída dos jobs já executados. Este componente ficava, continuamente, pegando no disco os jobs já executados, um de cada vez, e fazendo a saída das suas linhas na impressora. A multiprogramação funciona da seguinte maneira: O SO escolhe um job e inicia a sua execução; Eventualmente o job pára, devido ao I/O; Sem multiprogramação, a CPU pararia também, mas neste caso o sistema operacional escolhe um novo job e inicia sua execução; Quando o primeiro job é liberado pois terminou o I/O que ele estava esperando este volta a ficar apto a receber a CPU para continuar a sua execução. Para obter maior eficiência, o SO procura manter na memória uma mistura de jobs CPU-bound e I/O-bound. A multiprogramação aumenta a complexidade do sistema, mas aumenta muito a sua eficiência. A multiprogramação é o tema central em qualquer curso de sistemas operacionais. AMBIENTES OPERACIONAIS p. 6

4 Tipos de sistemas operacionais Sem considerar os sistemas para redes de computadores, os sistemas distribuídos e os sistemas paralelos, pode-se dizer que existem três tipos básicos de SOs. - Sistemas Operacionais tipo Batch Os primeiros sistemas operacionais eram chamados de sistemas batch devido ao fato dos jobs semelhantes estarem agrupados em lotes. Isto simplificava a operação do computador quando todo o I/O era feito através de fitas magnéticas ou cartões perfurados, dispositivos essencialmente seqüenciais. Com o surgimento dos discos magnéticos, não havia mais a necessidade de reunir os jobs em lotes, pois agora o sistema operacional poderia obter diretamente no disco qualquer programa solicitado. A palavra batch passou então a designar os sistemas onde não há interação entre usuário e programa. Neste tipo de sistema existe uma medida importante que é o tempo de turnaround, ou seja, o tempo entre a entrega dos cartões e o recebimento da listagem com os resultados. Não existe a possibilidade de comunicação entre o usuário e o seu programa em execução, o que dificulta a depuração de programas. Um sistema operacional batch é apropriado para jobs longos, que não necessitam de comunicação com o usuário. Para jobs curtos, onde a ação a seguir depende da decisão do usuário, o ideal é um sistema operacional interativo. - Sistemas Operacionais Time-sharing A busca por maior eficiência no desenvolvimento de programas levou ao surgimento dos sistemas interativos. Os sistemas operacionais do tipo time-sharing permitem interação de uma forma eficiente. Eles são implementados da seguinte forma: O sistema operacional dispõe de multiprogramação; Cada usuário possui um job ativo vinculado a um terminal; A comunicação via terminal é lenta, sobra CPU para os outros; Os usuários, ao longo do tempo, compartilham a CPU (time-sharing); A idéia de um sistema time-sharing foi demonstrada no início dos anos 60 e tornou-se comum no início da década seguinte. Alguns sistemas operacionais suportavam os dois ambientes (batch e time-sharing). - Sistemas Operacionais Real-time Em um sistema de tempo real, o computador está ligado a processos externos (processos industriais, equipamentos cirúrgicos, etc.) que dependem fundamentalmente dos tempos de resposta do computador. Sinais dos processos externos acionam o computador através do sistema de interrupção; se estes sinais não são respondidos prontamente (em microsegundos ou milisegundos, dependendo da aplicação), os processos externos podem prosseguir de forma errada ou degradada. Nas aplicações de tempo real, o computador é apenas uma das peças do sistema (não a mais importante, em geral) e os usuários são os processos externos controlados pelo computador. AMBIENTES OPERACIONAIS p. 7 Um SO tempo real utiliza conceitos de multiprogramação e oferece facilidades para as aplicações de tempo real. Entre as facilidades está um escalonador preemptivo (a ser estudado no cap. 4) que leva em conta as prioridades dos processos. Proteção Nos primeiros sistemas havia apenas um usuário por vez, o qual possuía controle completo sobre a máquina. O sistema operacional foi, aos poucos, assumindo funções, principalmente ligadas ao I/O. Para que fosse possível obter uma maior eficiência, o sistema operacional começou a compartilhar recursos entre usuários (por exemplo, espaço em disco no spooling). O compartilhamento de recursos, se por um lado melhorou a utilização do sistema, por outro aumentou os problemas de segurança. O erro de um usuário pode agora prejudicar n usuários. Isto cria a necessidade de proteger os usuários uns dos outros. O sistema operacional não pode permitir que um programa incorreto ou malicioso faça com que outros programas funcionem de forma incorreta. A proteção é implementada parte em software e parte em hardware. No caso do hardware, são utilizadas interrupções geradas internamente pela CPU, chamadas de traps. Elas são geradas sempre que uma situação de erro é detectada. - Proteção de I/O: A programação de rotinas de E/S é uma programação de baixo nível (detalhada) muito sujeita a erros. Por isso, desde os primeiros tempos (desde os primeiros SOs) estas rotinas passaram a fazer parte do sistema operacional. Isto resulta em duas vantagens: (1) garante segurança para o SO e (2) facilita a tarefa de programação para os usuários. Mas o que garante que um programa de usuário (por erro ou por malícia) não tente acessar um dispositivo de E/S diretamente? A solução para este problema é criar dois modos de operação para o hardware: modo usuário e modo monitor. Um bit é adicionado ao registrador de estado da UCP para indicar o modo corrente de operação. As instruções de I/O são privilegiadas, e só podem ser executadas no modo monitor. Se o usuário tenta executar uma destas instruções, ocorre um trap. O trap comuta para o modo monitor, e a CPU passa a executar o monitor residente (hoje em dia, denominado Kernel). O monitor residente sempre comuta para o modo usuário antes de passar o controle da UCP para um programa de usuário. O programa do usuário irá realizar I/O através do monitor. Uma chamada de sistema (uma instrução cujo efeito é o de uma interrupção gerada por software) ativa o monitor. O monitor então verifica se o pedido é legal e realiza o I/O. Este modo dual de operação permite que o sistema operacional mantenha sempre o controle do computador. Como toda operação de I/O passa necessariamente pelo sistema operacional, ele pode facilmente implementar spooling, bufferização e esconder do usuário os detalhes dos dispositivos que estão sendo acessados. - Proteção de memória: Para que o usuário não receba a CPU em modo monitor ou corrompa o funcionamento do sistema, é necessário proteger os vetores de interrupção a as rotinas do monitor. Isto pode ser feito, por exemplo, através de um fence register (registrador cerca ou AMBIENTES OPERACIONAIS p. 8

5 limite). Neste esquema, o monitor carrega o fence register através de uma instrução privilegiada. Em modo usuário, cada endereço é comparado como fence register. Se o programa do usuário tenta acessar um endereço menor que o contido no fence register, ocorre um trap e o sistema operacional obtém o controle da CPU. O monitor residente pode acessar qualquer endereço. Isto é necessário para que ele possa, entre outras coisas, carregar o programa do usuário. Tabela de interrupção Device Drivers Sequenciamento dos jobs Interpretador de comandos Área para programas dos usuários Este mecanismo pode ser adaptado para multiprogramação, conforme mostrado na figura abaixo. Agora, em modo usuário, cada endereço é comparado com dois registradores (a figura ilustra a situação em que a execução está com o job2). Monitor Job 1 Job 2 Job 3 Job 4 - Proteção contra monopolização da CPU: É necessário impedir que um job pegue a CPU para sempre. Isto é feito através de um temporizador que interrompe a CPU a cada x milisegundos. Quando o temporizador interrompe, ele ativa o monitor, que decide ou não continuar com o programa do usuário. O acesso ao temporizador deve ser feito através de uma instrução privilegiada. A Arquitetura resultante Limite inferior Limite superior Fence Register Ao longo da história dos computadores, surgiram diversas técnicas cujo objetivo foi aumentar a eficiência na utilização dessas máquinas: sistemas batch, operação offline, bufferização, spooling, multiprogramação, time-sharing. Estas técnicas levaram a um maior compartilhamento dos recursos entre os usuários. Isto trouxe a necessidade de uma maior proteção do sistema, através de mecanismos como: operação em modo usuário e modo monitor, registradores limite, instruções privilegiadas e temporizador. Em resumo, foi necessário realizar mudanças na arquitetura para garantir que o sistema operacional sempre mantivesse o controle sobre o equipamento. 3 Serviços dos Sistemas Operacionais Pode-se dizer que o principal objetivo de um sistema operacional é criar um ambiente para execução de programas. Seu objetivo é fornecer a infraestrutura e os mecanismos necessários para levar programas para a memória e supervisionar as execuções dos mesmos. A infraestrutura resultante fornece diversos tipos de serviços aos aplicativos e aos programadores. Tipos de Serviços Serviços para facilitar o uso (aumentar a conveniência de uso do sistema): Execução de programas; Operações de I/O; Sistema de arquivos; Detecção de erros. Serviços para aumentar a eficiência: Alocação de recursos; Contabilizações; Proteção A visão do usuário Pode-se olhar o sistema operacional de diferentes ângulos. A visão do usuário é formada pelas chamadas de sistema disponíveis e pelos programas de sistema (também denominados utilitários). Hoje em dia, com a utilização de interfaces gráficas, o usuário se comunica com o SO através de ícones e menus (via mouse e teclado). Com isso, deixou de haver a visão mais detalhada que havia quando a comunicação era textual (via linhas de comandos). Contudo, mesmo que isto fique escondido, o usuário se comunica com o SO sempre através de chamadas de sistema. Chamadas de sistema: Os programas utilizam as chamadas de sistema para solicitar serviços ao sistema operacional. Existem diversos tipos de chamadas de sistema. - Chamadas de sistema para controle de processo ou job: Término ou cancelamento de programa; Carregar e executar programas; Criar e terminar processos; Obter e alterar atributos de processos; Esperar a passagem de um certo tempo; Esperar ou sinalizar a ocorrência de eventos. AMBIENTES OPERACIONAIS p. 9 AMBIENTES OPERACIONAIS p. 10

6 -Chamadas ligadas à manipulação de arquivos: Criar e remover arquivos; Abrir, fechar, ler e escrever em arquivos; Obter e alterar atributos de arquivos. - Chamadas ligadas à manipulação de dispositivos: Requisitar ou liberar dispositivo; Ler e escrever em dispositivo; Obter e alterar atributos de dispositivos. - Chamadas ligadas à manutenção de informações: Obter e alterar hora e data; Obter e alterar dados do sistema; Implementação das chamadas de sistema: As chamadas de sistema são normalmente implementadas através de instruções de máquina especiais, que mudam o modo de execução para privilegiado e transferem o controle para pontos bem definidos do SO (interrupções de software). Em uma linguagem de alto nível, as rotinas da biblioteca já trazem embutidas as chamadas de sistema necessárias. Programas do sistema (utilitários): Os programas do sistema resolvem problemas comuns aos usuários, facilitando o uso do computador. Existem diversos tipos de programas de sistema: Manipulação de arquivos (por exemplo, criar pasta, copiar arquivo, etc.); Informação de estado; Carregadores; Interpretador de comandos. Antigamente, os compiladores, montadores e ligadores eram considerados utilitários (hoje em dia não são considerados assim). Em um sistema batch antigo, o usuário informava ao SO o que ele desejava através de cartões de controle. Em um sistema time-sharing, isto passou a ser feito através de comandos digitados no terminal. No sistema batch era necessário um interpretador de cartões de controle para identificar o que o usuário desejava. Nos ambientes time-sharing era necessário um interpretador de linhas de comando. Todo SO possui um interpretador de comandos (talvez escondido atrás de uma interface gráfica). Pode-se citar como exemplos o programa shell, no UNIX, e o programa command.com, no MS-DOS. Para os usuários, o sistema operacional é definido pelos programas de sistema que ele utiliza e, principalmente, pela visão que o interpretador de comandos lhe dá. AMBIENTES OPERACIONAIS p. 11 A visão do programador de sistema A visão do programador de sistema é diferente. Ele percebe o sistema operacional como um servidor de interrupções cujo objetivo é administrar os recursos físicos de maneira a criar facilidades de uso para os usuários. O sistema operacional é um programa conduzido por eventos. Se não existem programas para executar ou E/S para fazer, o sistema operacional não faz nada. Neste contexto, um evento é a ocorrência de uma interrupção (de hardware ou de software). O sistema operacional é, portanto, dirigido por interrupções. Quando uma interrupção ou um trap ocorre, o sistema operacional é ativado. O evento sinalizado pode ser uma chamada de sistema, ou a indicação do término de uma determinada operação de dispositivo, ou ainda um erro na execução de um programa. - Chamada de sistema: As interrupções por chamada de sistema podem ou não ser atendidas na hora. Por exemplo, uma chamada de sistema para ler a data pode ser atendida imediatamente. Entretanto, uma chamada de sistema para ler um setor de disco não poderá ser atendida imediatamente. O pedido feito será inserido na fila do driver. Enquanto o processo solicitante aguarda a realização da E/S, o sistema operacional entrega a CPU para outro programa. - Interrupção de dispositivo de E/S (I/O devices): As interrupções causadas por dispositivos de I/O acontecem no seguinte contexto: O programa usuário solicita I/O através de uma chamada de sistema; O sistema operacional bloqueia o programa e envia um comando para o dispositivo; Outro programa é executado (multiprogramação); Quando termina a tarefa solicitada, o dispositivo de I/O interrompe a CPU e o programa de usuário que estava bloqueado volta a ficar apto para execução; Podem haver diversas solicitações simultâneas de I/O; O sistema operacional deve manter uma tabela com a situação de cada dispositivo de I/O; Quando termina o I/O, o sistema operacional consulta a tabela, e se existe pedido pendente, envia um novo comando para o dispositivo imediatamente. A maneira usual de estruturar as atividades de E/S de um SO é ter um processo para controlar cada dispositivo. O processo controlador é denominado driver do dispositivo e é o único que executa operações de E/S nesse dispositivo. Toda operação de E/S resulta no envio de uma requisição ao driver correspondente. - Interrupção por erro em programa: Corresponde à tentativa de executar uma operação ilegal (por exemplo, tentativa de divisão por zero, tentativa de acessar uma área de memória protegida). Neste caso, o SO deve terminar o programa, avisando de alguma forma que o término foi por erro. Estes erros são detectados pelo hardware e geram interrupções de software, conhecidas como traps (observe que tratam-se de falhas no software). AMBIENTES OPERACIONAIS p. 12

Introdução aos Sistemas

Introduçã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 mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema Operacional (SO) é um programa colocado entre o hardware do

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS 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 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

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR Sistemas Operacionais INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR 1 Introdução O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas 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 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

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Sistemas 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 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

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

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

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

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

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

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

discos 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 mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

Organização e Arquitetura de Computadores

Organizaçã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 mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

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

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

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

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 Processos e Threads

Sistemas 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 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

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

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

E/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 mais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS 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 mais

Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br

Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br INTRODUÇÃO O que é um sistema operacional? História dos sistemas operacionais Conceitos dos Sistemas Operacionais Estrutura

Leia mais

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Introduçã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 mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO 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 mais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: 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 mais

Estruturas do Sistema de Computação

Estruturas 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 mais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware

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 Aula 03 Tipos de Sistemas Operacionais Maxwell Anderson Prof. Maxwell Anderson www.maxwellanderson.com.br Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e a sua

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

Gerência de Entrada/Saída

Gerê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 mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade I Introdução 11/02/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Introdução Conceituação de SO Funções Básicas Breve Histórico Tipos de SO Fundamentos

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

Arquitetura dos Sistemas Operacionais

Arquitetura 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 mais

Entrada 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 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 mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA 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 mais

Tipos de sistemas operacionais

Tipos de sistemas operacionais Tipos de sistemas operacionais Sistemas Operacionais de Computadores de Grande Porte Sistemas Operacionais para Servidores Sistemas Operacionais de Multiprocessadores Sistemas Operacionais para Computadores

Leia mais

ENTRADA E SAÍDA DE DADOS

ENTRADA 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 mais

Arquitetura de Sistemas Operacionais

Arquitetura de Sistemas Operacionais Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Processo Profº Antonio Carlos dos S. Souza Estrutura do Processo Contexto de Software Contexto de Hardware Programa Espaço

Leia mais

Processos e Threads (partes I e II)

Processos 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 mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Suporte do Sistema Operacional Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Objetivos

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I

UFRJ IM - DCC. Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade I 18/9/2009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 ORGANIZAÇÃO DA UNIDADE Conceituação de SO Funções Básicas Breve Histórico Tipos

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 2007

SISTEMAS 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 mais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas

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

Gerenciamento 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 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 mais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Sistema computacional Sistemas feitos para resolver problemas Problema: como obter determinado resultado, com base em dados

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

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

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍ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 mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo 4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas

Leia mais

1. CAPÍTULO COMPUTADORES

1. 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 mais

Mecanismo de Interrupção

Mecanismo de Interrupção Mecanismo de Interrupção Paralelismo de Operação Num sistema multiprogramado a CPU está sempre apta a compartilhar o seu tempo entre os vários programas e os diferentes dispositivos periféricos que necessitam

Leia mais

Componentes de um sistema computacional moderno. DCC/FCUP Inês Dutra Sistemas de Operação 1

Componentes de um sistema computacional moderno. DCC/FCUP Inês Dutra Sistemas de Operação 1 Componentes de um sistema computacional moderno DCC/FCUP Inês Dutra Sistemas de Operação 1 O que é um Sistema de Operação? Para responder a esta questão: vamos dividir a turma em 4 partes CPU memória programas

Leia mais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Entrada 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 mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

Sistemas Operacionais. Professor Leslier Soares Corrêa

Sistemas Operacionais. Professor Leslier Soares Corrêa Sistemas Operacionais Professor Leslier Soares Corrêa Objetivos Conhecer o Professor e a matéria. Importância da Matéria no dia a dia. Por que é necessário um sistema operacional O que é um Sistema Operacional

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

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 4 Tipos de SO Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Os Sistemas Operacionais podem ser assim classificados: SO - Prof. Edilberto Silva

Leia mais

Sistemas Operativos. Funções genéricas de um S.O.

Sistemas Operativos. Funções genéricas de um S.O. Introdução Funções genéricas de um S.O.! O S.O. é a primeira camada de software indispensável para que o sistema informático possa funcionar! Tem por funções controlar e gerir os recursos de hardware Torná-los

Leia mais

Introdução a Computação

Introdução a Computação O que é um SO? Introdução a Computação Sistemas Operacionais PII Consiste em: Hardware Programas de Sistema Programas de Aplicativos 1 2 O que é um SO? Hardware não proporciona controle de alto nível disponível

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (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 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

Sistemas 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) 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 mais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Introdução. Professora: Michelle Nery Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas

Leia mais

Sistemas Operacionais

Sistemas 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 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

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Componentes básicos de um sistema computacional. Cap. 1 (Stallings) Componentes básicos de um sistema computacional Cap. 1 (Stallings) 1 Sistema de Operação Explora recursos de hardware de um ou mais processadores Provê um conjunto de serviços aos utilizadores Gerencia

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

Disciplina: Introdução à informática Profª Érica Barcelos

Disciplina: Introdução à informática Profª Érica Barcelos Disciplina: Introdução à informática Profª Érica Barcelos CAPÍTULO 3 1. ARQUITETURA DO COMPUTAÇÃO- SOFTWARE Vimos nos capítulos anteriores que durante muitas décadas vários projetos foram realizados para

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

5 Entrada e Saída de Dados:

5 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 mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura 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 mais

Fundamentos de Sistemas Operacionais

Fundamentos 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 mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas 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 mais

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1 Arquitectura de um sistema de computação

Leia mais

Máquina de estados UNIX O

Máquina de estados UNIX O Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que

Leia mais

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa)

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃ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 mais

Princípios de funcionamento dos computadores

Princípios de funcionamento dos computadores Princípios de funcionamento dos computadores Objetivos da aula: - Entender o princípio de funcionamento dos computadores - Entender o conceito de programa e sua dinâmica de execução Tópicos da aula: -

Leia mais

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário Arquitetura de Computadores para Sistemas Operacionais Arquitetura de Computadores para Sistemas Operacionais Tecnologias em Informática 2o Semestre Sistemas Operacionais Prof. Cid R Andrade Sumário Conhecer

Leia mais