Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Aulas GSO - 170 exerc?cios resolvidos de sistema operacional, Notas de estudo de Cultura

Sistema operacional

Tipologia: Notas de estudo

2016
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 27/05/2016

gerson-barbosa-de-sousa-8
gerson-barbosa-de-sousa-8 🇧🇷

4.4

(19)

73 documentos

Pré-visualização parcial do texto

Baixe Aulas GSO - 170 exerc?cios resolvidos de sistema operacional e outras Notas de estudo em PDF para Cultura, somente na Docsity! Bom dia, pessoal. Somos do 2º semestre de GTI(Gestão de Tecnologia da Informação) da FATECGUARATINGUETÁ Gostaria de solicitar a você que fez esse download que acesse nossas páginas para avaliarem nosso trabalho acadêmico sobre Fundamentos da Tecnologia da Informação. Não é vírus, trojan, cavalo de tróia ou coisa parecida, e não precisa comprar nada. Apenas visitar nossas páginas para avaliar nosso trabalho e se possível dar uma curtida no facebook. Valeu, galera?!?!?!?!? http://www.valeconnectivity.hol.es/ https://www.facebook.com/valeconnectivity/ https://plus.google.com/u/0/117943352555708139583 É nossa página no Google+ https://www.youtube.com/channel/UCakL3wfkBjQQRlsVIRq6yGQ Aula1 1) O que é um Sistema Operacional? Componente de software que faz a interface básica entre os programas do usuário e o computador, gerenciando itens como os recursos e periféricos (memória,, discos, arquivos, usuários, impressoras), segurança,, privilégios, comunicação e outros.. 2)Qual sua função? Gerenciar recursos e periféricos,, segurança, privilégios, comunicação e outros. 3)Cite 5 ou mais sistemas operacionais. R.windows, Linux, solaris, android, solaris,ios, openindiana. 4)Quais suas principais funções: a-Inicializar o hardware do computador; b- Fornecer rotinas básicas para controle de dispositivos; c- Fornecer gerência, escalonamento e interação de tarefas; d- Manter a integridade de sistema. 5)Faça a relação: a)Kernel (núcleo) b)Gerenciador de processo c)Scheduler (Escalonador) d)Gerenciador de arquivo ( )leitura e escrita dos arquivos em disco ( )controlar os outros módulos do SO ( )agendar a execução dos processos ( )gerenciar a execução dos processos 6)Em quantas partes um computador ou sistema computacional pode ser dividido? R= Em três componentes básicos: ➔Hardware: Parte física do computador ➔Software: Parte lógica do computador ➔Peopleware: Pessoas que utilizam o sistema computacional 7) O que vem a ser o Hardware?R-Todos os dispositivos utilizados em um computador a)Periféricos: Mouse, teclado,, impressoras,, monitor,, etc.. b)Componentes de processamento: CPU (Central Processing Unit), processador, barramentos, memórias. 9)O que vem a ser Software?R São todos os programas utilizados no computador. Ex.:Sistema Operacional, Editores de texto, Processadores de imagens, Gerenciadores de arquivos, Navegadores, etc. 10)O que vem a ser Peopleware? Quais suas funções?R-São os usuários dos computadores. Os usuários interagem com o computador através dos dispositivos de entrada e dos softwares e Fornecem dados, aguardam o processamento e recebem uma resposta. 11) Quais são as Unidades de informação conhecidas? R- Bits e bytes. 12)Faça a relação: a)Bit (Binary Diigit) b)Byte c)KiloByte d)ENIAC ( )Electronic Numerical Integrator and Computer ( )Menor unidade de dado (0 ou 1) ( )Corresponde a 1024 bytes ( )Corresponde a 8 bits 25) O que significa Sistemas Operacionais de Nós Sensores? R- Redes de nós sensores são redes que possuem inúmeros sensores e uma estação-base que se comunicam entre si. São utilizadas para proteção perimetral, detecção de incêndios, medição de temperaturas, meteorologia e outras. Os sensores são computadores pequenos movidos a bateria com rádios integrados 26) O que são processos? R- Basicamente um programa em execução. Cada processo possui um espaço de endereçamento. 27) O que são Espaços de endereçamento? R-É uma lista de posições de memória onde o processo pode ler e escrever. O espaço de endereçamento contém o programa executável, os dados e sua pilha. 28) Para que é utilizado o sistema de memória virtual? R- Para sanar o problema de um processo ter um espaço de endereçamento maior que a memória principal. 29) O que são dispositivos de Entrada e saída? R- Todos os dispositivos físicos conectados ao computador. Monitor, teclado, impressora, CD 30) Por que é tão necessária a Segurança dos sistema operacional? R- Contra Intrusos indesejáveis e Controle de vírus. 31) O que seria o Interpretador de comandos? R- O interpretador de comandos não faz parte do SO e é a principal interface entre o usuário e o SO. Oferece um prompt para o usuário, para que ele possa fornecer comandos a serem executados na máquina. Exemplos:bash (Unix),4DOS/4OS2/4NT (DOS, OS/2, Windows), csh (Unix), DCL (VMS), FreeCOM (FreeBSD), iSeries QSHELL (OS/400). 32) O que é System Call? R- é o mecanismo usado pelo programa para requisitar um serviço do Sistema Operacional e são as portas de entrada para se ter acesso ao núcleo do sistema operacional. 33).O que vem a ser Kernel? R-Núcleo ou cerne (em inglês: kernel) é o componente central do sistema operativo da maioria dos computadores; ele serve de ponte entre aplicativos e o processamento real de dados feito a nível de hardware. As responsabilidades do núcleo incluem gerenciar os recursos do sistema (a comunicação entre componentes de hardware e software). 34) Quais são grupos de funções as quais as System Calls são divididas? R- Gerência de Processos, de Memória, de Sinalização, de Arquivos, de Diretórios e Sistemas de Arquivos e Gerência de Tempo. 35) O que vem a ser Gerência de Processo? R- É a Criação e destruição de processos. Faz Alteração das características do processo, Sincronização e comunicação entre processos. Exemplos: Fork( ), Exit( ) 36) O que faz a Gerência de Memória? Responsável por alocar e desalocar espaçamentos de memória para um processo em execução e é Responsável pela limpeza de registros de memória não utilizados. 37) O que faz Gerência de Sinalização? Em alguns casos é necessário intervir na execução e funcionamento de um processo. Permite que se trate falhas - Kill( ) e Permite o gerenciamento de timeouts. Aplicações de tempo real - Alarm( ). Trata processos que dependem de alguma sinalização e Leitura de texto -- Pause( ). 38) O que faz a Gerência de Arquivos? Trata da criação,, leitura,, escrita e exclusão de arquivos. Exemplos: create(“file”) > Cria um arquivo com o nome “file” open( ) - Utilizada para abrir um arquivo para posterior leitura ou gravação e write( ) -> Escreve o conteúdo em um arquivo. 39) O que faz a Gerência de Diretório e Sistemas de Arquivos? Chamadas utilizadas para gerenciar diretórios ou sistemas de arquivos inteiros. Utilizado para montar dispositivos de leitura e gravação de dados. Exemplos: mkdir( ), rmdir( ), mount( ) 40) O que faz a Gerência de Tempo? R- Trata de eventos relacionados ao tempo. Exemplos: time( ) -> retorna hora date() -> retorna a data do sistema stime( ) -> permite que o super-usuário altere a hora do sistema utime( ) -> altera a data de criação/modificação de um arquivo Questionário GSO 1 - Em um sistema operacional Linux, o comando: "mv" server para copiar um arquivo "mkdir" serve para listar um diretório "cd" serve para acessar um diretório "admin" serve para verificar todos os administradores do sistema "echo" serve para exibir a diferença entre dois ou mais arquivos 10 - (FCC - TCE/AP) Na interação entre o sistema operacional e dispositivos de E/S: O driver de dispositivo é o programa que faz a comunicação direta entre a CPU e o dispositivo, por meio de envio e recebimento de comandos. A entrada e a saída podem ser realizadas de várias maneiras; na mais simples um programa de usuário emite uma chamada diretamente ao driver apropriado para iniciar o processo de E/S Um driver pode ser inserido no núcleo, por meio da execução do programa no espaço de usuário e, na sequência, do reinício do sistema operacional O driver, para ser usado, deve ser colocado dentro do sistema operacional para que seja executado em modo usuário Tudo o que os sistemas operacionais vêm é a interface do controlador, que pode ser muito diferente da interface para o dispositivo 11 - (FUNRIO - CEITEC 2012) Com relação ao gerenciamento de processos em um sistema operacional, marque a alternativa em que estão descritos os possíveis estados dos Processos Ativos. Pronto-Bloqueado- Terminado Pronto-Espera-Terminado Execução-Pronto-Terminado Execução-Espera-Terminado Execução-Pronto-Espera 12 - (ESAF - MF 2013) A tecnologia de virtualização permite que um único computador: Hospede até duas máquinas virtuais de particionamento, apenas tendo cada uma o mesmo sistema operacional Hospede múltiplas máquinas virtuais, cada uma com seu próprio sistema operacional Hospede apenas múltiplas máquinas virtuais de compartilhamento de compilação, cada uma com seu próprio sistema operacional de mesmo desempenho Hospede múltiplas máquinas virtuais, desde que cada uma tenha o mesmo sistema operacional Hospede apenas uma única máquina virtual, com diferentes sistemas operacionais 13 - (FCC - DPE-SP 2010) Os processos no sistema operacional que possuem um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU, caracterizam o escalonamento de processos do tipo SJF - Shortest Job First FCFS - First come, first served FIFO - First in, first out RR - Round-Robin SRT - Shortest Remaining Time (CESPE - INMETRO 2010) Diferentes algoritmos de escalonamento de CPU possuem diferentes propriedades e a escolha de um determinado algoritmo pode favorecer uma classe dos processos em detrimento de outra. Assinale a opção que apresenta um algoritmo capaz de produzir starvation. Prioridade Múltiplas filas com realimentação Round-Robin independentes Threads não podem ser escalonados pelo sistema operacional e nem rodar como entidades independentes dentro de um processo Cada thread tem seu próprio conjunto de registradores, mas todos eles compartilham o mesmo espaço de endereçamento, pois o processo é um só Mudanças feitas por um thread a um recurso compartilhado do sistema serão vistas por todos os outros threads 22 - (FCC - TRT 20ª Região 2010) Componente central do sistema operacional da maioria dos computadores. Serve de ponte entre aplicativos e o processamento real de dados feito no âmbito do hardware. Essa é a definição de: Microprocessador Software Sistema Boot Kernel 23 - (CESGRANRIO - CAPES 2008) Considere o seguinte conjunto de processos e a duração de execução de CPU expressa em milissegundos: Processo Duração de execução X 28 Y 4 Z 7 Se os processos chegam na ordem X, Y e Z, onde X chega no instante 0, qual o tempo de espera médio se os processos forem atendidos segundo o escalonamento FIFO (first in first out)? 10.6 20 13 14 12 24 - (CESPE - EBC 2011) Um sistema operacional é considerado monolítico quando o seu kernel é executado como vários programas. Certo Errado 25 - (CESPE - Correios 2011) Com relação às características e funções básicas de um sistema operacional, julgue o item seguinte. As principais funções do núcleo de um sistema operacional são as seguintes: tratamento de interrupções; criação, eliminação, sincronização e comunicação entre processos; gerência de memória e gerência de arquivos. Errado Certo 26 - (CESPE - TRT 21ª Região 2010) No âmbito de sistemas operacionais, diz-se que um processo está no estado caracterizado como pronto (ready) quando se encontra em condições de ser executado, mas tem de aguardar, uma vez que o processador está ocupado executando outro processo. Certo Errado 27 - (FCC - TCM-PA 2010) A tendência dos sistemas operacionais é tornar o núcleo menor e mais simples. A idéia de disponibilizar os serviços de gerência de processos, gerência de arquivos, gerência de memória etc. em processos no espaço do usuário, fora do núcleo, denomina-se Kernel monolítico Kernel híbrido Micro-kernel Pico-kernel Nano-kernel 28 - (FCC - TCM-PA 2010) A comunicação de uma aplicação com o subsistema de entrada e saída de um sistema operacional é estabelecida por meio de Shell System calls Device drivers Batch Scripting 29 - (CESPE - Banco da Amazônia 2010) Starvation ocorre quando um processo espera por um evento que nunca ocorrerá. Certo Errado 3 - Quais comandos exibem os processos no Linux? ls e df du e df ps e top df e top ps e df 30 - (FCC - TJ-PA 2009) Quando um sistema operacional permite a comunicação direta do usuário com o processo durante o seu processamento está executando um processo Backend Front-end Background I/O Bound Foreground 4 - Qual o comando utilizado para verificar em que diretório você se encontra? ls passwd cd pwd whoami 5 - Qual o comando utilizado para apagar um diretório vazio? mkdir ls rmdir mv cp 6 - Qual o arquivo utilizado para configurar as interfaces de rede do Linux Debian? /etc/network/interfaces /etc/init.d/networking /etc/networking/interfaces /etc/init.d/interfaces dmesg 7 - Qual o arquivo utilizado para configurar os repositórios utilizados pelo Linux Debian? /etc/apt/sources.list /etc/apt/apt.conf /etc/init.d/sources.list /etc/init.d/aptitude /etc/init.d/apt-get 8 - (FUNRIO - CEITEC 2012) Em um sistema operacional, um processo é formado por 3 partes: contexto do software, contexto do hardware e espaço de endereçamento. Marque a alternativa que possui uma informação que é encontrada na parte do contexto de software. PID Registrador PC Q.07) Indique qual opção é verdadeira em relação às UCP. A. UCP contemporâneas são monoescalares, ou seja, podem executar simultaneamente instruções diferentes em cada uma de suas unidades de execução B. UCP contemporâneas são multitarefa, ou seja, podem executar simultaneamente instruções diferentes em cada uma de suas unidades de execução C. UCP contemporâneas são superescalares, ou seja, podem executar instruções diferentes em todas as suas unidades de execução simultaneamente. D. UCP contemporâneas são superescalares, ou seja, podem executar simultaneamente instruções diferentes em cada uma de suas unidades de execução E. UCP contemporâneas são superescalares, ou seja, podem executar simultaneamente instruções diferentes em cada um de seus núcleos. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.08) Pressuponha que tenha sido criado um novo sistema operacional denominado Doors. O Doors não tem suporte a gerenciamento de usuários, pois somente o usuário Administrador pode realizar login no sistema. Doors é especialmente desenhado para executar um serviço de banco de dados desenhado para aplicações críticas em relação ao desempenho e que sejam executados em ambientes corporativos com milhares de usuários utilizando este serviço concorrentemente. Qual opção abaixo seria correta em relação a este sistema operacional? A. Não é economicamente viável por atuar em áreas onde já existem produtos com liderança de mercado e que dificilmente poderiam ser afetadas pela concorrência a este sistema operacional, seja em aplicações gerais ou em aplicações de nicho. B. É multiusuário, pois milhares de usuários podem utilizar seus serviços de forma concorrente C. É monotarefa, pois pode executar somente o banco de dados D. Não é economicamente viável por não suportar gerenciamento de usuários E. É monousuário, pois somente um usuário pode realizar login no sistema. Explanation Ser multiusuário ou monousuário é referente ao sistema como um todo e não aos serviços prestados pelo sistema. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.09) Qual destas opções NÃO é característica dos sistemas operacionais monoprogramáveis? A. Apenas um programa pode estar carregado na memória por vez. B. Processador, memória e periféricos podem ser alocados sem restrições ao programa em execução C. No fundo, todo sistema é monoprogramável, já que apenas uma tarefa pode ser alocada no processador a cada instante D. Não utiliza os recursos do computador de forma economicamente eficiente. E. É facilmente implementável. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.10) Qual opção abaixo NÃO é verdadeira em relação aos sistemas em nuvem? A. Recursos físicos e locais são convertidos em recursos virtuais escaláveis e disponíveis em alguma rede como a Internet B. Refere-se a qualquer sistema que utilize armazenamento de arquivos ou de aplicativos na Internet C. Recursos computacionais são dinamicamente alocados de forma tal que cada serviço disponha de condições suficientes para atender à demanda em cada momento. D. Combina SaaS (Software as a Service), PaaS (Platform as a Service), IaaS (Infrastructure as a Service) e dSaaS (Data Storage as a Service) E. São sistemas multiprocessador fracamente acopláveis com capacidade de reconfiguração dinâmica de recursos para atender a flutuações de demanda. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.11) O hardware dos computadores é projetado de forma a facilitar sua integração com os sistemas operacionais. Podemos dizer que a organização comum de um computador de uso geral seria. A. Uma ou mais UCP, controladores de dispositivos e adaptadores conectados por um barramento comum que fornece acesso a uma memória compartilhada B. Uma única UCP, controladores de dispositivos e adaptadores conectados por um barramento comum que fornece acesso a uma memória compartilhada C. Uma ou mais UCP, controladores de dispositivos e adaptadores conectados por um barramentos próprios e exclusivos a uma memória compartilhada D. Uma ou mais UCP, controladores de dispositivos e adaptadores. Cada um destes componentes tem sua própria memória e estas memórias são interligadas entre si por um barramento comum E. Uma ou mais UCP, controladores de dispositivos e adaptadores. Cada um destes componentes tem sua própria memória e estas memórias são interligadas às UCP por um barramento comum. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.12) Algumas instruções podem causar danos a processos de outros usuários ou ao sistema como um todo. Qual solução foi adotada para controlar o grau de risco destas instruções? A. Foram criados os filtros de pacotes (firewalls), que impedem a execução deste tipo de instruções B. Implementou-se um modo dual. O sistema opera normalmente em modo usuário, mas instruções potencialmente danosas são executadas em modo privilegiado, com maior nível de controle de hardware e software. C. Apenas administradores do sistema têm direitos que permitem execução de instruções potencialmente danosas D. Implementou-se um modo dual. O sistema opera normalmente em modo monitor, mas instruções potencialmente danosas são executadas em modo protegido, com maior nível de controle de hardware e software. E. O grau de risco é controlado nos sistemas operacionais com arquitetura de microkernel. Neles, cabe ao kernel controlar as inter-relações entre os componentes do sistema. Este controle é realizado com maior cuidado, uma vez que o kernel está livre de outras tarefas. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.13) Qual opção é verdadeira em relação à história do Unix? A. Foi desenvolvido no Bell Labs, da AT&T, em parceria com a G&E e o MIT, como uma versão do Multics B. É fruto de projeto meticulosamente planejado pela cúpula da AT&T para competir com o CTSS C. Seu projeto iniciou-se na Microsoft. Contudo, ela decidiu não continuar seu desenvolvimento por não acreditar que o Unix viesse a tornar-se um produto rentável. D. Foi desenvolvido no Bell Labs, da AT&T, em parceria com a Apple, como uma versão do Multics E. Foi desenvolvido no Bell Labs, da AT&T, como uma versão do Multics. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.14) Qual destas opções NÃO é característica dos sistemas operacionais multiprogramáveis? A. Vários programas podem estar carregados na memória simultaneamente. B. Enquanto um programa estiver executando tarefa de E/S, outro pode estar sendo executado no processador C. Recursos como memória e periféricos devem ser compartilhados entre os programas. D. No fundo, todo sistema é multiprogramável, já que diversos programas são carregáveis para a memória. E. Cabe ao sistema operacional a tarefa de gerenciar o acesso concorrente aos recursos compartilhados ----------------------------------------------------------------------------------------------------------------------------------------------- Q.15) A hierarquia dos dispositivos de armazenamento é formada da seguinte forma: 1. Registradores 2. Memória cache 3. Memória principal 4. Discos eletrônicos 5. Discos magnéticos 6. Discos óticos 7. Fitas magnéticas Qual das opções abaixo NÃO é verdadeira em relação à esta hierarquia? A. Os discos magnéticos devem ser trocados de posição com os discos óticos para que esta hierarquia seja corretamente representada B. Os dispositivos acima dos discos eletrônicos são voláteis e os abaixo deles são perenes. Os discos eletrônicos em si tanto podem ser voláteis como perenes C. Os quatro níveis superiores desta hierarquia são produzidos com semicondutores D. Os dispositivos têm maior disponibilidade de espaço quanto mais próximos estiverem da base da lista. E. Os dispositivos são tão mais rápidos quanto mais próximos estiverem do topo da lista. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.16) A história dos sistemas operacionais é repleta de casos de desencontros e posturas éticamente duvidosas. Qual das opções abaixo NÃO é verídica em relação a esta afirmação? A. A Apple aproveitou-se da falta de visão da Xerox e licenciou a Interface Gráfica que acabou sendo a raiz do sucesso de sua linha de computadores Macintosh B. A Microsoft aproveitou-se do fato de que a Digital Research vinha colocando obstáculos na negociação com a IBM para fornecimento de um sistema operacional para o PC e ofereceu uma solução que haveria de tornar- se o IBM-DOS. C. A Microsoft aproveitou-se do acordo de sigilo com a IBM para adquirir um sistema operacional da Seattle Computer Products, fornecendo-o posteriormente à própria IBM. D. A IBM aproveitou-se de um acordo de cooperação com a Microsoft para ter acesso privilegiado ao código- fonte do Windows NT e utilizá-lo no desenvolvimento do OS/2 E. A Microsoft utilizou-se de protótipos do Macintosh, fornecidos pela própria Apple para estudar a interface gráfica e incorporá-la ao DOS, sendo essa a raiz do Windows. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.17) Qual é a finalidade de uso de registradores nas UCP? A. Os registradores locais são utilizados para armazenar dados importantes e resultados temporários. Seu uso é conveniente pois o tempo de acesso à memória principal é muito menor do que o tempo de executar instruções. B. Os registradores locais são utilizados para armazenar dados importantes e resultados temporários. Seu uso é conveniente pois o tempo de acesso à memória principal é muito maior do que o tempo de executar instruções. C. Os registradores locais são utilizados para armazenar cópia de dados armazenados na memória principal. Seu uso é conveniente pois o tempo de acesso à memória principal é muito maior do que o tempo de executar instruções. D. Os registradores locais são utilizados para armazenar dados importantes e resultados temporários. Seu uso é conveniente pois o tempo de acesso à memória secundária é muito maior do que o tempo de executar instruções. E. Os registradores locais são utilizados para armazenar dados importantes e resultados temporários. Seu uso é conveniente pois o tempo de acesso à memória secundária é muito menor do que o tempo de executar instruções. ----------------------------------------------------------------------------------------------------------------------------------------------- Q.18) Programadores desenvolvem seus programas em Fortran ou Assembly e os registram em conjuntos de cartões perfurados. Os operadores agrupavam estes programas em lotes para execução em mainframes que custavam milhões de dólares. Este é um cenário típico de qual fase da história da informática? A. Primeira Geração (1945-1955) B. Segunda Geração (1955-1965) C. Terceira Geraçao (1965-1980) D. Quarta Geração (1980-atualidade) C. Escalonador de Curto Prazo D. Escalonador de Médio Prazo E. Microkernel ----------------------------------------------------------------------------------------------------------------------------------------------- Q.28) Por vezes é conveniente reduzir o grau de multiprogramação de um sistema removendo processos da Fila de Prontos ou das filas de espera de E/S e reduzindo a disputa por recursos como UCP. Qual parte do sistema operacional é responsável por esta tarefa? A. Escalonador de Longo Prazo B. Deadlock C. Escalonador de Curto Prazo D. Condição de Corrida E. Escalonador de Médio Prazo ----------------------------------------------------------------------------------------------------------------------------------------------- Q.29) Qual opção é correta sobre Mecanismos e Políticas na implementação de Sistemas Operacionais? A. Mecanismos indicam quais funcionalidades devem ser implementadas e Políticas determinam como implementar determinada funcionalidade B. Mecanismos determinam como implementar determinada funcionalidade e Políticas indicam quais funcionalidades devem ser implementadas C. Mecanismos e Políticas são sinônimos D. Políticas indicam como implementar os Mecanismos E. Mecanismos são a implementação de funcionalidades que não dependem de configuração do usuário e as Políticas são a implementação de funcionalidades que dependem da configuração do usuário ----------------------------------------------------------------------------------------------------------------------------------------------- Q.30) Se o resultado da execução de processamento de um conjunto de processos puder ser afetado pela ordem de execução de instruções de cada processo, estabelece-se uma situação denominada. A. Condição de Corrida B. Starvation C. Condição de Concorrência D. Condição de Cooper E. Situação complicada ----------------------------------------------------------------------------------------------------------------------------------------------- Q.31) O trecho do código-fonte de um programa que, ao ser executado, pode levar o sistema a uma Condição de Corrida é denominado? A. Seção de Entrada B. Seção Crítica C. Seção de Saída D. Seção Problemática E. Seção Restante ----------------------------------------------------------------------------------------------------------------------------------------------- Q.32) Um processo executa por algum tempo após receber autorização para ser alocado na UCP. O que NÃO pode ocorrer a este processo? A. Emitir requisição de E/S e ser colocado em fila de E/S B. Criar um subprocesso e esperar o término deste subprocesso C. Ser forçosamente removido e colocado de volta na fila de prontos D. Executar sua última instrução e terminar E. Selecionar qual processo deve ficar em seu lugar, trocando de posição com este processo ----------------------------------------------------------------------------------------------------------------------------------------------- Q.33) Qual opção NÃO é verdadeira em relação a Máquinas Virtuais? A. Para implementá-las utiliza-se o escalonamento de UCP e memória virtual para criar a ilusão de que um processo tem seu próprio processador, memória e outros recursos. B. Os processos recebem uma interface idêntica a um determinado hardware C. A Máquina Virtual precisa implementar modos usuário e monitor e ambos precisam ser executados no modo usuário do sistema hospedeiro D. Não traz, inerentemente, riscos de segurança ao sistema hospedeiro, por ser completamente isolada E. Ele oferece ao sistema virtualizado exclusivamente um subconjunto do hardware do sistema hospedeiro ----------------------------------------------------------------------------------------------------------------------------------------------- Q.34) Os estados genéricos de um processo são: A. Novo, Executando, Esperando e Terminado B. Novo, Executando, Esperando, Pronto e Terminado C. Novo, Executando, Stand By, Pronto e Terminado D. Transição, Executando, Esperando, Pronto e Terminado E. Novo, Executando, Esperando, Pronto e Zumbi ----------------------------------------------------------------------------------------------------------------------------------------------- Q.35) Os dois modelos fundamentais de comunicação entre processos são: A. Troca de Mensagens e Semáforos B. Memória compartilhada e Troca de Mensagens C. Semáforos e Seção Crítica D. Memória compartilhada e Seção Crítica E. Memória compartilhada e Monitores ----------------------------------------------------------------------------------------------------------------------------------------------- Q.36) Diversos processos podem entrar em um estado no qual todos estão esperando por um evento que nunca acontecerá, por depender de outro processo que está no mesmo estado. Esta situação é conhecida como A. Comboio B. Starvation C. Situação de Corrida D. Terminação em Cascata E. Deadlock ----------------------------------------------------------------------------------------------------------------------------------------------- Q.37) Podemos dizer que um processo é composto por quais partes? A. Contexto de Software, Contexto de Hardware, Espaço de Endereçamento e Seção de Texto B. Contexto de Software e Hardware, Espaço de Endereçamento e Seção de Texto C. Contexto de Software, Espaço de Endereçamento e Seção de Texto D. Contexto de Software, Contexto de Hardware e Seção de Texto E. UCP, memória e controladores de dispositivos ----------------------------------------------------------------------------------------------------------------------------------------------- Q.38) Qual opção é verdadeira em relação à história do Unix? A. Foi desenvolvido no Bell Labs, da AT&T, em parceria com a G&E e o MIT, como uma versão do Multics B. É fruto de projeto meticulosamente planejado pela cúpula da AT&T para competir com o CTSS C. Seu projeto iniciou-se na Microsoft. Contudo, ela decidiu não continuar seu desenvolvimento por não acreditar que o Unix viesse a tornar-se um produto rentável. D. Foi desenvolvido no Bell Labs, da AT&T, em parceria com a Apple, como uma versão do Multics E. Foi desenvolvido no Bell Labs, da AT&T, como uma versão do Multics ----------------------------------------------------------------------------------------------------------------------------------------------- Q.39) Ao dividir a memória em blocos de tamanho fixo (quadros) e dividir a memória lógica (espaço de endereçamento de processos) em blocos do mesmo tamanho (páginas) e permitir que as páginas sejam carregadas em quaisquer quadros disponíveis, estaremos implementando A. Memória Virtual B. Journaling C. Paginação de Memória D. Enquadramento de memória E. Memória Cache ----------------------------------------------------------------------------------------------------------------------------------------------- Q.40) Desconsiderando o tempo no qual um processo fica na Fila de Pronto, ele alterna entre duas formas de operação: ele começa com um(a) ______ que é seguido por um(a) ______. Qual opção abaixo preenche correta e respectivamente estas lacunas? A. Surto de UCP; Surto de E/S B. Seção Crítica; Condição de Corrida C. Estado novo; Estado rodando D. Surto de E/S; Surto de UCP E. Condição de Corrida; Starvation ----------------------------------------------------------------------------------------------------------------------------------------------- Q.41) Qual opção é correta sobre Mecanismos e Políticas na implementação de Sistemas Operacionais? A. Mecanismos indicam quais funcionalidades devem ser implementadas e Políticas determinam como implementar determinada funcionalidade B. Mecanismos determinam como implementar determinada funcionalidade e Políticas indicam quais funcionalidades devem ser implementadas C. Mecanismos e Políticas são sinônimos D. Políticas indicam como implementar os Mecanismos E. Mecanismos são a implementação de funcionalidades que não dependem de configuração do usuário e as Políticas são a implementação de funcionalidades que dependem da configuração do usuário ----------------------------------------------------------------------------------------------------------------------------------------------- Q.42) Quando a UCP estiver disponível ela será alocada ao processo que tiver menor previsão de duração do próximo surto de UCP, caso o sistema operacional esteja utilizando um algoritmo de escalonamento A. Múltiplas Filas B. SJF C. FIFO D. Round Robin E. FCFS ----------------------------------------------------------------------------------------------------------------------------------------------- Q.43) O bloqueio indefinido (ou ______) é um problema que pode ocorrer com a implementação de algoritmo de escalonamento ______. Isso efetivamente ocorreu entre 1967 e 1973, em um IBM 7094 do MIT. Uma solução para este tipo de problema é a implementação de técnica de ______ A opção que preenche correta e respectivamente as lacunas é A. aging; SJF; starvation B. starvation; FIFO; comboio C. starvation; por prioridade; aging ou envelhecimento D. deadlock; múltiplas filas;aging E. deadlock; por prioridade; aging ou envelhecimento ----------------------------------------------------------------------------------------------------------------------------------------------- Q.44) Cada processo é representado no sistema operacional por um(a) ______. Ele(a) contém muitos dados sobre um processo específico, incluindo cópias dos registradores. Qual opção completa corretamente esta lacuna? A. Thread B. Contexto de Hardware C. UCP D. PCB E. Vetor ----------------------------------------------------------------------------------------------------------------------------------------------- SJF. Este algoritmo é o Round Robin ou algoritmo circular. Esta expressão pode estar incorreta. Qual opção abaixo é correta sobre ela? A. O nome da fatia de tempo não é quantum, mas "time fatting" B. O algoritmo ao qual o Round Robin assemelha-se é o FIFO, não o SJF C. O outro nome para o algoritmo Round Robin é algoritmo triangular D. O algoritmo ao qual o Round Robin assemelha-se é o FCFS, não o SJF E. Round Robin não é um algoritmo preemptivo ----------------------------------------------------------------------------------------------------------------------------------------------- Q.55) Qual das opções abaixo indica um algoritmo de substituição de páginas de memória de implementação viável? A. Ótima B. Alocação Russa C. FCFS D. SJF E. LRU ----------------------------------------------------------------------------------------------------------------------------------------------- Q.56) O mais simples dos algoritmos de escalonamento é o que escalona o processo que estiver a mais tempo aguardando na Fila de Prontos. Esse algoritmo é o A. SJF B. Múltiplas Filas C. FIFO D. Round Robin E. FCFS ----------------------------------------------------------------------------------------------------------------------------------------------- Q.57) O efeito comboio é um problema que pode ocorrer com qual algoritmo de escalonamento de processos? A. FCFS B. SJF C. Round Robin D. FIFO E. Na verdade, o efeito comboio pode ocorrer em um algoritmo de substituição de páginas ----------------------------------------------------------------------------------------------------------------------------------------------- Q.58) Quando ocorre um(a) ______, o kernel salva o contexto de um processo que estava rodando no PCB e carrega o contexto salvo do processo escalonado. Qual opção preenche corretamente esta lacuna? A. troca de contexto B. escalonamento de longo prazo C. substituição de página D. deadlock E. troca de mensagens ----------------------------------------------------------------------------------------------------------------------------------------------- Q.59) O desempenho do algoritmo de escalonamento Round Robin depende do tamanho do quantum (______). Se o quantum for extremamente ______, o Round Robin decairá no algoritmo ______. Se ele for muito ______, a técnica será chamada ______ e cada um dos n processos terá a impressão de ter um processador à sua disposição, embora mais lento do que o real. Qual opção abaixo preenche correta e respectivamente estas lacunas? A. fatia de tempo; pequeno; FCFS; grande; compartilhamento de memória B. fatia de tempo; grande; FCFS; pequeno; Solução de Peterson C. time fatting; pequeno; FCFS; grande; compartilhamento de processador D. seção crítica; grande; SJF; pequeno; compartilhamento de memória E. fatia de tempo; grande; FCFS; pequeno; compartilhamento de processador ----------------------------------------------------------------------------------------------------------------------------------------------- Q.60) Diversos processos podem entrar em um estado tal no qual os processos continuam executando, mas nenhum deles apresenta progresso na execução. Este estado é denominado A. Deadlock B. Starvation C. Comboio D. Situação de Corrida E. Terminação em Cascata E aí, clicou?? ?!?!?!?!? https://plus.google.com/u/0/11794335255570813958 Essa é nossa página no google+ http://www.valeconnectivity.hol.es/ https://www.facebook.com/valeconnectivity/ https://www.youtube.com/channel/UCakL3wfkBjQQRlsVIRq6yGQ Lista de exercícios Sistemas Operacionais Resolvida 1. Os serviços e funções oferecidas por um sistema operacional podem ser divididas em duas categorias. Descreva brevemente as duas categorias e discuta como elas se diferem. Conveniência Execução de programas Operações de I/O Sistema de arquivos Detecção de erros Eficiência Alocação de recursos Proteção Contabilizações 2. Liste 5 (cinco) serviços, oferecidos por um sistema operacional, que são projetados para tornar o sistema de computação mais conveniente para os usuários. Gerenciamento de processos, criação, fechamento, escalonamento, prioridades e comunicação entre eles. Gerenciamento da memória principal: Alocação, desalocação, proteção e abstração da memória virutal. Gerenciamento dos sistemas de I/O. Conexão em rede: Conexão com os dispositivos e implementação dos protocolos de rede. Sistema de proteção (autorização a usuários). Implementação de sistema de arquivos. 3. O que são System Calls, cite 4 exemplos. Constituem uma interface entre o processo e o sistema operacional. Exemplos: Inicia ou finaliza processo Altera atributos dos processos Espera sinal Abre ou fecha arquivo Lê relógio do sistema Envia ou recebe mensagens 4. Os sistemas operacionais podem ser construídos de diferentes maneiras. Descreva as principais arquiteturas existentes. Do ponto de vista de projeto (arquitetura), segundo Tanenbaum (1999): * Núcleo monolítico ou monobloco: o núcleo consiste em um único processo executando numa memória protegida executando as principais funções. * Micronúcleo ou modelo cliente-servidor: o núcleo consiste de funções mínimas (comunicação e gerenciamento de processos), e outras funções, como sistemas de arquivos e gerenciamento de memória, são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes. 5. Descreva as ações tomadas pelo kernel para fazer a troca de contexto entre processos. A troca de contexto exige que o estado do processo antigo (a sair do processamento) seja Ocorre quando um processo depende de um recurso e seu acesso é negado perpétuamente. Sem este recurso o processo não pode terminar sua tarefa. 14. O que é um deadlock? Mostre um um algoritmo que pode entrar em deadlock. Ocorre quando, um processo (ou mais) está em posse de um recurso não compartilhado e esperando por outro recurso em posse de outro processo que também aguarda um recurso. Essa espera pode ser do processo anterior ou outro processo de forma que feche um ciclo. E conseqüentemente estes processos não sofrem preempção. 15. Quais dos seguintes algoritmos de escalonamento podem levar a "starvation" e porque? a) First-come, Fist-served Pode ocorrer inanição (starvation), se o primeiro processo (que chega primeiro) da fila for longo. Então o tempo de espera médio de todos os outros processos será muito grande. b) Shortest job first É o algoritmo ótimo (do ponto de vista computacional) no tempo de espera. O maior tempo de espera será o processo com maior pico de CPU. c) Round Robin Depende exclusivamente do tamanho do quantum da CPU. Se for muito grande será equivalente a FCFS, mas se for pequeno será a sensação de dividir a CPU pelo numero de processos. d) Priority Um processo que esteja pronto para executar, mas não tennha a posse da CPU pode ser considerado bloqueado. Um algoritmo por prioridades pode deixar alguns processos de baixa prioridade esperando indefinidamente pela CPU. 16. Que técnica é usada para evitar que um processo em um algoritmo de escalonamento por Multilevel Feedback-Queue nunca execute? Define-se que os processos que estão esperando por muito tempo na fila de menor prioridade são promovidos com maior prioridade. 17. O que deve ser considerando ao escrever um algoritmos de escalonamento em um sistema SMP? Primeiramente deve ser considerado que os processadores são idênticos (ou homogêneos), esta diferença mudaria toda a abordagem. Depois pode-se criar uma fila de processos para cada processador, ou se for uma fila deve se evitar que 2 processadores peguem o mesmo processo ou que algum processo se perca da fila. 18. Explique como funcionava o escalonador de prioridades no Kernel Linux (de 2.6 até 2.6.23) Escalonador por prioridade dinâmica. Heurística para dizer se o processo é IO bound, CPU bound ou interativo. Quantum varia durante o tempo e processos. É O(1) Todo processo tem prio estática entre 100 e 139 e dinâmica entre 100 e 139 (menor valor é maior prioridade) Quantum base é => Prio_estat > 120 ? (140-Prio_estat)*20 : (140-Prio_estat) * 5 Prioridade dinâmica => max(100, min(prio_estat – bonus + 5, 139)) 19. Explique o algoritmo de escalonamento Completely Fair Scheduler que atualmente é utilizando no kernel Linux. Não tem 1 fila, Dividir n CPU's entre os processos igualmente linha do tempo de execução Redblack tree O(log(n)) Relógio preciso de nano segundos Relógio para incrementar este tempo baseado no wallclock / núm de processos esperando para executar Quando executa decrementa waiting time Prioridade → padrão do decaimento do waiting time 20. Mostre como funciona a solução de alternância estrita. Explique qual é sua limitação na prática. Esta é uma solução a qual obriga que a região crítica seja dada a um dos processos por vez, em uma estrita alternância. O problema com a solução de alternância estrita é que requer que os dois processos se alternem precisamente, o que significa que o número de acessos de cada processo deve ser exatamente igual ao do outro. Além disso pode acontecer de um dos processos não poder prosseguir normalmente. Pois após entregar a seção crítica para o outro processo não pode mais pedi-la novamente. 21. O que é o problema da Região Crítica? Mostre um exemplo onde não tratá-lo poderia levar a um erro. Região crítica é um segmento de código que enquanto está em execução não é permitido a nenhum outro processo sua execução ao mesmo tempo. Pode ser a operação em tabelas, arquivos e assim por diante. 22. Mostre e explique o funcionamento da solução de Peterson. O algoritmo de Peterson é um algoritmo de programação concorrente para exclusão mútua, que permite a dois ou mais processos ou subprocessos compartilharem um recurso sem conflitos, utilizando apenas memória compartilhada para a comunicação (Wikipedia). flag[0] = 0; flag[1] = 0; turn; P0: flag[0] = 1; turn = 1; while (flag[1] == 1 && turn == 1) { // busy wait } // critical section ... P1: flag[1] = 1; turn = 0; while (flag[0] == 1 && turn == 0) { // busy wait } // critical section perda de espaço, causa perda de desempenho, já que teremos áreas vazias entre os arquivos armazenados nos discos magnéticos. 2. Dadas partições de memória de 100KB, 500KB, 200KB, 300KB e 600KB (em ordem), como cada um dos algoritmo: Fist-fit, best-fit e worst-fit, alocariam processos de 212Kb, 417Kb, 112KB e 426KB? Qual dos algoritmos faria o uso mais eficiente de memória. First Fit acomoda espaço na memória pelo começo da memória disponível até o fim, até encontrar o primeiro espaço livre que seja grande o suficiente. Se não retorna erro. Best Fit tenta determinar o melhor lugar para alocar os dados. A definição de melhor varia nas implementações, mas por exemplo pode ser escolhido o espaço que deixaria menor resíduo no final do bloco. Worst Fit. O algoritmo seleciona o maior espaço possível que a informação pode ser armazenada (maior que a informação). É o completamente oposto do best-fit que procura o menor espaço possível. 3. Explique os seguintes algoritmos para substituição de páginas (page replacement): FIFO, Optimal e LRU. No caso do LRU, você deve explicar quais são as políticas de aproximação para o LRU. FIFO é uma fila normal onde o primeiro que entra é o primeiro que sai. É simples e tem desempenho ruim (pode aumentar o paginamento com aumento de memória o que é absurdo) Optimal: Quando uma página precisa ser trocada, o sistema operacional troca a página que o seu próximo uso será num futuro distante. Por exemplo, uma página que não será usada nos próximos 6 segundos será trocada por uma página que será usada em 0.4 segundos. LRU: Quando uma página é usada é marcada como referenciada. Em certo momento por interrupção de relógio, atribui-se a página os bits de não referenciados. Então divide-se a página em 4 classes, referenciado ou não e modificado ou não. 4. Como funciona o mapeamento de arquivos em memória, qual a vantagem de utilizar esse modo de acesso. É o mapeamento de um arquivo como se fosse um array em memória. É eficiênte porque utiliza leitura preguiçosa só lendo os dados que realmente precisam ser lidos. No Posix pode ser feito por mmap() 5. O que é o modo de alocação de memória "Buddy System". Qual a sua desvantagem? O modo de alocação Buddy System divide a memória em pedaços com tamanho potência de 2. Existe um limite superior (maior bloco que pode ser alocado) e inferior (menor bloco que pode ser alocado). Quando é feita uma requisição arredonda-se o tamanho requisitado e se o tamanho é maior que a metade do bloco inicial então o bloco inteiro é alocado. Senão o bloco é dividido em dois "buddies" e assim recursivamente. O método de liberar a memória é eficiente e relativamente rápido. Tipicamente é implementado por uma árvore binária que representa blocos usados e não usados. Contudo ainda existem problemas de fragmentação interna. 6. O que é o mecanismo de alocação chamado SLAB? A idéia fundamental por trás do SLAB é baseada na observação de que alguns objetos do kernel são frequentemente criados e destruídos e após isso nunca mais são necessários. Isso implica que cada alocação de memória para estes objetos as vezes custa uma busca best-fit. E ainda a desalocação do espaço de memória após a destruição do objeto causa fragmentação. Na implementação do SLAB existe cache e uma estrutura Slab que pode ser empty, partial, full. Como ele aloca somente o espaço necessário a fragmentação interna não existe. 7. O que é o Overcommit de memória? Overcommit de memória é uma função do kernel que permite alocar mais memória do que realmente é disponível. A idéia por de trás dessa funcionalidade é de que alguns aplicativos alocam mais espaço que precisam, mas nunca usam. Isso permite que se rode mais aplicativos que cabem na memória, mas ele não podem usar a memória, caso isso aconteça estes aplicativos são fechados. 8. Qual a relação entre o espaço de endereçamento virtual e utilização da memória física? O endereçamento virtual agrega tando endereços armazenados em memória secundária quando endereços resididos na memória ram. 9. O que significa dizer que a memória virtual de um processo é 50MB, a memória residente 20MB e a memória compartilhada 10MB. Significa que 20 mb estão na memória RAM, e 10 mb é compartilhado com outro processo por ter gerado (ou sido gerado) por um Fork e estas páginas não sofreram escrita ainda. 10. Quais as vantagens e desvantagens de guardar o nome do programa criador junto aos atributos do arquivo? Vantagem: Livra o sistema operacional de saber com qual aplicativo deve ser aberto o arquivo, facilita também a vida do usuário por ter acesso rápido e simples a leitura e edição do arquivo. Desvantagem: Um terceiro pode alterar o arquivo para apontar para um programa mal intencionado. 11. Na semântica de sistema de arquivos do Unix o que acontece quando um arquivo que está aberto é removido? Ele não ficará mais acessível aos programas que quiserem o acessar logo após o momento de remoção. Porém continuará acessível por aqueles programas que já estavam com o arquivo aberto no momento da remoção. Para cada arquivo o file system mantem um contador que indica quantos procesos o estão usando, quando é removido o arquivo se o contador não for 0 é apagado somente o acesso ao mesmo, mas o arquivo é mantido no disco até que todos os processos se encerrem. 12. No NFS (Network File System) o que é o "Silly Rename"? Porque surgem os arquivos .nfsXXXXXX ? (Segundo NFS FAQ) Aplicações em Unix geralmente criam arquivos de rascunho e removem sua ligação. Quando fazem isso o arquivo passa a não ser visível no sistema de arquivos para quando a aplicação fechar o arquivo este ser removido. Conhecido como "delete on last close", é comum em aplicações Unix. Pela forma como o NFS foi especificado, não existe maneira de apagar o arquivo do sistema, o deixando disponível para aplicações. O que o NFS faz é emular este comportamento renomeando o arquivo para algo como ".nfsXXXXX". que esconde o arquivo para seu uso. Isso é conhecido como "silly rename." Após o fechamento do processo o arquivo é apagado. Ou fica residual em caso de crash da aplicação. O NFS é stateless, e não sabe quais arquivos estão sendo utilizados, assim pra manter compatibilidade com os programas linux (onde um arquivo aberto pode ser excluído sem problemas) ele renomeia o arquivo e deixa ele oculto, quem estava com o arquivo aberto continua lendo deste .nfsX 13. Sobre métodos de alocação de espaço, responder: a) Como funciona a alocação de espaço contígua? Que problemas apresenta? Cada arquivo ocupa um conjunto de blocos contíguos no disco. Somente é necessário armazenar a localização inicial (número do bloco) e o tamanho do arquivo (quantidade de blocos). Pode ser feito mapeamento de endereço lógico para o físico, mas os arquivos não podem crescer. A alocação de espaço contígua requer que cada arquivo ocupe um conjunto de blocos dados reais). O último ponteiro conteria o endereço de um bloco indireto triplo. 14. Considere um sistema com i-nodes com 15 ponteiros. Nestes i-nodes os 12 primeiros são usados para alocação direta; o 13 ponteiro para alocação simples indireta; o 14 para alocação dupla indireta e o 15 para alocação tripla-indireta. Considere ainda que cada bloco tem 512Kb. Como ficaria a estrutura de inodes para armazenar um arquivo de 129024 bytes (252 blocos)? Pra salvar um arquivo de 252 blocos, no caso, seria os primeiros 12 blocos do primeiro i-node ocupado, depois mais 15 blocos do i-node nível 1. Depois vem o i-node de nível 2, que ficaria os quinze níveis dele apontando cada um para um inode distinto, e cada i-node destes teria 15 blocos; Ou seja, mais 225 blocos, e totalizando 242 blocos, faltam 10. O i-node de nível 3 apontaria para um de nível dois, que usaria apenas um de seus apontadores, pra um de nível 1, que salvaria 10 blocos nele. [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> 1 bloco [] -> [] x15-> 12 blocos [] -> [] x15-> [] x15 -> 225 blocos [] -> [] x1 -> [] x1 -> [] x10 -> 10 blocos No total você ocuparia 268 i-nodes 15. Qual a diferença de simbolic links e hard links? E como é a implentação de cada um? Como é feito o controle de remoção de arquivo em cada caso? Existem dois conceitos de "links" no Unix, usualmente nomeadas de symbolic link e hard link. Um hard link é exatamente um nome para o arquivo (E um arquivo pode ter vários nomes. Aquilo só é apaguado do disco somente quando o último nome é removido.) Um symlink é totalmente diferente: é um pequeno arquivo especial que contém o nome de caminho. Assim, a ligação fraca pode apontar arquivos em diferentes sistemas de arquivos (talvez NFS montadas de diferentes máquinas), e não precisa de ponto para o arquivo existente atualmente. Quando acessado (com a chamada de sistema open ou stat, uma referência para o symlink é substituída pelo kernal do sistema operacional com uma referência para o arquivo nomeado no nome de caminho. (De qualquer forma, com rm ou unlink a ligação é removida, não o arquivo que ela aponta). 16. Considere um sistema onde o espaço livre é gerênciado por uma lista de espaço livre. Suponha que o ponteiro para a lista de espaços-livres foi perdido. Esta lista pode ser reconstruída? Explique sua resposta. Uma possível solução seria veirificar todos os blocos utilizados pelos diretórios/arquivos/sistema e considerar os outros como livres. Deve-se pensar no fato de que ao um arquivo ser deletado, não necessariamente os dados que ele tem são deletados nos blocos (geralmente que eu saiba não, é apenas deletado a ligação para ele). Então a solução de percorrer por todos os blocos e pegar os livres não funciona. 17. Quais são os métodos para gerênciamento de espaço livre em disco? - Vetor de Bits (bitmap) Cria um vetor onde cada posição corresponde a um bloco do disco, e possui valor 0 para livre e 1 para ocupado. Vantagem: simplicidade e eficiência para encontrar o primeiro bloco livre. Desvantagem: ineficiente ao menos que sejam mantido na memória principal (senão fica muito custoso o acesso repetidamente ao disco) e ocupa muito espaço - Lista Encadeada Desvantagem:para varrer a lista é preciso ler cada bloco -Vetor de bits: A lista de espaço livre é implementada como um mapa de bits ou um vetor de bits. Cada bloco é representado por 1 bit. Se o bloco estiver livre o bit será 1; se o bloco estiver alocado o bit será 0. A principal vantagem é que é relativamente simples e eficiente encontrar o primeiro bloco livre, ou n blocos livres consecutivos no disco. Mas são ineficientes a não ser que todo o vetor seja mantido na memória principal. -Lista Encadeada: Encadear todos os blocos de disco livres, mantendo um ponteiro ao primeiro bloco livre em uma posição especial no disco e armazenando-os em cache na memória. Esse primeiro bloco contém um ponteiro ao próximo bloco livre de disco, e assim por diante. Não é eficiente, para percorrer a lista, precisamos ler cada bloco, o que requer tempo substancial de I/O. -Agrupamento: Armazena os endereços de n blocos livres no primeiro bloco livre. Os primeiros n-1 desses blocos estão realmente livres. O bloco final contém os endereços de outros n blocos livres, e assim por diante. Assim os endereços de um grande número de blocos livres podem ser rapidamente encontrados. -Contadores: Em vez de manter uma lista de n endereços de disco livres, mantêm o endereço do primeiro bloco livre e o número n de blocos contíguos livres que seguem esse primeiro bloco. Cada entrada na lista de espaço livre consiste então em um endereço de disco e um contador.Embora cada entrada exija mais espaço que um endereço de disco simples, a lista global fica mais curta. Aproveita o fato de que em geral vários blocos contíguos podem ser alocados ou liberados simultaneamente. 18. Quais as estapas de um checkagem de consistência de um file system? A verificação de consistência compara os dados na estrutura de diretório com os blocos de dados no disco e tenta corrigir quaisquer inconsistências encontradas. Os algoritmos de alocação e gerência de espaço livre determinam os tipos de problemas que o verificador poderá encontrar e qual será a taxa de sucesso na correção desses problemas. Um possível teste é verificar no número de hardlinks apontando para o inode. 19. Como funcionam os sistema de arquivos baseados em Journaling? Quais suas vantagem? O que tentam garantir? Um sistema de arquivos com journaling dá permissão ao Sistema Operacional de manter um log (journal), de todas as mudanças no sistema de arquivos antes de escrever os dados no disco. Normalmente este log é um log circular alocado em uma área especial do sistema de arquivos. Por ser mais bem localizado em espaço menor costuma ter melhor desempenho ele serve uma sequência de requisições da fila ordenada. Nos dois casos, o escalonador também serve uma sequência de requisições seguindo a requisição escolhida na fila ordenada. Por padrão, as requisições de leitura expiram em 500ms, requisições de escrita em 5 segundos. A documentação indica que este é o escalonador recomendado para sistemas de bancos de dados, especialmente em discos que trabalham com TCQ (Tagged Command Queuing) ou quaisquer sistemas com discos de alto desempenho. CFQ (Completely Fair Queuing): 1 fila de I/O por processo, o objetivo é ser justo entre os processos. O CFQ funciona colocando requisições síncronas enviadas pelos processos em uma certa quantidade de filas por-processo e então alocando espaços de tempo para que cada uma das filas acesse o disco. A quantidade de tempo e o número de requisições que uma fila pode enviar depende da prioridade de IO de um determinado processo. Requisições assíncronas para todos os processos são processadas em conjunto em um número menor de filas que estão separadas por prioridade (uma fila por prioridade). Embora o CFQ não faça explicitamente escalonamento de I/O anticipatório, ele atinge o mesmo efeito de ter boa vazão para o sistema como um todo, permitindo que uma fila de processo "não faça nada" (idle) ao final de um IO síncrono e, dessa forma, "antecipando" IOs próximos vindos do mesmo processo. O CFQ pode ser considerado uma extensão natural da ação de conceder "fatias de tempo de IO" a um processo. 22. Compare RAID0, RAID1, RAID5 e RAID6. RAID0 grava blocos espalhados pelo disco, o que dá baixa confiabilidade e alto desempenho. O espaço total é a soma de todos os discos. RAID1 grava os blocos duplicados nos discos, garante alta confiabilidade e desempenho ruim. Em especial a escrita se tiver 1 disco lento, fica tudo lento. Espaço total é o espaço de 1 disco. RAID5 faz paridade dos blocos, para isso tem que ter ao menos 3 discos. Com 1 bloco e a paridade (ou 2 blocos) é possível refazer o outro bloco. As paridades ficam espalhadas nos discos. RAID6 2 Paridades. Podem falhar 2 discos e espaço é (n-2)*x 23. Suponha que você possui 4 discos rígidos de 750GB. Quanto espaço disponível você obteria usando RAID5 e quanto espaço você obteria com RAID6? Quantos discos poderiam falhar em cada um destes casos? Com RAID5 para cada 2 blocos tem 1 bloco de paridade. Então, como os blocos estão espalhados, você teria 2000GB de espaço utilizável e 1 disco podendo falhar. Com RAID6 teria 1 paridade a mais que dá (4-2)*750 = 1500GB de espaço utilzável, mas podendo falhar 2 discos. PROVA DISCURSIVA DE SISTEMAS OPERACIONAIS 1- O QUE É DMA E QUAL VANTAGEM DESTA TECNICA? DMA( direct memory acess) . Acesso direto a memória=> técnica que permite a transferência de dados direto da memória para o dispositivo de saída (SEM PASSAR PELO PROCESSADOR) É a idéia de Buffer com apoio de controladores e canais de entrada e saída. 2- DEFINA O CONCEITO DE SISTEMA COMPUTACIONAL? Conjunto de componentes eletrônicos ( hardware) capazes de processar informações de acordo com um programa( software). É A junção do hardware com o software. 3- O QUE É A POLÍTICA DE ESCALONAMENTO DE UM SISTEMA OPERACIONAL? É a base da gerência do processador e da multiprogramação. É uma política que define qual dos processos em estado de pronto irá usar o processador. 4- EXPLIQUE O FUNCIONAMENTO DO ESCALONAMENTO CIRCULAR ROUND ROBIN OU RR? Escalonamento tipo preemptivo- com fatia de tempo – time slice ou quantum A fatia de tempo é a idéia que cada processo só pode ser executado por um determinado tempo.É aplicada a partir que se tenha fila de processos a serem executados, não tendo mais processo e só restando um esse irá até o fim sem preempção. Ex:se tenho um processo com 10 u.t ( unidade de tempo) e o RR determina que será trabalhado 01 u.t, esse processo de 10 u.t, vai sofrer preempção 10 vezes, vai pra execução 10 vezes ( indo e voltando) 5- DESCREVA O ESCALONAMENTO FIFO E O SJF? ALGORITMO FIFO=> é um escalonamento por ordem de chegada, não importa o tamanho e não preemptivo ALGORITMO SJF=> é um escalonamento por tempo de execução,do menor para o maior e não preemptivo SISTEMAS OPERACIONAIS 1) A arquitetura microkernel caracteriza-se por conter um núcleo simples e enxuto que gerencia a troca de mensagens entre os serviços do sistema operacional. Assinale a opção que representa um exemplo de sistema operacional que adota esta arquitetura: Linux Windows XP Windows 7 Windows Vista MINIX 2) A condição de corrida é derivada de: Aplicações concorrentes que não garantem exclusão mútua às regiões críticas. Aplicações baseadas em threads. Sistemas operacionais sem suporte a múltiplas threads. Aplicações em sistemas monotarefa que tentam executar ao mesmo tempo. 3) A maioria dos autores classifica os sistemas operacionais entre os seguintes tipos: sistemas monotarefa ou multitarefa, sistemas monousuário ou multiusuário, sistemas monoprocessados ou multiprocessados. Em relação a essas classificações, marque a alternativa correta: Um sistema operacional multitarefa é necessariamente um sistema multiprocessado. Em sistemas operacionais multitarefa monoprocessados a execução de diferentes programas é simultânea. Todo sistema operacional multitarefa é necessariamente um sistema multiusuário. Um sistema operacional multiprocessado não é necessariamente um sistema multitarefa. Todo sistema operacional multiusuário é ao mesmo tempo um sistema multitarefa. 4) Analise as sentenças abaixo sobre as características, vantagens e desvantagens da memória virtual e, em seguida, assinale a alternativa correta: I. Maior tempo de resposta para as referências à memória, se comparado à memória primária 11) Durante a execução de um programa podem ocorrer eventos inesperados, que causam um desvio forçado no fluxo de execução de um programa. Esses eventos são conhecidos por interrupção. É correto afirmar que: As interrupções são somente os eventos assíncronos gerados por um dispositivo de hardware ou pelo sistema operacional As interrupções são somente os eventos síncronos gerados por um dispositivo de hardware ou pelo sistema operacional As interrupções são eventos síncronos ou assíncronos gerados somente pelo sistema operacional As interrupções são eventos síncronos ou assíncronos gerados por um dispositivo de hardware As interrupções são eventos síncronos ou assíncronos gerados pelo sistema operacional ou por outro processo de maior prioridade 12) Durante a execução de um programa podem ocorrer eventos inesperados, que causem um desvio forçado no fluxo de execução de um programa. Esses eventos são conhecidos por interrupção ou exceção. Em relação ao conceito de interrupção e exceção, é correto afirmar que: É através das exceções que o sistema operacional sincroniza diferentes atividades, como rotinas, programas dos usuários e dispositivos. Uma grande diferença entre a interrupção e a exceção é que no caso da interrupção o próprio programador pode escrever uma rotina de tratamento, evitando que o programa seja encerrado. Exceções partem de eventos síncronos e previsíveis. O mecanismo de interrupções ser implementado em sistemas operacionais multitarefa e monotarefa. Uma exceção independe da instrução que está sendo executada, pois é sempre gerada por algum evento externo ao programa. 13) Em relação ao conceito de processos, marque a assertiva CORRETA: Apenas sistemas operacionais monotarefa suportam mais de uma instância de um programa em execução. Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há um único processo responsável pelas duas instâncias. Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há dois processos iguais. Sistemas multitarefa não suportam mais de uma instância do mesmo programa em execução. Quando há duas instâncias de um mesmo programa em execução, pode-se dizer que há dois processos diferentes (um para cada instância). 14) Em relação ao uso de threads em modo kernel, analise as assertivas a seguir: I. Threads em modo kernel podem ser utilizados em sistemas operacionais monothread II. Threads em modo usuário são criadas e destruídas pelo sistema operacional. III. Threads em modo kernel não bloqueiam o processo quando entram em estado de espera Marque a alternativa que contém as assertivas VERDADEIRAS: Somente I e III Somente II Somente I Todas são verdadeiras Somente III 15) Em sistemas multiprogramáveis os processos podem assumir diferentes estados. Os três estados mais importantes são: running (execução); ready (pronto); e wait (espera). Mudanças entre esses estados podem ocorrer a qualquer momento. Assinale dentre as assertivas seguir a única mudança de estado que NÃO pode acontecer: ESPERA para PRONTO EXECUÇÃO para PRONTO EXECUÇÃO para ESPERA ESPERA para EXECUÇÃO PRONTO para EXECUÇÃO 16) Em um sistema multiprogramável, um processo ativo pode estar nos seguintes estados: Interrupção, pronto ou execução Latência, espera ou atividade Latência, pronto ou atividade Espera, pronto ou execução Espera, pronto ou interrupção 17) Joãozinho estuda computação e achou a fórmula mágica para acertar na loteria! Ele apenas tem que fazer um programa que dado as sequências de números sorteados em todos os concursos passados consegue gerar a sequência de números que será sorteado no próximo concurso, através de um mecanismo envolvendo altos cálculos estatísticos. Joãozinho põe a prova seu programa, mas não consegue obter o resultado a tempo, mesmo rodando o programa por dias consecutivos. Este programa é o exemplo de um programa: Foreground Background I/O-bound CPU-bound 18) Marque a alternativa INCORRETA em relação ao conceito de sistemas operacionais: Um sistema operacional é responsável por gerenciar os recursos computacionais. É impossível fazer uso de um computador que não tenha um sistema operacional instalado. São componentes básicos de um sistema operacional: interface com o usuário; gerência do processador; gerência de memória; gerência de dispositivos; sistema de arquivos. Atua como uma interface entre o usuário e o computador. Um sistema operacional deve facilitar acesso aos recursos do sistema, assim como compartilhá-los de forma organizada e protegida. 19) Nos sistemas operacionais multitarefa é necessário controlar a concorrência de acesso aos recursos e dispositivos, evitando assim a perda de dados. Analise as sentenças abaixo que tratam desse assunto e, em seguida, assinale a alternativa correta: I. Monitor é a implementação automática da exclusão mútua entre procedimentos realizada pelo compilador da linguagem de programação II. Região Crítica é a única parte do código do programa onde não é feito acesso ao recurso compartilhado e exclusão mútua consiste na exclusividade de acesso a um recurso compartilhado III. Semáforo é uma variável real e negativa, não manipulada pelo programador Somente a sentença I está correta Somente a sentença III está correta Somente a sentença II está correta Somente as sentenças I e II estão corretas Somente a sentença II e III estão corretas 20) Nos sistemas operacionais multitarefa é necessário controlar a concorrência de acesso aos recursos e dispositivos, evitando assim a perda de dados. Analise as sentenças abaixo que tratam desse assunto e, em seguida, assinale a alternativa correta: I. Os mecanismos que garantem a comunicação entre processos concorrentes e o acesso a recursos compartilhados são chamados mecanismos de sincronização II. Semáforo e monitor são soluções de software para implementação de exclusão mútua entre a região crítica de processos concorrentes, garantindo assim a sincronização III. O monitor aumenta a responsabilidade do programador na implementação das variáveis de controle, uma vez que o compilador se encarrega de realizar a exclusão mútua Somente as sentenças I e II estão corretas Somente as sentenças II e III estão corretas Somente a sentença I está correta Somente a sentença III está correta 21) O gerenciamento de dispositivos de Entrada e Saída (E/S) é uma das mais complexas tarefas do sistema operacional em função da diversidade de dispositivos existentes, pois: Existe uma forma de criar device drivers por tipo de dispositivo, o que diminui a complexidade do controle das operações de E/S Os device drivers dos dispositivos funcionam em qualquer sistema operacional, o que diminui a complexidade e facilita esse gerenciamento Não é difícil generalizar e sintetizar o processo de transferência de dados de qualquer dispositivo, independente do tipo Não existe uma implementação genérica que atenda a todos os dispositivos 22) O que é política de escalonamento de um sistema operacional? Uma política de escalonamento é composta por critérios estabelecidos para determinar qual serviço em estado de pronto será escolhido para fazer uso do processador Uma política de escalonamento é composta por critérios pré-estabelecidos para determinar qual programa (Ex. C++, JAVA, VB) em estado de pronto será escolhido para fazer uso do processador Uma política de escalonamento é composta por critérios estabelecidos para determinar qual programa (Ex. C++, JAVA, VB) em estado de pronto será escolhido para fazer uso do processador Uma política de escalonamento é composta por critérios estabelecidos para determinar qual processo em estado de pronto será escolhido para fazer uso do processador 23) O que poderia potencialmente acontecer se threads bloqueados em um semáforo não saíssem da fila na ordem ‘primeiro a entrar, primeiro a sair’? O semáforo entraria em loop momentâneo Um thread poderia sofrer adiamento indefinido Um thread poderia sofrer adiamento momentâneo O semáforo executaria um deadlock Os processos I/O-bound podem levar vantagem em qualquer escalonamento baseado composto com critérios de prioridade Os processos CPU-bound levam vantagem em escalonamentos feitos com o mecanismo de preempção por tempo, enquanto os processos I/O-bound se beneficiam através de mecanismos de prioridade dinâmica. 33) Para que uma aplicação execute instruções privilegiadas deverá efetuar: A execução de um programa específico Uma interrupção Uma solicitação ao administrador do sistema O acesso com uma conta privilegiada Uma chamada ao sistema 34) Pode ser responsável pela troca de contexto: Operação aritmética. Interrupção por tempo provocada pelo temporizador. Sistema operacional. Outro programa que quer executar. 35) Preciso de giz e apagador para a aula. Peguei a caixa de giz, mas parei para conversar. Ao tentar pegar o apagador fiquei sabendo que outro professor, que só daria aula no segundo tempo, pegou o apagador e aguardava a caixa de giz que não estava sobre a mesa. Não sabia quem era o outro professor então fiquei esperando que fosse devolvido. Como iria ter aula no segundo tempo, resolvi guardar o giz e esperar o apagador. Esta situação retrata: Uma condição de corrida. Um deadlock em função da exclusão mútua no acesso aos dois recursos. Um evento que será solucionado assim que terminar a aula. Um deadlock que poderá ser solucionado indo em busca do apagador e arrancando-o da mão do outro professor. 36) Processos podem ser classificados como CPU-bound ou I/O bound, de acordo com a utilização elevada do processador(UCP) e dos dispositivos de entrada/saída(E/S), respectivamente. Analisando os gráficos abaixo podemos afirmar que: O gráfico 2 representa um processo de I/O bound e o gráfico 1 representa um processo de CPU-bound. Tanto o gráfico 1 quanto o gráfico 2 representam processos de CPU-bound. Tanto o gráfico 1 quanto o gráfico 2 representam processos de I/O bound. O gráfico 1 representa um processo de I/O bound e o gráfico 2 representa um processo de CPU-bound. Ao longo do tempo o gráfico 1 representa um processo de I/O bound, já no gráfico 2 não é possível verificar o tipo de processo que representa. 37) Quais são técnicas de sincronização entre processos? I. Semáforos II. Habilitar/Desabilitar interrupções III. Condição de Corrida IV. Algoritmo de Peterson Somente I, II e IV Somente I e II Somente II e IV Somente I Somente IV 38) Quais são os dois tipos de sistemas distribuídos? Sistemas Palmer e Sistemas Agrupados; Sistemas Cliente Servidor e Sistemas Paralelos; Sistemas Com memória virtual e Sistemas Cliente Servidor; Sistemas Paralelos e Sistemas Agrupados; Sistemas Clusteres e Sistemas Cliente Servidor; 39) Qual a diferença básica entre um processo e um programa? Um programa é um processo em execução. Um processo é um arquivo em disco. Um processo é um programa em execução. Um programa é um arquivo em disco. Um programa é um conjunto de processos. Um processo é uma unidade básica. Um processo é um thread. Um programa é um arquivo em disco. Um processo é um programa em disco. Um programa é um processo em execução. 40) Qual a grande diferença entre sistemas monoprogramáveis e sistemas multiprogramáveis? Enquanto em sistemas monoprogramáveis existe apenas um programa utilizando os recursos disponíveis, nos multiprogramáveis vários hardwares e softwares compartilham esses mesmos recursos Os sistemas monoprogramáveis se caracterizam por permitir que o processador, a memória e os periféricos permaneçam dedicados à execução de um único programa. Nos sistemas multiprogramáveis ou multitarefa, os recursos computacionais são compartilhados entre os diversos softwares e aplicações Os sistemas monoprogramáveis se caracterizam por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Nos sistemas multiprogramáveis ou multitarefa, os recursos computacionais são compartilhados entre os diversos usuários e aplicações Enquanto em sistemas monoprogramáveis pode existir um ou mais programas utilizando os recursos disponíveis, nos multiprogramáveis várias aplicações compartilham esses mesmos recursos 41) Quando estudamos as diferentes estratégias de organização lógica do espaço de memória, apresentamos o conceito de fragmentação interna, que consiste no: Espaço não utilizado fora de uma partição, por exemplo, na estratégia tipo Dinâmico Espaço total utilizado dentro de uma partição, por exemplo, na estratégia tipo Segmentado Espaço não utilizado contíguo a uma partição, por exemplo, na estratégia tipo Contíguo Simples Espaço não utilizado dentro de uma partição, por exemplo, na estratégia tipo Estático 42) Quando tratamos de alocação de memória é necessário que haja uma estratégia definida para esta tarefa porque: Cada processo precisar ter seu espaço protegido, embora nunca seja necessário compartilhar informações entre processos. Espaços são solicitados e liberados em função da execução de cada tarefa e cada processo precisar ter seu espaço protegido. Pode ser necessário compartilhar informações com outros processos e todos os processos compartilham sempre o mesmo espaço sem proteção. A gerência do processador não é tão importante quanto a gerência de memória, pois o que confere desempenho ao sistema é somente a estratégia de alocação de memória e não o escalonamento de processos. 43) Sabemos que o mecanismo de interrupção possibilitou a implementação de sistemas multitarefa. Analise as sentenças abaixo sobre interrupções e, em seguida, assinale a alternativa correta: I. Um programa que está em execução no momento em que ocorre uma interrupção externa tem o seu contexto salvo, o que permite retomarmos seu processamento posteriormente a partir do ponto onde ocorreu a interrupção II. São exemplos de eventos geradores de interrupção interna (exceção): divisão por zero e overflow III. Interrupções internas são geradas por eventos assíncronos e as externas por eventos síncronos Somente as sentenças II e III estão corretas Somente a sentença II está correta Somente as sentenças I e III estão corretas Somente a sentença I está correta Somente as sentenças I e III estão corretas 44) São funções do sistema operacional: Gerenciar recursos de hardware e fornecer um aplicativo para navegação na internet. Gerenciar recursos de hardware e interface com o usuário. Interface com o usuário e correção ortográfica. Gerenciar recursos de software e interromper uma tarefa em execução. 45) Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "executando". Em seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do teclado) para prosseguir. Quando o usuário informar a senha o processo passará do estado "espera" diretamente para o estado "executando"? Não. O processo ficará em estado de "espera" e aguarda até que o sistema operacional o selecione para execução. Sim. Mas somente se o computador tiver mais de uma CPU. Sim. Pois independente da quantidade de CPUs ele será executado. Sim. Assim que liberar o processador ele será executado. Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução. 52) Um sistema informatizado opera 24 horas por dia, por meio de uma conexão direta ao computador central, realizando todas as solicitações no momento em que as transações ocorrem, com destaque pelo menor tempo de resposta, requisito de suma importância para a sua eficiência e performance. Duas aplicações para emprego desse sistema são exemplificadas pelo controle de passagens de grandes companhias aéreas ou rodoviárias e pela monitoração do lançamento de um foguete. Por suas características, esse sistema opera na modalidade de processamento conhecida como: Batch e real time. Off-line e real time. On-line e real time. On-line e time sharing. Off-line e time sharing. 53) Um sistema operacional pode ser definido como um conjunto de rotinas executado pelo processador. Também é certo dizer que o sistema operacional atua como uma interface entre o usuário e o computador. Marque a alternativa INCORRETA em relação ao conceito de sistemas operacionais: São componentes básicos de um sistema operacional: interface com o usuário; gerência do processador; gerência de memória; gerência de dispositivos; sistema de arquivos Um sistema operacional deve compartilhar os recursos do sistema de forma organizada e protegida Um sistema operacional é responsável por gerenciar os recursos computacionais Um sistema operacional deve facilitar acesso aos recursos do sistema É impossível fazer uso de um computador que não tenha um sistema operacional 54) Uma das características fundamentais existentes nos Sistemas Operacionais (S.O.) modernos é o compartilhamento do poder de processamento de uma única Unidade Central de Processamento (CPU) entre vários processos. Com base nessa assertiva sobre processos, podemos afirmar que: Havendo compartilhamento de CPU entre processos, significa que mais de um processo, num dado instante, estará no estado de execução. Um processo é um programa em execução que compartilha com outros processos o seu contexto de hardware, contexto de software e espaço de endereçamento. Sistemas Operacionais modernos disponibilizam System Calls (chamadas ao sistema) aos desenvolvedores de aplicativos, para que esses possam criar, duplicar e extinguir processos. Processos em estado de bloqueado são aqueles que, num dado instante, estão utilizando todo o poder de processamento da CPU. Um processo é um programa em execução que compartilha com outros processos o seu espaço de endereçamento, suas variáveis globais e arquivos abertos. 55) Uma das diferenças entre threads de usuário e threads de kernel é: A thread de usuário não pode utilizar funções do sistema operacional e a thread de kernel pode. Uma thread de kernel bloqueada bloqueia todo o processo obrigatoriamente e a de usuário não bloqueia. Uma thread de kernel não pode executar instruções privilegiadas e a de usuário pode. A thread de kernel é escalonada diretamente pelo sistema operacional e a de usuário não. A thread de kernel depende de uma biblioteca para ser utilizada e a de usuário não depende. 56) Uma thread é a execução de um fluxo de processamento, isto significa que um processo pode ser composto por várias threads. Neste contexto é correto afirmar que: Uma thread é equivalente a um processo filho pois a execução de cada thread é independente. Uma thread pode ser compartilhada por vários processos pois o espaço de endereçamento é compartilhado. Uma thread pode existir sem estar associada a um processo. Threads de um mesmo processo podem ter suas execuções independentes e compartilham espaço de endereçamento de memória. 57) Você e seu amigo sentaram na sua sala de estar e começaram a brincar com o Playstation 3 que você acabou de ganhar de Natal. Cada um com um controle brigando pela disputa da bola no jogo. Traduzindo para o contexto, vocês dois estavam executando uma tarefa (chutar a bola) de forma: Síncrona Concorrente Assíncrona Serial 58) O que é e para que serve o escalonamento? Explique também como funciona e quais as diferenças existentes entre os escalonamentos FIFO e CIRCULAR (round robin)? 59) Quais as diferenças entre a paginação e a segmentação no que se refere à divisão dos programas em blocos e à ocorrência de fragmentação? 60) Suponha que um programador precisou desenvolver um programa para solucionar a seguinte equação: X = (100 x 3) + (2 x (A + 30)) + (20 - 2) + (3 x B) Para otimizar o processamento, este programador optou por dividir a equação em partes menores e distribuí-las em diferentes threads. O resultado foi: PROGRAM EQUACAO; VAR X, A, B, C, D: integer; BEGIN A := (100*3); B := 2 * (A + 30); C := (20-2); D := (3 * B); X := A + B + C + D; END. O algoritmo acima contém um erro, que ilustra a complexidade do uso de threads. Descreva o erro do algoritmo acima e apresente uma solução para este problema. 61) Suponha um posto de abastecimento que venda apenas gasolina. Este posto tem 5 (cinco) caixas para que os clientes façam o pagamento. Cada caixa executa uma instância de um programa que atualiza o estoque (em litros) de gasolina. O arquivo que contém o estoque fica em um servidor, sendo compartilhado entre os cinco caixas. Sempre que um cliente faz o pagamento, o sistema do caixa faz, basicamente, três operações: 1. Lê o arquivo de estoque para saber a quantidade de litros que há em estoque. 2. Subtrai do estoque a quantidade de litros comprada pelo cliente. 3. Grava o arquivo de estoque com a quantidade de litros calculada no passo "2". Considerando a situação exposta, descreva que problemas podem decorrer do compartilhamento do recurso "arquivo de estoque" pelos cinco processos executados de forma concorrente.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved