TI Básico. Sistemas Operacionais. Professor: Ricardo Quintão Site:

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

Download "TI Básico. Sistemas Operacionais. Professor: Ricardo Quintão e-mail: rgquintao@gmail.com Site: www.rgquintao.com.br"

Transcrição

1 TI Básico Sistemas Operacionais Professor: Ricardo Quintão Site:

2 Objetivos dos Sistemas Operacionais Esconder a Complexidade do Hardware. Devido a grande complexidade do hardware e também a dificuldade de manipular tal equipamento, o SO apresenta ao usuário uma máquina de forma que os seus recursos sejam acessados sem que haja necessidade de conhecimentos técnicos sobre o hardware instalado. Prover Portabilidade dos Softwares tornando-os o máximo possível independente do Hardware. Devido a grande variedade de equipamentos existentes e, consequentemente, formas diferentes de acessar tais equipamentos, o SO oferece uma forma padronizada de comunicação, independente do fabricante ou modelo do equipamento. Gerenciamento do uso dos recursos do equipamento. Quando existem diversos processos sendo executados no equipamento, estes processos precisarão acessar os recursos existentes (CPU, Memória, E/S). Para que não haja problemas na disputa por esses recursos, o SO faz a gerência definindo quando, como e por quem tais recursos serão utilizados.

3 Objetivos dos Sistemas Operacionais Como um Sistema Operacional consegue se comunicar e gerenciar a vasta gama de equipamentos com seus códigos e formatos de comunicação diferentes e proprietários? Para realizar esta tarefa, foram criados módulos de comunicação específicos para cada equipamento. Estes módulos possuem todas as informações sobre o que o equipamento é capaz de realizar e todos os códigos e formatos necessários para configurar e acessar tais recursos no equipamento. Podemos visualizar estes módulos como sendo um manual explicativo dos recursos do equipamento.

4 Objetivos dos Sistemas Operacionais Tais módulos são chamados de DRIVER. Para que o SO consiga acessar o dispositivo, ele precisa ter acesso ao seu respectivo driver. O driver é um software que oferece ao sistema a capacidade de se comunicar com um determinado dispositivo.

5 Objetivos dos Sistemas Operacionais A figura abaixo mostra esta organização: Impressora Scanner Driver Driver Núcleo ou Kernel SO completo e personalizado para o equipamento Driver Driver Placa de Rede Placa de Vídeo

6 Tipos de Sistemas Operacionais Sistemas Monoprogramáveis ou Monotarefa. Eles se caracterizam por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Devido a isso, enquanto o programa aguarda por um evento, o processador permanece ocioso, sem realizar qualquer tipo de processamento. A memória é subutilizada caso o programa não a preencha totalmente.

7 Tipos de Sistemas Operacionais Sistemas Multiprogramáveis ou Multitarefa. Neste tipo de sistema, os recursos computacionais são compartilhados entre os diversos usuários e aplicações. Enquanto um programa espera por uma operação de leitura ou gravação, outros programas podem estar sendo processados neste mesmo intervalo de tempo. Existe o compartilhamento da memória e do processador. O sistema operacional se preocupa em gerenciar o acesso concorrente aos seus diversos recursos de forma ordenada e protegida entre os diversos programas.

8 Tipos de Sistemas Operacionais Sistemas com Múltiplos Processadores ou Multiprocessado. Este sistema se caracteriza por possuir duas ou mais CPUs interligadas e trabalhando em conjunto. A vantagem deste tipo de sistema é permitir que vários programas sejam executados ao mesmo tempo ou que um mesmo programa seja subdividido em partes para serem executadas simultaneamente em mais de um processador.

9 Sistemas Multiprogramáveis ou Multitarefa. Sistema Batch. Tipos de Sistemas Operacionais O sistema batch tem a característica de não exigir a interação do usuário com a aplicação. Todas as entradas e saídas de dados da aplicação são implementadas por algum tipo de memória secundária, geralmente arquivos em disco. Atualmente, os sistemas operacionais implementam ou simulam o processamento batch, não existindo sistemas exclusivamente dedicados a este tipo de processamento.

10 Tipos de Sistemas Operacionais Sistemas Multiprogramáveis ou Multitarefa. Sistema de Tempo Compartilhado (Time-Sharing). Estes sistemas permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice ou quantum). Caso a fatia de tempo não seja suficiente para a conclusão do programa, ele é interrompido pelo sistema operacional e substituído por um outro programa, enquanto aguarda por uma nova fatia de tempo. O sistema cria para cada usuário um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado exclusivamente a ele.

11 Tipos de Sistemas Operacionais Sistemas Multiprogramáveis ou Multitarefa. Sistema de Tempo Real Estes sistemas são implementados de forma semelhante aos sistemas de tempo compartilhado. O que caracteriza a diferença entre os dois tipos de sistemas é o tempo exigido no processamento das aplicações. Enquanto em sistemas de tempo compartilhado o tempo de processamento pode variar sem comprometer as aplicações em execução, nos sistemas de tempo real os tempos de processamento devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário poderão ocorrer problemas irreparáveis.

12 Tipos de Sistemas Operacionais Sistemas com Múltiplos Processadores. Sistemas Fortemente Acoplados Neste sistema existem vários processadores compartilhando uma única memória física e dispositivos de E/S, sendo gerenciados por apenas um sistema operacional. Sistemas Fracamente Acoplados Estes sistemas caracterizam-se por possuir dois ou mais sistemas computacionais conectados através de linhas de comunicação. Cada sistema funciona de forma independente, possuindo seu próprio sistema operacional e gerenciando seus próprios recursos.

13 Operações de Entrada e Saída Ciclo de Entrada e Saída Configurar o Dispositivo Verificar se o Dispositivo está pronto Sim Não Realizar a transferência de um bloco de dados Não Verificar se os dados acabaram Sim Final da E/S

14 Operações de Entrada e Saída Existem três maneira básicas de executar operações de Entrada e Saída. Entrada e Saída controlada por programa ou polling. Nesta técnica, o processador sincroniza-se com o periférico para o início da transferência de dados. Após iniciada a transferência, o sistema fica permanentemente testando o estado do periférico para saber quando a operação chegaria ao seu final. Este controle mantinha o processador ocupado até o término da operação de E/S. Como o processador executa uma instrução muito mais rapidamente que a realização de uma operação de E/S, havia um enorme desperdício de tempo da CPU.

15 Operações de Entrada e Saída Entrada e Saída controlada por programa ou polling Ciclo de E/S E/S Configurar o Dispositivo A Verificar se o Dispositivo está pronto Realizar a transferência de um bloco de dados Verificar se os dados acabaram

16 Operações de Entrada e Saída Entrada e Saída controlada por interrupção. Com a implementação do mecanismo de interrupção, as operações de E/S podem ser realizadas de uma forma mais eficiente. Neste caso, o controlador interrompe o processador para avisar do término da operação de E/S. Com este mecanismo, o processador, após a execução de um comando de leitura ou gravação, permanece livre para o processamento de outras tarefas. O controlador por sua vez, ao receber um sinal de leitura fica encarregado de ler os blocos do disco e armazená-los em memória ou registradores próprios.

17 Operações de Entrada e Saída Entrada e Saída controlada por interrupção (Continuação). Em seguida, o controlador sinaliza uma interrupção ao processador. Quando o processador atender à interrupção, a rotina responsável pelo tratamento transfere os dados dos registradores do controlador para a memória principal. Ao término da transferência, o processador pode voltar a executar o programa interrompido e o controlador fica novamente disponível para outra operação.

18 Operações de Entrada e Saída Entrada e Saída controlada por interrupção Configurar o Dispositivo Verificar se o Dispositivo está pronto Realizar a transferência de um bloco de dados E/S A Ciclo de E/S B IRQ do dispositivo Verificar se os dados acabaram

19 Operações de Entrada e Saída Entrada e Saída controlada por DMA (Acesso Direto à Memória). Esta técnica permite que um bloco de dados seja transferido entre a memória principal e dispositivos de E/S sem a intervenção do processador, exceto no início e no final da transferência. Quando o sistema deseja ler ou gravar um bloco de dados, o processador informa ao controlador sua localização, o dispositivo de E/S, a posição inicial da memória de onde os dados serão lidos ou gravados e o tamanho do bloco. Com estas informações, o controlador de DMA realiza a transferência entre o periférico e a memória principal, e o processador somente é interrompido no final da operação. A área de memória utilizada pelo controlador de DMA é chamada de buffer de entrada e saída.

20 Operações de Entrada e Saída Entrada e Saída controlada por DMA (Continuação). No momento em que uma transferência de dados através da técnica de DMA é realizada, o controlador deve assumir, momentaneamente, o controle do barramento. Como a utilização do barramento é exclusiva de um dispositivo, o processador deve suspender o acesso ao barramento, temporariamente, durante a operação de transferência. Este procedimento não gera uma paralização, e o processador pode realizar tarefas, desde que sem a utilização do barramento, como um acesso à memória cache.

21 Operações de Entrada e Saída Entrada e Saída controlada por DMA A Evitar CPU MEM Evitar E/S DMA Configurar o Dispositivo Verificar se o Dispositivo está pronto Realizar a transferência de um bloco de dados E/S Verificar se os dados acabaram DMA realiza a transferência Ciclo de E/S B IRQ do dispositivo Configurar o DMA IRQ do DMA

22 Operações de Entrada e Saída Interrupção X Exceção Uma interrupção é sempre gerada por algum evento externo ao programa e, nesse caso, independe da instrução que está sendo executada. Um exemplo de interrupção é quando um dispositivo avisa ao processador que alguma operação de E/S está completa. Nesse caso, o processador deve interromper o programa para tratar o término da operação. Ao final da execução de cada instrução, a unidade de controle verifica a ocorrência de algum tipo de interrupção.

23 Operações de Entrada e Saída Interrupção X Exceção Nesse caso, o programa em execução é interrompido e o controle desviado para uma rotina responsável por tratar o evento ocorrido, denominada rotina de tratamento de interrupção. Para que o programa possa posteriormente voltar a ser executado, é necessário que, no momento da interrupção, um conjunto de informações sobre a sua execução seja preservado. Essas informações consistem no conteúdo de registradores, que deverão ser restaurados para a continuação do programa.

24 Operações de Entrada e Saída Interrupção X Exceção Aplicação Salva o conteúdo dos registradores na pilha de controle Rotina de Tratamento Interrupção ou Exceção Identifica a origem da interrupção Obtém o endereço da rotina de tratamento Restaura o conteúdo dos registradores

25 Operações de Entrada e Saída Interrupção X Exceção Arquitetura do Sistema de Interrupção CPU IRQ INTA Número do Pino de IRQ BD Controlador de Interrupções IRQ INTA Clock do Sistema Controladora de Disco Teclado Mouse CI Vetor de Interrupção[Pino do Controlador]. Vetor de Interrupção End. 0 End. 1 End. 2 End. 3 End. 4 End. 5 End. 6 End. 7 RT referente ao Pino 0 RT referente ao Pino 1 RT referente ao Pino 2 RT referente ao Pino 3 RT referente ao Pino 4 RT referente ao Pino 5 RT referente ao Pino 6 RT referente ao Pino 7

26 Operações de Entrada e Saída Interrupção X Exceção Para cada tipo de interrupção existe uma rotina de tratamento associada, para a qual o fluxo de execução deve ser desviado. A identificação do tipo de evento ocorrido é fundamental para determinar o endereço da rotina de tratamento. No momento da ocorrência de uma interrupção, o processador deve saber para qual rotina de tratamento deve ser desviado o fluxo de execução. O principal método utiliza uma estrutura de dados chamada vetor de interrupção, que contém o endereço inicial de todas as rotinas de tratamento existentes associadas a cada tipo de evento.

27 Operações de Entrada e Saída Interrupção X Exceção Uma exceção é semelhante a uma interrupção, sendo a principal diferença o motivo pelo qual o evento é gerado. A exceção é resultado direto da execução de uma instrução do próprio programa, como: Divisão de um número por zero; Overflow em uma operação aritmética; Instrução Inválida; Instrução Ilegal, dentre outras...

28 Estrutura do Sistema Operacional O sistema operacional é formado por um conjunto de rotinas que oferecem serviços aos usuários e às aplicações. Esse conjunto de rotinas é denominado núcleo do sistema ou kernel. A maioria dos sistemas operacionais vem acompanhada de utilitários, linguagem de comandos, que são ferramentas de apoio ao usuário, porém não são parte do kernel.

29 Estrutura do Sistema Operacional Funções de Kernel Principais Funções do Núcleo do Sistema. Tratamento de interrupções e exceções; Criação e eliminação de processos e threads; Sincronização e comunicação entre processos e threads; Escalonamento e controle dos processos e threads; Gerência de memória; Gerência do sistema de arquivo; Gerência de dispositivos de E/S; Suporte a redes locais e distribuídas; Contabilização do uso do sistema; Auditoria e segurança do sistema.

30 Estrutura do Sistema Operacional Modos de Acesso Para que o sistema possa gerenciar a máquina, ele tem que estar em um nível de privilégio superior ao dos demais processos que estão em execução. Se os processos estiverem no mesmo nível de privilégio que o SO, todos terão o mesmo poder de mando, o que levará ao caos e consequentemente, nada funcionará corretamente. Para conseguir ter privilégios superiores, o SO utiliza um recurso existente em diversos processadores conhecido como modo de acesso.

31 Estrutura do Sistema Operacional Modos de Acesso Em geral, os processadores possuem dois modos de acessos: modo usuário e modo kernel. Quando o processador trabalha no modo usuário, só é permitido o acesso a parte do conjunto de instruções. As instruções permitidas são chamadas de instruções não-privilegiadas. Além disso, diversos outros mecanismos de proteção e restrição de acesso entram em funcionamento.

32 Estrutura do Sistema Operacional Modos de Acesso No modo kernel, todo o conjunto de instruções pode ser executado. As instruções que só podem ser executadas neste modo são conhecidas por instruções privilegiadas. Esta separação de instruções privilegiadas e não-privilegiadas pode ser vista como sendo privilegiadas as instruções que colocam em risco o funcionamento do SO e não-privilegiadas são as instruções inofensivas, isto é, as que não oferecem risco ao SO.

33 Estrutura do Sistema Operacional Modos de Acesso Modos de Acesso da CPU Conjunto de Instruções Usuário Kernel Modo Kernel Modo Usuário Não-Privilegiadas (Inofensivas) Privilegiadas (Perigosas)

34 Estrutura do Sistema Operacional Rotinas do SO e Chamadas ao Sistema (System Calls) As rotinas do SO compõem o núcleo do sistema, oferecendo serviços aos usuários e suas aplicações. Todas as funções do núcleo são implementadas por rotinas do sistema que necessariamente possuem em seu código instruções privilegiadas. A partir desta condição, para que estas rotinas possam ser executadas, o processador deve estar obrigatoriamente em modo kernel, o que exige a implementação de mecanismos de proteção para garantir a confiabilidade do sistema.

35 Estrutura do Sistema Operacional Rotinas do SO e Chamadas ao Sistema (System Calls) Todo o controle de execução de rotinas do sistema operacional é realizado pelo mecanismo conhecido como system call. Toda vez que uma aplicação desejar chamar uma rotina do sistema operacional, o mecanismo de system call é ativado. Inicialmente, o SO verificará se a aplicação possui os privilégios necessários para executar a rotina desejada.

36 Estrutura do Sistema Operacional Rotinas do SO e Chamadas ao Sistema (System Calls) Em caso negativo, o SO impedirá o desvio para a rotina, sinalizando ao programa chamador que a operação não é possível. Este é um mecanismo de proteção por software no qual o SO garante que as aplicações só poderão executar rotinas do sistema que estão previamente autorizadas. Considerando que a aplicação possua o devido privilégio, o sistema primeiramente salva o conteúdo corrente dos registradores, troca o modo de acesso do processador de usuário para kernel e realiza o desvio para a rotina alterando o registrador PC com o endereço da rotina chamada.

37 Estrutura do Sistema Operacional Rotinas do SO e Chamadas ao Sistema (System Calls) Ao término da execução da rotina, o modo de acesso é alterado de kernel para usuário e o contexto dos registradores restaurado para que a aplicação continue a execução a partir da instrução que chamou a rotina do sistema.

38 Modo Usuário Modo Usuário Estrutura do Sistema Operacional Rotinas do SO e Chamadas ao Sistema (System Calls) Aplicação Salva o contexto dos registradores. Altera o modo de acesso do processador para kernel. Rotina do SO Verifica as permissões para execução da Rotina do SO. Se permitido, redirecionar para a Rotina. Não Permitido Altera o modo de acesso do processador para usuário. Modo kernel Restaura o contexto dos registradores.

39 Estrutura do Sistema Operacional Arquiteturas do Kernel A arquitetura Monolítica. Esta pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande programa executável, onde os módulos podem interagir livremente. Os primeiros sistemas operacionais foram desenvolvidos com base neste modelo, o que tornava seu desenvolvimento, e principalmente, sua manutenção bastante difíceis. Devido a sua simplicidade e bom desempenho, a estrutura monolítica foi adotada no projeto do MS-DOS e nos primeiros sistemas UNIX.

40 Estrutura do Sistema Operacional Arquiteturas do Kernel A arquitetura Monolítica. Modo Usuário Modo kernel Aplicação System Call Aplicação Hardware

41 Estrutura do Sistema Operacional Arquiteturas do Kernel A arquitetura em Camadas. Com o aumento da complexidade e do tamanho do código dos sistemas operacionais, técnicas de programação estruturada e modular foram incorporadas ao seu projeto. Na arquitetura de camadas, o sistema é dividido em níveis sobrepostos. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camada superiores. Neste tipo de implementação, as camadas mais internas são mais privilegiadas que as mais externas.

42 Estrutura do Sistema Operacional Arquiteturas do Kernel A arquitetura em Camadas (Continuação). A vantagem da estruturação em camadas é isolar as funções do sistema operacional, facilitando sua manutenção e depuração, além de criar uma hierarquia de níveis de modos de acesso, protegendo as camadas mais internas. Uma desvantagem para o modelo de camadas é o desempenho. Cada nova camada implica em uma mudança no modo de acesso.

43 Estrutura do Sistema Operacional Arquiteturas do Kernel A arquitetura em Camadas (Continuação). Atualmente, a maioria dos sistema comerciais utiliza o modelo de duas camadas, onde existem os modos de acesso usuário (não-privilegiado) e kernel (privilegiado). A maioria das versões do UNIX e o Windows da Microsoft está baseada neste modelo.

44 Estrutura do Sistema Operacional Arquiteturas do Kernel A arquitetura em Camadas. Kernel Executivo Supervisor Usuário

45 Estrutura do Sistema Operacional Arquiteturas do Kernel Arquitetura Microkernel ou Cliente-Servidor. Uma tendência nos sistemas operacionais modernos é tornar o núcleo do sistema operacional o menor e mais simples possível. Para implementar esta idéia, os serviços do sistema são disponibilizados através de processos, onde cada um é responsável por oferecer um conjunto específico de funções, como gerência de arquivos, gerência de processos, gerência de memória, escalonamento, etc. Sempre que uma aplicação deseja algum serviço, é realizada uma solicitação ao processo responsável.

46 Estrutura do Sistema Operacional Arquiteturas do Kernel Arquitetura Microkernel ou Cliente-Servidor (Continuação). Neste caso, a aplicação que solicita o serviço é chamada de cliente, enquanto o processo que responde à solicitação é chamado de servidor. A principal função do núcleo é realizar a comunicação, ou seja, a troca de mensagens entre cliente e servidor. Um cliente, que pode ser uma aplicação de um usuário ou um outro componente do sistema operacional, solicita um serviço enviando uma mensagem para o servidor. O servidor responde ao cliente através de uma outra mensagem.

47 Estrutura do Sistema Operacional Arquiteturas do Kernel Arquitetura Microkernel ou Cliente-Servidor (Continuação). A utilização deste modelo permite que os servidores executem em modo usuário, ou seja, não tenham acesso direto a certos componentes do sistema. Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, executa no modo kernel. Como consequência, se ocorrer um erro em um servidor, este poderá parar, mas o sistema não ficará inteiramente comprometido, aumentando assim a sua disponibilidade.

48 Estrutura do Sistema Operacional Arquiteturas do Kernel Arquitetura Microkernel ou Cliente-Servidor. Servidor de Impressão Servidor de Arquivo Modo Usuário Modo kernel Aplicação Microkernel Servidor de Memória Hardware

49 Estrutura do Sistema Operacional Arquiteturas do Kernel Máquinas Virtuais. O modelo de máquina virtual cria um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais. Este nível cria diversas máquinas virtuais independentes, onde cada uma oferece uma cópia virtual do hardware, incluindo os modos de acesso, interrupções, dispositivos de E/S. Como cada máquina virtual é independente das demais, é possível que cada MV tenha seu próprio sistema operacional e que seus usuários executem suas aplicações como se todo o computador estivesse dedicado a cada um deles.

50 Estrutura do Sistema Operacional Arquiteturas do Kernel Máquinas Virtuais (Continuação). Além de permitir a convivência de sistemas operacionais diferentes no mesmo computador, este modelo cria o isolamento total entre cada MV, oferecendo grande segurança para cada máquina virtual. Se, por exemplo, uma MV executar uma aplicação que comprometa o funcionamento do sistema operacional, as demais máquinas virtuais não sofrerão problema.

51 Máquina Virtual. Estrutura do Sistema Operacional Arquiteturas do Kernel AP 1 AP 2 AP 3 AP n SO 1 SO 2 SO 3 SO n MV 1 MV 2 MV 3 MV n Gerência de Máquinas Virtuais (MV) Hardware

52 Processos

53 Definição A gerência de uma ambiente multiprogramável é função exclusiva do sistema operacional que deve controlar a execução dos diversos programas e o uso concorrente do processador. Para isso, um programa ao ser executado deve estar sempre associado a um processo. O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado para executar instruções a partir do ciclo de busca e execução.

54 Definição Na visão da camada de hardware, o processador executa instruções sem distinguir qual programa encontra-se em processamento. É de responsabilidade do sistema operacional implementar a concorrência entre programas gerenciando a alternância da execução de instruções na CPU de maneira controlada e segura. Neste sentido, o conceito de processo torna-se essencial para que os sistemas multiprogramáveis implementem a concorrência de diversos programas e atendam a múltiplos usuários simultaneamente. Um processo pode ser entendido inicialmente como um programa em execução, só que seu conceito é mais abrangente.

55 Definição Pode-se definir mais precisamente um processo como sendo o conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas. O processo também pode ser definido como sendo o ambiente onde um programa é executado. Este ambiente, além das informações sobre a execução, possui também a quantidade de recursos do sistema que cada programa pode utilizar. O resultado da execução de um mesmo programa pode variar dependendo do processo em que é executado, ou seja, em função dos recursos que são disponibilizados para o programa.

56 Estrutura de um Processo Um processo é formado por três partes conhecidas como contexto de hardware, contexto de software e espaço de endereçamento, que juntos mantêm todas as informações necessárias à execução de um programa. Estrutura de um Processo Contexto de Software Contexto de Hardware Programa Espaço de Endereçamento

57 Estrutura de um Processo Contexto de Hardware O contexto de hardware de um processo armazena o conteúdo dos registradores gerais da CPU, além dos registradores de uso específico, como o PC, SP (stack pointer) e o registrador de status. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. No momento em que o processo perde a utilização da CPU, o sistema salva as informações no contexto de hardware do processo. O contexto de hardware é fundamental para a implementação dos sistemas multiprogramáveis, onde os processos se alternam na utilização da CPU, podendo ser interrompidos e posteriormente restaurados.

58 Estrutura de um Processo Contexto de Hardware (Continuação) O sistema operacional gerencia a troca de contexto, base para a implementação da concorrência, que consiste em salvar o conteúdo dos registradores do processo que está deixando a CPU e carregá-lo com os valores referentes ao do novo processo que será executado. Esta operação se resume em substituir o contexto de hardware de um processo pelo do outro.

59 Estrutura de um Processo Troca de Contexto Processo A Sistema Operacional Processo B Salva o conteúdo dos registradores do Processo A Carrega o conteúdo dos registradores do Processo B Salva o conteúdo dos registradores do Processo B Fatia de Tempo Carrega o conteúdo dos registradores do Processo A

60 Estrutura de um Processo Contexto de Software No contexto de software de um processo são especificados limites e características dos recursos que podem ser alocados pelo processo. Muitas destas características são determinadas no momento da criação do processo, enquanto outras podem ser alteradas durante sua existência. A maior parte das informações do contexto de software do processo provém de um arquivo do sistema operacional, conhecido como arquivo de usuários. Neste arquivo são especificados os limites dos recursos que cada processo pode alocar, sendo gerenciado pelo administrador do sistema. O contexto de software é composto por três grupos de informações sobre o processo: identificação, quotas e privilégios.

61 Estrutura de um Processo Contexto de Software (Continuação) Identificação Cada processo criado pelo sistema recebe uma identificação única (PID Process Identification) representada por um número. Através do PID, o sistema operacional e outros processos podem fazer referência a qualquer processo existente, consultando o seu contexto ou alterando uma de suas características. O processo também possui a identificação do usuário. Cada usuário possui uma identificação única no sistema (UID User Identification), atribuída ao processo no momento de sua criação. A UID permite implementar um modelo de segurança, onde apenas os objetos que possuem a mesma UID do usuário podem ser acessados.

62 Estrutura de um Processo Contexto de Software (Continuação) Quotas As quotas são os limites de cada recurso do sistema que um processo pode alocar. Caso uma quota seja insuficiente, o processo poderá ser executado lentamente, interrompido durante seu processamento ou mesmo não ser executado. Alguns exemplos de quotas presentes na maioria dos sistemas operacionais são: Número máximo de arquivos abertos simultaneamente; Tamanho máximo de memória principal e secundária que o processo pode alocar; Número máximo de operações de E/S pendentes; Tamanho máximo do buffer para operações de E/S; Número máximo de processos, subprocessos e threads que podem criar; Espaço de disco disponível.

63 Estrutura de um Processo Contexto de Software (Continuação) Privilégios Os privilégios ou direitos definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional. Privilégios que afetam o próprio processo permitem que suas características possam ser alteradas, como prioridade de execução, limites alocados na memória principal e secundária, etc. Já os privilégios que afetam os demais processos permitem, além da alteração de suas próprias características, alterar as de outros processos.

64 Estrutura de um Processo Contexto de Software (Continuação) Privilégios (Continuação) Privilégios que afetam o sistema são os mais amplos e poderosos, pois estão relacionados à operação e à gerência do ambiente, como a desativação do sistema, alteração de regras de segurança, criação de outros processos privilegiados, modificação de parâmetros de configuração do sistema, entre outros. A maioria dos SOs disponibiliza uma conta de acesso com todos estes privilégios disponíveis, com o propósito de o administrador gerenciar o sistema operacional.

65 Estrutura de um Processo Espaço de Endereçamento O espaço de endereçamento é a área de memória pertencente ao processo onde instruções e dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos.

66 Estrutura de um Processo A figura a seguir mostra as características da estrutura de um processo. dono (UID) prioridade de execução data/hora de criação tempo de processador privilégios nome PID Contexto de Software Programa Espaço de Endereçamento registradores gerais Contexto de Hardware registrador PC registrador SP registrador de status Endereços de memória principal alocados

67 Estrutura de um Processo Bloco de Controle do Processo O processo é implementado pelo sistema operacional através de uma estrutura de dados chamada Bloco de Controle do Processo (Process Control Block PCB). A partir do PCB, o sistema operacional mantém todas as informações sobre o contexto de hardware, contexto de software e espaço de endereçamento de cada processo. Os PCBs de todos os processos ativos residem na memória principal em uma área exclusiva do sistema operacional.

68 Estrutura de um Processo Bloco de Controle do Processo O tamanho desta área, geralmente é limitado por um parâmetro do sistema operacional que permite especificar o número máximo de processos que podem ser suportados simultaneamente pelo sistema. Toda a gerência dos processos é realizada por intermédio de chamadas a rotinas do sistema operacional que realizam operações como criação, alteração de características, visualização, eliminação, sincronização, suspensão de processos, dentre outras.

69 Abaixo temos um exemplo de PCB. Estrutura de um Processo Bloco de Controle do Processo PCB Ponteiros Estado do processo Nome do processo Prioridade do processo Registradores Limites de memória Lista de arquivos abertos

70 Estados de um Processo Em um sistema multiprogramável, um processo não deve alocar exclusivamente a CPU, permitindo que exista um compartilhamento no uso do processador. Os processos passam por diferentes estados ao longo do seu processamento em função de eventos gerados pelo sistema operacional ou pelo próprio processo. Um processo ativo pode encontrar-se em três diferentes estados (depende do SO).

71 Criação Estados de um Processo É quando um processo está sendo criado. O processo fica neste estado enquanto todos os recursos iniciais para o seu processamento estão sendo alocados. Término É quando um processo chegou ao fim. O processo fica neste estado enquanto todos os seus recursos estão sendo liberados.

72 Estados de um Processo Execução (running) Um processo é dito no estado de execução quando está sendo processado pela CPU. Em sistemas com apenas uma CPU, somente um processo pode estar sendo executado em um dado instante de tempo. Os processos se alternam na utilização do processador seguindo uma política estabelecida pelo sistema operacional. Em sistemas com múltiplos processadores existe a possibilidade de mais de um processo ser executado ao mesmo tempo. Também é possível um mesmo processo ser executado simultaneamente em mais de uma CPU.

73 Pronto (ready) Estados de um Processo Um processo está no estado de pronto quando aguarda apenas para ser executado. O sistema operacional é responsável por determinar a ordem e os critérios pelos quais os processos em estado de pronto devem fazer uso do processador. Este mecanismo é conhecido como escalonamento. Em geral, existem vários processos no estado de pronto organizados em listas encadeadas.

74 Estados de um Processo Espera (wait) Um processo no estado de espera aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento. Como exemplo, podemos citar o término de uma operação de E/S ou espera de uma determinada data e/ou hora para continuar sua execução. Em alguns sistemas operacionais, o estado de espera pode ser chamado de bloqueado (blocked). O sistema organiza os vários processos no estado de espera também em listas encadeadas. Em geral, os processos são separados em listas de espera associadas a cada tipo de evento.

75 Estados de um Processo Diagrama de Transição de Estados Um processo muda de estado durante seu processamento em função de eventos originados por ele próprio (eventos voluntários) ou pelo SO (eventos involuntários). Abaixo temos as possíveis transições que um processo pode sofrer. Execução Término Espera Pronto Criação Residente na MP Não Residente na MP Swapping Espera Pronto

76 Estados de um Processo Transições Criação Execução Pronto Residente na MP Execução Execução Espera Residente na MP Espera Residente na MP Espera não Residente na MP Pronto não Residente na MP Pronto Residente na MP Pronto Residente na MP Término Execução Pronto Residente na MP Espera Residente na MP Pronto Residente na MP Espera não Residente na MP Pronto não Residente na MP Pronto Residente na MP Pronto não Residente na MP

77 Estados de um Processo Transições Criação Pronto Residente na MP A criação de um processo ocorre a partir do momento em que o sistema operacional adiciona um novo PCB à sua estrutura e aloca um espaço de endereçamento na memória para uso. A partir da criação do PCB, o sistema operacional já reconhece a existência do processo, podendo gerenciá-lo e associar programas ao seu contexto para serem executados. Execução Término Na eliminação de um processo, o processo é encaminhado ao estado de Término e em seguida todos os seus recursos são desalocados e o PCB eliminado pelo Sistema Operacional.

78 Estados de um Processo Transições Pronto Residente na MP Execução Após a criação de um processo, o sistema o coloca em uma lista de processos no estado de pronto, onde aguarda por uma oportunidade para ser executado. Cada Sistema Operacional tem seus próprios critérios e algoritmos para a escolha da ordem em que os processos serão executados (política de escalonamento). Execução Pronto Residente na MP Um processo em execução passa para o estado de pronto por eventos gerados pelo sistema, como término da fatia de tempo que o processo possui para sua execução. Nesse caso, o processo volta para a fila de pronto onde aguarda por uma nova oportunidade para continuar seu processamento.

79 Estados de um Processo Transições Execução Espera Residente na MP Um processo em execução passa para o estado de espera por eventos gerados pelo próprio processo, como operações de E/S, ou por eventos externos. Um evento externo é gerado, por exemplo, quando o sistema operacional suspende por um período de tempo a execução de um processo. Espera Residente na MP Pronto Residente na MP Um processo no estado de espera passa para o estado de pronto quando a operação solicitada é atendida ou o recurso esperado é concedido. Um processo no estado de espera sempre terá de passar pelo estado de pronto antes de poder ser novamente selecionado para execução. Não existe a mudança do estado de espera para o estado de execução diretamente.

80 Estados de um Processo Transições Espera Residente na MP Espera não Residente na MP Quando não existe espaço suficiente na memória principal para carregar um novo processo ou para aumentar a memória de um determinado processo, o SO envia algum processo do estado de espera para o disco em um mecanismo denominado Swap out. Dá-se preferência aos processos no estado de espera porque normalmente o tempo de permanência neste estado é longo. Espera não Residente na MP Pronto não Residente na MP Esta transição é a mesma apresentada para a situação de residente na memória principal. A única diferença é que como o processo está originariamente fora da memória principal, ele mudará de estado, indo para pronto, mas permanecendo fora da memória principal.

81 Estados de um Processo Transições Pronto não Residente na MP Pronto Residente na MP Quando o sistema percebe que já está chegando a vez deste processo ser executado, ele realiza a transferência do disco para a memória principal no procedimento chamado de Swap in. Se não houver memória principal disponível para receber o processo, um outro será retirado para liberar memória e então será feita a transferência. Pronto Residente na MP Pronto não Residente na MP No caso extremo de não haver memória disponível e todos os processos do estado de espera já estarem fora da memória principal, é feita então a retirada de um processo no estado de pronto.

82 Processos Independentes, Subprocessos e Threads Processos independentes, subprocessos e threads são maneiras diferentes de implementar a concorrência dentro de uma aplicação. Nesse caso, busca-se subdividir o código em partes para trabalharem de forma cooperativa. Considere um banco de dados com produtos de uma grande loja, onde vendedores fazem frequentemente consultas. Neste caso, a concorrência na aplicação proporciona um tempo de espera menor entre as consultas, melhorando o desempenho da aplicação e beneficiando os usuários.

83 Processos Independentes O uso de processos independentes é a maneira mais simples de implementar a concorrência em sistema multiprogramáveis. Neste caso, não existe vínculo do processo criado com o seu criador. A criação de um processo independente exige a alocação de um PCB, possuindo contextos de hardware, contextos de software e espaço de endereçamento próprios.

84 Processos Independentes A seguir temos um exemplo de processos independentes. Processo A Processo D Processo E Processos Independentes

85 Subprocessos Subprocessos são processos criados dentro de uma estrutura hierárquica. Nesse modo o processo criador é denominado processo-pai, enquanto o novo processo é chamado de subprocesso ou processo-filho. O subprocesso, por sua vez, pode criar outras estruturas de subprocessos. Uma característica desta implementação é a dependência existente entre o processo criador e o subprocesso.

86 Subprocessos Caso um processo pai deixe de existir, os subprocessos subordinados são automaticamente eliminados. De modo semelhante aos processos independentes, subprocessos possuem seu próprio PCB. Além da dependência hierárquica entre processos e subprocessos, uma outra característica neste tipo de implementação é que subprocessos podem compartilhar quotas com o processo pai. Neste caso, quando um subprocesso é criado o processo-pai cede parte de suas quotas ao processo-filho.

87 Subprocessos A seguir temos um exemplo de subprocessos. Processo A Processo A.1 Processo A.2 Processo A.1.1 Processo A.1.2 Subprocessos

88 Tipos de Processos CPU-Bound São processos que fazem uso intenso de CPU, realizando poucas operações de Entrada e Saída. (Ex: programas matemáticos, estatísticos, engenharia, física, etc). I/O Bound São processos que fazem uso intenso de Entrada e Saída, realizando poucos cálculos com a CPU. (Ex: editores de texto, planilhas eletrônicas, navegadores de Internet, clientes de , etc).

89 Threads O uso de processos independentes e subprocessos no desenvolvimento de aplicações concorrentes demanda consumo de diversos recursos do sistema. Sempre que um novo processo é criado, o sistema deve alocar recursos (contexto de hardware, contexto de software e espaço de endereçamento), consumindo tempo de CPU neste trabalho. No momento do término dos processos, o sistema operacional também dispensa tempo para desalocar recursos previamente alocados. Outro problema é a comunicação e sincronização entre processos consideradas pouco eficientes, visto que cada processo possui seu próprio espaço de endereçamento.

90 Threads O conceito de thread foi introduzido na tentativa de reduzir o tempo gasto em criação, eliminação e troca de contexto de processos nas aplicações concorrentes, bem como economizar recursos do sistema como um todo. Em um ambiente multithread, um único processo pode suportar múltiplos threads, cada qual associado a uma parte do código da aplicação. Neste caso, não é necessário haver diversos processos para a implementação da concorrência. Threads compartilham o processador da mesma maneira que um processo, ou seja, enquanto um thread espera por uma operação de E/S, outro thread pode ser executado.

91 Threads Cada thread possui seu próprio contexto de hardware, porém compartilha o mesmo contexto de software e espaço de endereçamento com os demais threads do processo. O compartilhamento do espaço de endereçamento permite que a comunicação de threads dentro do mesmo processo seja realizada de forma simples e rápida. A Pilha é uma área reservada para uso exclusivo. Não é permitido o compartilhamento da pilha entre as threads.

92 Threads Ambiente Monothreads Processo Thread Processo A Processo B Processo C Processo D Thread Thread Thread Thread

93 Threads Ambiente Multithreads Processo Contexto de Hardware Contexto de Hardware Contexto de Hardware Contexto de Software Thread 1 Thread 2 Thread 3 Espaço de Endereçamento

94 Threads Threads em Modo Usuário Threads em modo usuário (TMU) são implementados pela aplicação e não pelo sistema operacional. Para isso, deve existir uma biblioteca de rotinas que possibilite à aplicação realizar tarefas como criação/eliminação de threads, troca de mensagens entre threads e uma política de escalonamento. Neste modo, o sistema operacional não sabe da existência de múltiplos threads, sendo responsabilidade exclusiva da aplicação gerenciar e sincronizar os diversos threads existentes. A vantagem deste modelo é a possibilidade de implementar aplicações multithreads mesmo em sistemas operacionais que não suportam threads.

95 Threads Threads em Modo Usuário Utilizando a biblioteca, múltiplos threads podem ser criados, compartilhando o mesmo espaço de endereçamento do processo, além de outros recursos. TMUs são rápidos e eficientes por dispensarem acessos ao kernel do sistema operacional, evitando assim a mudança de modo de acesso.

96 Thread 0 Thread 1 Thread 2 Thread 3 Thread 4 Threads Threads em Modo Usuário Modo Usuário Biblioteca Kernel Modo Kernel

97 Threads Threads em Modo Kernel Threads em modo kernel (TMK) são implementados diretamente pelo núcleo do sistema operacional, através de chamadas a rotinas do sistema que oferecem todas as funções de gerenciamento e sincronização. O sistema operacional sabe da existência de cada thread e pode escaloná-los individualmente. No caso de múltiplos processadores, os threads de um mesmo processo podem ser executados simultaneamente. O grande problema para os threads em modo kernel é o seu baixo desempenho.

98 Threads Threads em Modo Kernel Enquanto nos threads em modo usuário todo tratamento é feito sem a ajuda do sistema operacional, ou seja, sem a mudança no modo de acesso, threads em modo kernel utilizam chamadas às rotinas do sistema operacional e, consequentemente, várias mudanças no modo de acesso.

99 Thread 0 Thread 1 Thread 2 Thread 3 Thread 4 Threads Threads em Modo Kernel Modo Usuário Kernel Modo Kernel

100 TMU 0 TMU 1 TMU 2 TMU 3 TMU 4 Threads Threads em Modo Híbrido Modo Usuário Biblioteca TMK 0 TMK 1 TMK 2 Kernel Modo Kernel

101 Threads Threads em Modo Híbrido O modo híbrido, apesar da maior flexibilidade, apresenta problemas herdados de ambas as implementações. Por exemplo, quando um TMK realiza uma chamada bloqueante, todos os seus TMUs são colocados no estado de espera. TMUs que desejam utilizar vários processadores devem utilizar diferentes TMKs, o que influenciará no desempenho.

102 Gerência do Processador

103 Definição Com o surgimento dos sistemas multiprogramáveis, nos quais múltiplos processos poderiam permanecer na memória principal compartilhando o uso da CPU, a gerência do processador tornou-se uma das atividades mais importantes em um sistema operacional. A partir do momento em que diversos processos podem estar no estado de pronto, critérios devem ser estabelecidos para determinar qual processo será escolhido para fazer uso do processador. O módulo do sistema operacional responsável por esta escolha é o escalonador.

104 Definição Execução Espera Pronto

105 Critérios de Escalonamento Utilização do Processador (CPU) É o tempo gasto pela CPU na execução dos processos do usuário. Na maioria dos sistemas é desejável que o processador permaneça a maior parte do seu tempo trabalhando nos processos do usuário. Throughput (Vazão) Throughput representa o número de processos encaminhados para execução (executados) em um determinado intervalo de tempo. Quanto maior o throughput, maior a alternância de processos em função do tempo. A maximização do throughput é desejada na maioria dos sistemas, porém aumenta o custo relacionado à troca de contexto.

106 Critérios de Escalonamento Tempo de Processador (CPU) ou Tempo de Burst ou Surto de CPU É o tempo total que um processo leva no estado de execução durante seu processamento, isto é, é o tempo de processamento necessário para completar a sua tarefa. As políticas de escalonamento não influenciam no tempo de processador de um processo, sendo este tempo função apenas do código da aplicação e da entrada de dados. Tempo de Espera É o tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado. A redução do tempo de espera dos processos é desejada pela maioria das políticas de escalonamento.

107 Tempo de Turnaround Critérios de Escalonamento É o tempo de existência de um processo, isto é, o tempo desde a sua criação até seu término. As políticas de escalonamento buscam minimizar o tempo de turnaround. Tempo de Resposta É o tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibida. Em sistemas interativos, podemos entender como o tempo decorrido entre a última tecla digitada pelo usuário e o início da exibição do resultado no monitor.

108 Escalonamento Não-Preemptivo e Preemptivo Não-Preemptivo Neste tipo de escalonamento, quando um processo está em execução, nenhum evento externo pode ocasionar a perda do uso da CPU. O processo somente sai do estado de execução caso termine seu processamento ou execute instruções do próprio código que ocasionem uma mudança para o estado de espera. Preemptivo Neste tipo de escalonamento o sistema operacional pode interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na CPU.

109 Operações de Entrada e Saída Preempção CPU IRQ INTA Número do Pino de IRQ BD Controlador de Interrupções IRQ INTA Clock do Sistema IRQ IRQ IRQ DT A Fatia de Tempo ou Quantum é um múltiplo do Clock do Sistema Q = n x DT; onde n é um número inteiro maior que zero.

110 FIFO ou FCFS (Não-Preemptivo) No escalonamento FIFO (first in, first out) também conhecido como FCFS (first come, first served), o processo que chegar primeiro ao estado de pronto é selecionado para execução. Sempre que chegar um processo no estado de pronto, ele é colocado no final da fila. Se um processo for para o estado de espera, o próximo da fila é escalonado. Quando um processo do estado de espera volta para o estado de pronto, este vai para o final da fila.

111 FIFO ou FCFS (Não-Preemptivo) Término Fila dos processos no estado de Pronto Criação Execução Espera

112 SJF (Não-Preemptivo) No escalonamento SJF (Shortest Job First Processo mais Curto Primeiro), o algoritmo de escalonamento seleciona o processo que tiver o menor tempo de processador (burst) ainda por executar. Dessa forma, o processo em estado de pronto que necessitar de menos tempo de CPU para terminar seu processamento é selecionado para execução. Uma implementação do escalonamento SJF com preempção é conhecida como escalonamento SRT (Shortest Remaining Time Menor Tempo Restante Primeiro). Nesta política, toda vez que um processo no estado de pronto tem um tempo de processador estimado menor do que o processo em execução, o sistema operacional realiza uma preempção substituindo-o pelo novo processo.

113 SJF (Não-Preemptivo) De modo semelhante ao SJF, o sistema operacional deve ser o responsável por estimar os tempos de processador dos processos, e o risco de starvation continua presente. Starvation Adiamento indefinido, isto é, a possibilidade do processo ser adiado indefinidamente, correndo o risco de nunca ser executado.

114 Cooperativo (Não-Preemptivo) O escalonamento cooperativo é uma implementação que busca aumentar o grau de multiprogramação em políticas de escalonamento que não possuam mecanismos de preempção. Neste caso, um processo em execução pode voluntariamente liberar o processador, retornando à fila de pronto e possibilitando que um novo processo seja escalonado, permitindo, assim, uma melhor distribuição no uso da CPU. A principal característica do escalonamento cooperativo está no fato de a liberação do processador ser uma tarefa realizada exclusivamente pelo processo em execução, que de uma maneira cooperativa libera a CPU.

115 Fila Circular ou Round Robin (Preemptivo) O escalonamento circular (round robin scheduling), é um escalonamento do tipo preemptivo, projetado especialmente para sistemas de tempo compartilhado. Esse algoritmo é bastante semelhante ao FIFO, porém quando um processo passa para o estado de execução existe um tempo limite para o uso contínuo do processador denominado fatia de tempo (time slice) ou quantum. No escalonamento circular, toda vez que um processo é escalonado para execução uma nova fatia de tempo é concedida. Caso a fatia de tempo expire, o sistema operacional interrompe o processo em execução, salva seu contexto e direciona-o para o final da fila de pronto. Este mecanismo é conhecido como preempção por tempo.

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

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

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

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

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

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador A partir do momento em que diversos processos podem

Leia mais

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

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO LABORATÓRIO DE SISTEMAS OPERACIONAIS PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO Sistemas Operacionais Conteúdo retirado de: SOsim: SIMULADOR PARA O ENSINO DE SISTEMAS OPERACIONAIS Luiz Paulo Maia

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

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

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

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

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof. Edmilson Marmo Moreira 4.1 Introdução Capítulo 4 Gerência

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 08 Processos Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais Funções: máquina virtual

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

Gerência de Processador

Gerência de Processador Gerência de Processador Prof. Edwar Saliba Júnior Junho de 2009 Unidade 03-003 Gerência de Processador 1 Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer

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

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

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Operacionais Estruturas de SO Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Estrutura do SO Chamadas ao Sistema Sistemas Monolíticos Sistemas em Camadas Sistemas Cliente-Servidor 2

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

Processos. Adão de Melo Neto

Processos. Adão de Melo Neto Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize

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

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

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

Gerência do Processador

Gerência do Processador Andrique Amorim www.andrix.com.br professor@andrix.com.br Gerência do Processador Desenvolvimento web II IMPORTANTE SABER Desenvolvimento web II DEADLOCK (interbloqueio, blocagem, impasse) Situação em

Leia mais

Sistemas Operacionais

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

Leia mais

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

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

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

Leia mais

Sistemas Operacionais 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 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais

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

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

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

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

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

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

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

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

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Multiprogramação Permite a execução de diversos processos concorrentemente Maior

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

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

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. Roteiro. Hardware. Marcos Laureano

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

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Prof. Ms. Márcio Andrey Teixeira A Caracterização dos Sistemas Funções do S.O Administração de Processos Administração da Memória Principal Administração do Armazenamento Secundário Administração

Leia mais

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

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

Leia mais

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

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

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

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

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 Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de

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

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

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

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

SISTEMAS OPERACIONAIS 1 SISTEMAS OPERACIONAIS Profª Josiane T. Ferri Licenciada em Computação prof.jositf@yahoo.com.br facebook.com/josiferri ESTRUTURA DO SISTEMA OPERACIONAL Embora a definição de níveis de privilégio imponha

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

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

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

ESTUDO DE CASO WINDOWS VISTA

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

Escalonamento no Linux e no Windows NT/2000/XP

Escalonamento no Linux e no Windows NT/2000/XP Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais GERÊNCIA DO PROCESSADOR MACHADO/MAIA: CAPÍTULO 08 Prof. Pedro Luís Antonelli Anhanguera Educacional Gerenciamento do Processador A gerência do processador pode ser considerada a atividade

Leia mais

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; CAPÍTULO VI THREADS 6.1 INTRODUÇÃO Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; O sistema operacional Toth, em 1979, foi o primeiro a implementar

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

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

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

Fundamentos de Sistemas Operacionais. Processos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 02-002 Processos

Fundamentos de Sistemas Operacionais. Processos. Prof. Edwar Saliba Júnior Março de 2007. Unidade 02-002 Processos Processos Prof. Edwar Saliba Júnior Março de 2007 1 Processos Programa em execução: processos do próprio sistema (SYSTEM no gerenciador de tarefas); processos do usuário; Sistemas multiprogramáveis: muitos

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

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

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

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

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

Leia mais

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

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

Gerência de Processador

Gerência de Processador Gerência de Processador mbientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Multiprogramação Torna mais eficiente o aproveitamento dos recursos computacionais

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

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

8 Threads. 8.1 Introdução

8 Threads. 8.1 Introdução 1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio

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

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

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

Sistemas Operacionais

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

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

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

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

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

Leia mais

Estrutura, Processos e Threads

Estrutura, Processos e Threads Estrutura, Processos e Threads Prof. Edwar Saliba Júnior Março de 2007 1 Sistema computacional A p l i c a t i v o s U t i l i t á r i o s N ú c l e o d o S i s t e m a O p e r a c i o n a l H a r d w

Leia mais

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos) 4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos) Para implementar o compartilhamento da CPU entre diversos processos, um sistema operacional multiprogramável deve possuir um critério para determinar,

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