so exercicios - carlos maziero - utfpr

Upload: wbarros

Post on 02-Jun-2018

261 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    1/51

    Sistemas Operacionais: Conceitos e Mecanismos

    Caderno de Exerccios

    Prof. Carlos A. Maziero, Dr.

    DAINF UTFPR

    25 de junho de 2013

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    2/51

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    3/51

    Sumrio

    1 Conceitos bsicos 3

    2 Gerncia de atividades 7

    3 Comunicao entre tarefas 12

    4 Coordenao entre tarefas 16

    5 Gerncia de memria 24

    6 Gerncia de arquivos 31

    7 Gerncia de entrada/sada 37

    8 Segurana de sistemas 38

    2

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    4/51

    Captulo 1

    Conceitos bsicos

    1. Quais os dois principais objetivos dos sistemas operacionais?

    2. Por que a abstrao de recursos importante para os desenvolvedores de aplica-es? Ela tem utilidade para os desenvolvedores do prprio sistema operacional?

    3. A gerncia de atividades permite compartilhar o processador, executando mais deuma aplicao ao mesmo tempo. Identifique as principais vantagens trazidas poressa funcionalidade e os desafios a resolver para implement-la.

    4. O que caracteriza um sistema operacional de tempo real? Quais as duas classifica-es de sistemas operacionais de tempo real e suas diferenas?

    5. O que diferencia oncleodo restante do sistema operacional?

    6. Seria possvel construir um sistema operacional seguro usando um processadorque no tenha nveis de privilgio? Por qu?

    7. O processadorPentium possuidois bits paradefiniro nvel de privilgio, resultandoem 4 nveis distintos. A maioria dos sistemas operacionais para esse processadorusa somente os nveis extremos (0 e 3, ou 002e 112). Haveria alguma utilidadepara os nveis intermedirios?

    8. Quais as diferenas entreinterrupes,exceesetraps?

    9. Quais as implicaes de mascarar interrupes? O que pode ocorrer se o processa-dor ignorar interrupes por muito tempo? O que poderia ser feito para evitar omascaramento de interrupes?

    10. O comando em linguagem Cfopen uma chamada de sistema ou uma funo debiblioteca? Por qu?

    11. Monteumatabelacomosbenefciosedeficinciasmaissignificativosdasprincipaisarquiteturas de sistemas operacionais.

    12. Relacione as afirmaes aos respectivos tipos de sistemas operacionais: distribudo(D), multi-usurio (M), desktop (K), servidor (S), embarcado (E) ou de tempo-real(T):

    3

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    5/51

    c Carlos Maziero 1: Conceitos bsicos

    [ ] Deve ter um comportamento temporal previsvel, com prazos de respostaclaramente definidos.

    [ ] Sistema operacional usado por uma empresa para executar seu banco dedados corporativo.

    [ ] So tipicamente usados em telefones celulares e sistemas eletrnicos dedica-dos.

    [ ] Neste tipo de sistema, a localizao fsica dos recursos do sistema computaci-onal transparente para os usurios.

    [ ] Todos os recursos do sistema tm proprietrios e existem regras controlandoo acesso aos mesmos pelos usurios.

    [ ] A gerncia de energia muito importante neste tipo de sistema.

    [ ] Sistema que prioriza a gerncia da interface grfica e a interao com ousurio.

    [ ] Construdo para gerenciar de forma eficiente grandes volumes de recursos.

    [ ] O MacOS X um exemplo tpico deste tipo de sistema.

    [ ] So sistemas operacionais compactos, construdos para executar aplicaesespecficas sobre plataformas com poucos recursos.

    13. A operao em modo usurio permite ao processador executar somente partedas instrues disponveis em seu conjunto de instrues. Quais das seguintes

    operaes no deveriam ser permitidas em nvel usurio? Por qu?

    (a) Ler uma porta de entrada/sada

    (b) Efetuar uma diviso inteira

    (c) Escrever um valor em uma posio de memria

    (d) Ajustar o valor do relgio do hardware

    (e) Ler o valor dos registradores do processador

    (f) Mascarar uma ou mais interrupes

    14. Considerando um processo em um sistema operacional com proteo de memriaentre o ncleo e as aplicaes, indique quais das seguintes aes do processo teriamde ser realizadas atravs de chamadas de sistema, justificando suas respostas:

    (a) Ler o relgio de tempo real do hardware.

    (b) Enviar um pacote atravs da rede.

    (c) Calcular uma exponenciao.

    (d) Preencher uma rea de memria do processo com zeros.

    (e) Remover um arquivo do disco.

    4

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    6/51

    c Carlos Maziero 1: Conceitos bsicos

    15. Coloque na ordem correta as aes abaixo, que ocorrem durante a execuo dafuno printf("Hello world") por um processo (observe que nem todas as aes

    indicadas fazem parte da seqncia).[ ] A rotina de tratamento da interrupo de software ativada dentro do ncleo.

    [ ] A funo printffinaliza sua execuo e devolve o controle ao cdigo doprocesso.

    [ ] A funo de bibliotecaprintfrecebe e processa os parmetros de entrada (astring Hello world).

    [ ] A funo de biblioteca printfprepara os registradores para solicitar achamada de sistemawrite()

    [ ] O disco rgido gera uma interrupo indicando a concluso da operao.[ ] O escalonador escolhe o processo mais prioritrio para execuo.

    [ ] Uma interrupo de software acionada.

    [ ] O processo chama a funoprintfda biblioteca C.

    [ ] A operao de escrita no terminal efetuada ou agendada pela rotina detratamento da interrupo.

    [ ] O controle volta para a funoprintfem modo usurio.

    16. Considere as afirmaes a seguir, relativas aos diversos tipos de sistemas operacio-

    nais:

    I. Em um sistema operacional detempo real, a rapidez de resposta menosimportante que a previsibilidade do tempo de resposta.

    II. Um sistema operacional multi-usurios associa um proprietrio a cadarecurso do sistema e gerencia as permisses de acesso a esses recursos.

    III. Nos sistemas operacionaisde redea localizao dos recursos transparentepara os usurios.

    IV. Um sistema operacional de tempo real deve priorizar as tarefas que interagem

    com o usurio.V. Um sistema operacionalembarcado projetado para operar em hardware

    com poucos recursos.

    Indique a alternativa correta:

    (a) As afirmaes II e III esto corretas.

    (b) Apenas a afirmao V est correta.

    (c) As afirmaes III e IV esto erradas.

    (d) As afirmaes III, IV e V esto erradas.(e) Todas as afirmaes esto erradas.

    5

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    7/51

    c Carlos Maziero 1: Conceitos bsicos

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    17. Considere as afirmaes a seguir, relativas s diversas arquiteturas de sistemasoperacionais:

    I. Uma mquina virtual de sistema contruda para suportar uma aplicaoescrita em uma linguagem de programao especfica, como Java.

    II. Um hipervisor convidado executa sobre um sistema operacional hospedeiro.

    III. Em um sistema operacional micro-ncleo, os diversos componentes dosistema so construdos como mdulos interconectados executando dentrodo ncleo.

    IV. Ncleos monolticos so muito utilizados devido sua robustez e facilidade

    de manuteno.V. Em um sistema operacional micro-ncleo, as chamadas de sistema so

    implementadas atravs de trocas de mensagens.

    Indique a alternativa correta:

    (a) Todas as afirmaes esto erradas.

    (b) As afirmaes II e III esto corretas.

    (c) As afirmaes II e IV esto erradas.

    (d) Apenas a afirmao V est correta.(e) As afirmaes II e V esto corretas.

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    18. O utilitrio strace do UNIX permite observar a sequncia de chamadas de sistemaefetuadas por uma aplicao. Em um terminal UNIX, executestrace dateparadescobrir quais os arquivos abertos pela execuo do utilitriodate(que indica adata e hora correntes). Por que o utilitrio date precisa fazer chamadas de sistema?

    19. O utilitrioltracedo UNIX permite observar a sequncia de chamadas de biblio-teca efetuadas por uma aplicao. Em um terminal UNIX, execute ltrace datepara descobrir as funes de biblioteca chamadas pela execuo do utilitriodate(que indica a data e hora correntes). Pode ser observada alguma relao entre aschamadas de biblioteca e as chamadas de sistema observadas no tem anterior?

    6

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    8/51

    Captulo 2

    Gerncia de atividades

    1. Explique o que , para que serve e o que contm um PCB -Process Control Block.

    2. O que significatime sharinge qual a sua importncia em um sistema operacional?

    3. Como e com base em que critrios escolhida a durao de umquantumdeprocessamento?

    4. Considerando o diagrama de estados dos processos apresentado na figura a seguir,complete o diagramacom a transio de estado que est faltando (t6) eapresenteo significadode cada um dos estados e transies.

    5. Indique se cada uma das transies de estado de tarefas a seguir definidas possvel ou no. Se a transio for possvel, d um exemplo de situao na qualela ocorre (N: Nova,P: pronta,E: executando,S: suspensa,T: terminada).

    E P

    E S

    S E

    P N

    S T

    E T

    NS P S

    7

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    9/51

    c Carlos Maziero 2: Gerncia de atividades

    6. Relacione as afirmaes abaixo aos respectivos estados no ciclo de vida das tarefas(N: Nova, P: Pronta, E: Executando, S: Suspensa, T: Terminada):

    [ ] O cdigo da tarefa est sendo carregado.

    [ ] A tarefas so ordenadas por prioridades.

    [ ] A tarefa sai deste estado ao solicitar uma operao de entrada/sada.

    [ ] Os recursos usados pela tarefa so devolvidos ao sistema.

    [ ] A tarefa vai a este estado ao terminar seuquantum.

    [ ] A tarefa s precisa do processador para poder executar.

    [ ] O acesso a um semforo em uso pode levar a tarefa a este estado.

    [ ] A tarefa pode criar novas tarefas.[ ] H uma tarefa neste estado para cada processador do sistema.

    [ ] A tarefa aguarda a ocorrncia de um evento externo.

    7. Desenhe o diagrama de tempo da execuo do cdigo a seguir, informe qual asada do programa na tela (com os valores dex) e calcule a durao aproximadade sua execuo.

    1 int main()

    2 {

    3 int x = 0 ;

    45 fork () ;

    6 x++ ;

    7 sleep (5) ;

    8 wait (0) ;

    9 fork () ;

    10 wait (0) ;

    11 sleep (5) ;

    12 x++ ;

    13 printf ("Valor de x: %d\n", x) ;

    14 }

    8. Indique quantas letras X sero impressas na tela pelo programa abaixo quandofor executado com a seguinte linha de comando:

    a.out 4 3 2 1

    Observaes:

    a.out o arquivo executvel resultante da compilao do programa.

    A chamada de sistema forkcria um processo filho, clone do processo que aexecutou, retornando o valor zero no processo filho e um valor diferente de

    zero no processo pai.

    8

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    10/51

    c Carlos Maziero 2: Gerncia de atividades

    1 #include

    2 #include

    3 #include 4 #include

    5

    6 int main(int argc, char *argv[])

    7 {

    8 pid_t pid[10];

    9 int i;

    10

    11 int N = atoi(argv[argc-2]);

    12

    13 for (i=0; i

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    11/51

    c Carlos Maziero 2: Gerncia de atividades

    thread_create: cria uma novathread, pronta para executar.

    thread_join: espera o encerramento dathreadinformada como parmetro.

    thread_exit: encerra athreadcorrente.

    1 int y = 0 ;

    2

    3 void threadBody

    4 {

    5 int x = 0 ;

    6 sleep (10) ;

    7 printf ("x: %d, y:%d\n", ++x, ++y) ;

    8 thread_exit();

    9 }

    1011 main ()

    12 {

    13 thread_create (&tA, threadBody, ...) ;

    14 thread_create (&tB, threadBody, ...) ;

    15 sleep (1) ;

    16 thread_join (&tA) ;

    17 thread_join (&tB) ;

    18 sleep (1) ;

    19 thread_create (&tC, threadBody, ...) ;

    20 thread_join (&tC) ;

    21 }

    14. Explique o que escalonamentoround-robin, dando um exemplo.

    15. Considere um sistema de tempo compartilhado com valor de quantum tqe duraoda troca de contextottc. Considere tarefas de entrada/sada que usam em mdiap% de seu quantum de tempo cada vez que recebem o processador. Defina aeficincia E do sistema como uma funo dos parmetrostq,ttcep.

    16. Explique o que , para que serve e como funciona a tcnica de aging.

    17. A tabela a seguir representa um conjunto de tarefas prontas para utilizar um

    processador:

    Tarefa t1 t2 t3 t4 t5ingresso 0 0 3 5 7durao 5 4 5 6 4prioridade 2 3 5 9 6

    Indique a seqncia de execuo das tarefas, o tempo mdio de vida (tournaroundtime) e o tempo mdio de espera (waiting time), para as polticas de escalonamentoa seguir:

    (a) FCFS cooperativa

    10

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    12/51

    c Carlos Maziero 2: Gerncia de atividades

    (b) SJF cooperativa

    (c) SJF preemptiva (SRTF)

    (d) PRIO cooperativa(e) PRIO preemptiva

    (f) RR comtq =2, sem envelhecimento

    Consideraes: todas as tarefas so orientadas a processamento; as trocas decontexto tm durao nula; em eventuais empates (idade, prioridade, durao,etc), a tarefaticom menori prevalece; valores maiores de prioridade indicammaior prioridade.

    Para representar a sequncia de execuo das tarefas use o diagrama a seguir. Use para indicar uma tarefa usando o processador, para uma tarefa em esperana fila de prontos e para uma tarefa que ainda no iniciou ou j concluiu suaexecuo.

    18. Idem, para as tarefas da tabela a seguir:

    Tarefa t1 t2 t3 t4 t5ingresso 0 0 1 7 11durao 5 6 2 6 4prioridade 2 3 4 7 9

    19. Explique os conceitos deinversoeherana de prioridade.

    20. Voc deve analisar o software da sondaMars Pathfinderdiscutido no livro-texto. Osistema usa escalonamento por prioridades preemptivo, sem envelhecimento e

    sem compartilhamento de tempo. Suponha que as tarefastgetmdetm a rea detransferncia de dados durante todo o perodo em que executam. Os dados de umtrecho de execuo das tarefas so indicados na tabela a seguir (observe quetgexecuta mais de uma vez).

    Tarefa tg tm tcingresso 0, 5, 10 2 3durao 1 2 10prioridade alta baixa mdia

    Desenhe o diagrama de tempo da execuo sem e com o protocolo de herana deprioridades e discuta sobre as diferenas observadas entre as duas execues.

    11

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    13/51

    Captulo 3

    Comunicao entre tarefas

    1. Quais so as vantagens e desvantagens das abordagens a seguir, sob as ticas dosistema operacional e do programador de aplicativos?

    (a) comunicao bloqueante ou no-bloqueante

    (b) canais combufferingou sembuffering

    (c) comunicao por mensagens ou por fluxo

    (d) mensagens de tamanho fixo ou varivel

    (e) comunicao 1:1 ou M:N

    2. Explique como processos que comunicam por troca de mensagens se comportamem relao capacidade do canal de comunicao, considerando as semnticas dechamada sncrona e assncrona.

    3. Em relao sincronizao na comunicao entre processos, podemos afirmar que:

    I. Na comunicao semi-bloqueante, o emissor espera indefinidamente pelapossibilidade de enviar os dados.

    II. Na comunicao sncrona ou bloqueante, o receptor espera at receber amensagem.

    III. Um mecanismo de comunicao semi-bloqueante com prazot = equivalea um mecanismo bloqueante.

    IV. Na comunicao sncrona ou bloqueante, o emissor retorna uma mensagemde erro caso o receptor no esteja pronto para receber a mensagem.

    V. Acomunicaocomsemnticabloqueanteusandocanaissem buffer chamadaRendez-Vous.

    As asseres corretas so:

    (a) I, III

    (b) II, III, V

    12

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    14/51

    c Carlos Maziero 3: Comunicao entre tarefas

    (c) I, II, IV

    (d) II, III

    (e) III, IV, V

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    4. Em relao sincronizao na comunicao entre processos, podemos afirmar que:

    I. Na comunicao semi-bloqueante, o emissor espera pelo envio dos dados,mas o receptor no.

    II. Se o canal de comunicao tiver capacidade nula, emissor e receptor devemusar mecanismos no-bloqueantes.

    III. A comunicao no-bloqueante em ambos os participantes s vivel usandocanais de comunicao combufferno-nulo.

    IV. Ospipesdo UNIX so um bom exemplo de comunicao bloqueante.

    V. Um mecanismo de comunicao semi-bloqueante com prazot =0 equivale aum mecanismo bloqueante.

    As asseres corretas so:

    (a) I, II, IV

    (b) II, III(c) III, IV, V

    (d) I, IV

    (e) III, IV

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    5. Dadas as seguintes caractersticas dos mecanismos de comunicao:

    I. A comunicao indireta (por canais) mais adequada para sistemas distribu-

    dos.II. Canais com capacidade finita somente so usados na definio de algoritmos,

    no sendo implementveis na prtica.

    III. Na comunicao direta, o emissor envia os dados diretamente a um canal decomunicao.

    IV. Na comunicao por fluxo, a ordem dos dados enviados pelo emissor mantida do lado receptor.

    V. Na comunicao por troca de mensagens, o ncleo transfere pacotes de dadosdo processo emissor para o processo receptor.

    As asseres erradas so:

    13

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    15/51

    c Carlos Maziero 3: Comunicao entre tarefas

    (a) II, III

    (b) I, III

    (c) II, IV

    (d) III, V

    (e) I, IV

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    6. Dadas as seguintes caractersticas dos mecanismos de comunicao:

    I. Na comunicao por troca de mensagens, o processo emissor copia o contedoda mensagem nobufferdo processo receptor.

    II. Obufferdo canal de comunicao entre dois processos distintos geralmentemantido pelo ncleo do sistema operacional.

    III. Se a capacidade dobufferdo canal de comunicao for considerada infinita,somente o receptor pode se bloquear.

    IV. As filas de mensagens POSIX so um exemplo de canal de comunicao comcapacidade nula.

    V. O protocolo de rede TCP um exemplo de comunicao por fluxo de dados.

    As asseres erradas so:

    (a) I, III

    (b) II, III

    (c) I, IV

    (d) II, IV

    (e) II, V

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    7. Dadas as seguintes caractersticas dos mecanismos de comunicao:

    I. A memria compartilhada prov mecanismos de sincronizao para facilitara comunicao entre os processos.

    II. A troca de dados atravs de memria compartilhada mais adequada para acomunicao em rede.

    III. Processos que se comunicam por memria compartilhada podem acessar amesma rea da RAM.

    IV. Os pipes Unix so um bom exemplo de comunicao M:N.

    V. A comunicao atravs de memria compartilhada particularmente indicadapara compartilhar grandes volumes de dados entre dois ou mais processos.

    14

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    16/51

    c Carlos Maziero 3: Comunicao entre tarefas

    As asseres corretas so:

    (a) I, III, V(b) I, II

    (c) III, IV

    (d) II, IV

    (e) III, V

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    8. Dadas as seguintes caractersticas dos mecanismos de comunicao:

    I. Em um mecanismo demailbox, cada mensagem enviada replicada a todosos receptores.

    II. Em um canal de eventos, as mensagens enviadas so distribudas alternada-mente entre os receptores.

    III. As filas de mensagens POSIX so um bom exemplo de canal de eventos.

    IV. Nas filas de mensagens POSIX, as mensagens transitam atravs de arquivosem disco criados especialmente para essa finalidade.

    V. Em UNIX, umpipe um canal de comunicao unidirecional que liga a sadapadro de um processo entrada padro de outro.

    As asseres corretas so:

    (a) I, III

    (b) II

    (c) III, IV

    (d) V

    (e) nenhuma delas

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    15

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    17/51

    Captulo 4

    Coordenao entre tarefas

    1. Explique o que socondies de disputa, mostrando um exemplo real.

    2. Em relao aos mecanismos de coordenao:

    I. A estratgia de inibir interrupes para evitar condies de disputa funcionaem sistemas multi-processados.

    II. Os mecanismos de controle de entrada nas regies crticas provem exclusomtua no acesso s mesmas.

    III. Os algoritmos debusy-waitse baseiam no teste contnuo de uma condio.

    IV. Condiesdedisputaocorremdevidosdiferenasdevelocidadenaexecuodos processos.

    V. Condies de disputa ocorrem quando dois processos tentam executar omesmo cdigo ao mesmo tempo.

    As asseres corretas so:

    (a) I, III

    (b) II, V

    (c) II, III

    (d) I, IV(e) IV, V

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    3. Explique o que espera ocupadae por que os mecanismos que empregam essatcnica so considerados ineficientes.

    4. Em que circunstncias o uso de espera ocupada inevitvel?

    5. Em relao aos mecanismos de coordenao:

    I. Instrues do tipoTest&Set Lockdevem ser implementadas pelo ncleo doSO.

    16

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    18/51

    c Carlos Maziero 4: Coordenao entre tarefas

    II. O algoritmo de Peterson garante justia no acesso regio crtica.

    III. Os algoritmos com estratgiabusy-waitotimizam o uso da CPU do sistema.

    IV. Uma forma eficiente de resolver os problemas de condio de disputa introduzir pequenos atrasos nos processos envolvidos.

    V. Um semforo composto por um contador inteiro e uma fila de processossuspensos.

    As asseres corretas so:

    (a) I, III

    (b) I, V

    (c) II, V(d) I, IV

    (e) III, IV

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):

    6. Considere ocupadouma varivel inteira compartilhada entre dois processos Ae B (inicialmente, ocupado = 0). Sendo que ambos os processos executam otrecho de programa abaixo, explique em que situao A e B poderiam entrarsimultaneamente nas suas respectivas regies crticas.

    1 while (true) {

    2 regiao_nao_critica();

    3 while (ocupado) {};

    4 ocupado = 1;

    5 regiao_critica();

    6 ocupado = 0;

    7 }

    7. Em que situaes um semforo deve ser inicializado em 0, 1 oun >1?

    8. Por que no existem operaesread(s) ewrite(s) para ler ou ajustar o valor corrente

    de um semforo?9. Mostre como pode ocorrer violao da condio de excluso mtua se as operaes

    down(s) eup(s) sobre semforos no forem implementadas de forma atmica.

    10. A implementao das operaesdown(s) eup(s) sobre semforos deve ser atmica,para evitar condies de disputa sobre as variveis internas do semforo. Escreva,em pseudo-cdigo, a implementao dessas duas operaes, usando instruesTSL para evitar as condies de disputa. A estrutura interna do semforo indicada a seguir. No necessrio detalhar as operaes de ponteiros envolvendoa filatask_queue.

    17

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    19/51

    c Carlos Maziero 4: Coordenao entre tarefas

    1 struct semaphore

    2 {

    3 int lock = false ;4 int count ;

    5 task_t *queue ;

    6 }

    11. Usando semforos, escreva o pseudo-cdigo de um sistema produtor/consumidorcom dois buffers limitados organizado na formaXB1 Y B2 Z, ondeX,Ye Z sotiposdeprocessose B1e B2so buffers independentes com capacidades N1eN2, respectivamente, inicialmente vazios. Os buffers so acessados unicamenteatravs das operaes insere(Bi, item) e retira(Bi, item) (que no precisam serdetalhadas). O nmero de processosX,YeZ desconhecido.

    Devem ser definidos os cdigos dos processosX,YeZe os semforos necessrios,com seus significados e valores iniciais.

    12. O trecho de cdigo a seguir apresenta uma soluo para o problema do jantardos filsofos, mas ele contm um erro. Explique o cdigo e explique onde esto erro e porque ele ocorre. A seguir, modifique o cdigo para que ele funcionecorretamente.

    1 #define N 5

    2

    3 sem_t garfo[5] ; // 5 semforos iniciados em 1

    45 void filosofo (int i)

    6 {

    7 while (1)

    8 {

    9 medita ();

    10 sem_down (garfo [i]) ;

    11 sem_down (garfo [(i+1) % N]) ;

    12 come ();

    13 sem_up (garfo [i]) ;

    14 sem_up (garfo [(i+1) % N]) ;

    15 }

    16 }

    13. Suponha trs robs (Bart, Lisa, Maggie), cada um controlado por sua prpriathread. Voc deve escrever o cdigo dasthreadsde controle, usando semforos paragarantir que os robs se movam sempre na sequnciaBart LisaMaggieLisa Bart Lisa Maggie , um rob de cada vez. Use a chamadamove()para indicar um movimento do rob. No esquea de definir os valores iniciaisdas variveis e/ou dos semforos utilizados. Solues envolvendo espera ocupada(busy wait) no devem ser usadas.

    14. O Rendez-Vous um operador de sincronizao forte entredoisprocessos ou

    threads, no qual um deles espera at que ambos cheguem ao ponto de encontro(rendez-vous, em francs). O exemplo a seguir ilustra seu uso:

    18

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    20/51

    c Carlos Maziero 4: Coordenao entre tarefas

    Processo A

    A 1 ( ) ;

    rv_wait (rv) ;A 2 ( ) ;

    rv_wait (rv) ;

    A 3 ( ) ;

    Processo B

    B 1 ( ) ;

    rv_wait (rv) ;B 2 ( ) ;

    rv_wait (rv) ;

    B 3 ( ) ;

    Considerando a relao a b como a ocorre antes de b e a relao a bcomo aebocorrem sem uma ordem definida, temos as seguintes restries desincronizao:

    (i,j),Ai Bj>ieBi Aj>i(imposto peloRendez-Vous)

    (i,j),Ai Aj>ieBi Bj>i(imposto pela execuo sequencial) (i,j),Ai Bj=i(possibilidade de execuo concorrente)

    Escreva o pseudo-cdigo necessrio para implementar Rendez-Vous, usando sem-foros ou mutexes. No esquea de inicializar as variveis e semforos utilizados.Solues que incorram em espera ocupada (busy wait) no sero aceitas.

    1 // estrutura que representa um RV

    2 typedef struct rv_t

    3 {

    4 ... // completar

    5 } rv_t ;

    6

    7 // operador de espera no RV

    8 void rv_wait (rv_t *rv)

    9 {

    10 ... // completar

    11 }

    12

    13 // inicializao do RV

    14 void rv_init (rv_t *rv)

    15 {

    16 ... // completar

    17 }

    15. UmaBarreira um operador de sincronizao forte entreNprocessos outhreads,no qual eles esperam at que todos cheguem barreira. O exemplo a seguir ilustraseu uso:

    19

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    21/51

    c Carlos Maziero 4: Coordenao entre tarefas

    Processo A

    A 1 ( ) ;

    barrier_wait (b) ;A 2 ( ) ;

    barrier_wait (b) ;

    A 3 ( ) ;

    Processo B

    B 1 ( ) ;

    barrier_wait (b) ;

    B 2 ( ) ;

    barrier_wait (b) ;

    B 3 ( ) ;

    Processo C

    C 1 ( ) ;

    barrier_wait (b) ;C 2 ( ) ;

    barrier_wait (b) ;

    C 3 ( ) ;

    Processo D

    D 1 ( ) ;

    barrier_wait (b) ;

    D 2 ( ) ;

    barrier_wait (b) ;

    D 3 ( ) ;

    Considerando a relao a b como a ocorre antes de b e a relao a bcomo aebocorrem sem uma ordem definida, temos as seguintes restries desincronizao:

    (i,j), XY, Xi Yj>i(imposto pela barreira)

    (i,j), Xi Xj>i(imposto pela execuo sequencial)

    (i,j), XY, Xi Yj=i(possibilidade de execuo concorrente)

    Escreva o pseudo-cdigo necessrio para implementar barreiras para Nprocessos,

    usando semforos ou mutexes. No esquea de inicializar as variveis e semforosutilizados. Solues que incorram em espera ocupada (busy wait) no sero aceitas.

    1 // estrutura que representa uma barreira

    2 typedef struct barrier_t

    3 {

    4 ... // completar

    5 } barrier_t ;

    6

    7 // operador de espera no RV

    8 void barrier_wait (barrier_t *barrier)

    9 {

    10 ... // completar

    11 }

    12

    13 // inicializao de barreira para N processos

    14 void barrier_init (barrier_t *barrier, int N)

    15 {

    16 ... // completar

    17 }

    16. Implemente uma soluo em C para o problema do produtor/consumidor, usandothreads e semforos no padro POSIX.

    17. Implemente uma soluo em C para o problema do produtor/consumidor, usandothreads e variveis de condio no padro POSIX.

    20

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    22/51

    c Carlos Maziero 4: Coordenao entre tarefas

    18. Implemente uma soluo em C para o problema dos leitores/escritores compriorizao para escritores, usando threads e semforos POSIX.

    19. Implemente uma soluo em C para o problema dos leitores/escritores compriorizao para escritores, usando threads erwlocksPOSIX.

    20. Explique cada uma das quatro condies necessrias para a ocorrncia de impasses.

    21. Na preveno de impasses:

    (a) Como pode ser feita a quebra da condio de posse e espera?

    (b) Como pode ser feita a quebra da condio de excluso mtua?

    (c) Como pode ser feita a quebra da condio de espera circular?

    (d) Como pode ser feita a quebra da condio de no-preempo?

    22. Como pode ser detectada a ocorrncia de impasses, considerando disponvelapenas um recurso de cada tipo?

    23. Uma vez detectado um impasse, quais as abordagens possveis para resolv-lo?Explique-as e comente sua viabilidade.

    24. Em relao aos impasses:

    I. As condies necessrias para a ocorrncia de impasses so: excluso mtua,

    posse e espera, no-preempo e espera circular.II. A condio de no-preempo indica que os processos envolvidos no impasse

    devem ser escalonados de forma no-preemptiva.

    III. A condio de no-preempo pode ser detectada graficamente, no grafo dealocao de recursos.

    IV. A deteco e recuperao de impasses bastante usada, pois as tcnicas derecuperao so facilmente aplicveis.

    V. A condio de excluso mtua pode ser quebrada atravs do uso de processosgerenciadores de recursos ou de reas de spool.

    As asseres corretas so:

    (a) II

    (b) I, V

    (c) I, III

    (d) III, IV

    (e) II, V

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):25. Em relao aos impasses:

    21

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    23/51

    c Carlos Maziero 4: Coordenao entre tarefas

    I. A quebra da condio de no-preempo s pode ser aplicada a recursossimples como arquivos e semforos.

    II. A quebra da condio de posse e espera consiste em forar todos os processosa solicitar seus recursos em uma ordem global nica e pr-fixada.

    III. As condies necessrias para a ocorrncia de impasses so tambm sufici-entes se houver somente um recurso de cada tipo no conjunto de processosconsiderado.

    IV. A resoluo de impasses atravs derollbacks pode ser implementada emprocessos que executem I/O ou interao com o usurio.

    V. Uma vez detectado um impasse, ele pode ser facilmente resolvido atravs dapreempo dos recursos envolvidos.

    As asseres corretas so:

    (a) III, V

    (b) I

    (c) I, V

    (d) III

    (e) II, IV

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):26. Em relao aos impasses:

    I. Impasses ocorrem porque vrios processos tentam usar o processador aomesmo tempo.

    II. O algoritmo de deteco de impasses deve ser executado com a maiorfreqncia possvel, a fim de evitar que um impasse j formado se alastre.

    III. O principal problema com a quebra da condio de posse e espera que ataxa de uso dos recursos pode se tornar bastante baixa.

    IV. Os sistemas operacionais atuais provem vrios recursos de baixo nvel parao tratamento de impasses.

    V. Podemos encontrar impasses em sistemas de processos que interagem unica-mente por mensagens.

    As asseres corretas so:

    (a) I, II

    (b) II

    (c) III, V(d) V

    22

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    24/51

    c Carlos Maziero 4: Coordenao entre tarefas

    (e) III, IV

    Justifique as afirmaes julgadas erradas (Assim: VII est errada porque ...):27. Nos grafos de alocao de recursos da figura a seguir, indique o(s) ciclo(s) onde

    existe um impasse:

    28. A figura a seguir representa uma situao de impasse em um cruzamento detrnsito. Todas as ruas tm largura para um carro e sentido nico. Mostre que asquatro condies necessriaspara a ocorrncia de impasses esto presentes nessa

    situao. Em seguida, defina uma regra simples a ser seguida por cada carro paraevitaressa situao; regras envolvendo algum tipo de informao centralizadano devem ser usadas.

    23

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    25/51

    Captulo 5

    Gerncia de memria

    1. Explique a diferena entre endereoslgicose endereosfsicose as razes quejustificam seu uso.

    2. Explique em que consiste a resoluo de endereos nos seguintes momentos:codificao,compilao,ligao,cargaeexecuo.

    3. Como organizado o espao de memria de um processo?

    4. O que uma MMU Memory Management Unit?

    5. Seria possvel e/ou vivel implementar as converses de endereos realizadas pela

    MMU em software, ao invs de usar um hardware dedicado? Por que?6. Analise as seguintes afirmaes relativas ao uso da memria RAM pelos processos:

    I. Os endereos fsicos gerados pelo processador so convertidos em endereoslgicos atravs da MMU -Memory Management Unit.

    II. O acesso a endereos de memria invlidos notificado ao processadoratravs de interrupes geradas pela MMU.

    III. A rea de memriaTEXTcontm o cdigo-fonte a ser compilado e executadopelo processo.

    IV. A rea de memria DATA usada para armazenar todas as variveis econstantes usadas pelo processo.

    V. A rea de memriaHEAP usada para as alocaes dinmicas de memria,sendo usada atravs de funes como mallocefree.

    VI. A rea de memria STACKcontm as pilhas do programa principal e dasdemaisthreadsdo processo.

    Indique a alternativa correta:

    (a) As afirmaes II e III esto corretas.

    (b) As afirmaes I e V esto corretas.(c) Apenas a afirmao III est correta.

    24

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    26/51

    c Carlos Maziero 5: Gerncia de memria

    (d) As afirmaes II e V esto corretas.

    (e) As afirmaes IV e VI esto corretas.

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    7. Explique as principais formas de alocao de memria.

    8. Explique como feita a translao entre endereos lgicos e fsicos e o mecanismode tratamento de falta de pgina em um sistema de memria virtual paginada.

    9. Por que os tamanhos de pginas e quadros so sempre potncias de 2?

    10. Analise as seguintes afirmaes relativas s tcnicas de alocao de memria:

    I. Na alocao em parties fixas, a MMU composta basicamente de umregistrador e um somador.

    II. Na alocao contgua, a rea de memria acessvel a cada processo definidapor um registradorbasee um registradorlimite.

    III. A tcnica de alocao contgua imune a problemas de fragmentao externa.

    IV. A alocao por segmentos resolve o problema da fragmentao externa.

    V. Na alocao por segmentos, cada endereo de memria composto de duaspartes: segmentoedeslocamento.

    VI. A alocao por pginas resolve o problema da fragmentao externa.

    Indique a alternativa correta:

    (a) As afirmaes II, III e VI esto corretas.

    (b) As afirmaes I, II, V e VI esto corretas.

    (c) Apenas a afirmao V est correta.

    (d) As afirmaes IV e VI esto corretas.

    (e) Todas as afirmaes esto corretas.

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    11. Considerando a tabela de segmentos abaixo (com valores em decimal), calcule osendereos fsicos correspondentes aos endereos lgicos 0:45, 1:100, 2:90, 3:1.900 e4:200.

    Segmento 0 1 2 3 4Base 44 200 0 2.000 1.200Limite 810 200 1.000 1.000 410

    25

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    27/51

    c Carlos Maziero 5: Gerncia de memria

    12. Considerando a tabela de pginas abaixo, com pginas de 500 bytes1, informe osendereos fsicos correspondentes aos endereos lgicos 414, 741, 1.995, 4.000 e

    6.633, indicados em decimal.

    pgina 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15quadro 3 12 6 9 2 0 5 7 1

    13. Considere um sistema com endereos fsicos e lgicos de 32 bits, que usa tabelasde pginas com trs nveis. Cada nvel de tabela de pginas usa 7 bits do endereolgico, sendo os restantes usados para ooffset. Cada entrada das tabelas de pginasocupa 32 bits. Calcule, indicando seu raciocnio:

    (a) O tamanho das pginas e quadros, em bytes.(b) O tamanho mximo de memria que um processo pode ter, em bytes e

    pginas.

    (c) O espao ocupado pela tabela de pginas para um processo com apenas umapgina de cdigo, uma pgina de dados e uma pgina de pilha. As pginasde cdigo e de dados se encontram no inicio do espao de endereamentolgico, enquanto a pilha se encontra no final do mesmo.

    (d) Idem, caso todas as pginas do processo estejam mapeadas na memria.

    14. Analise as seguintes afirmaes relativas alocao paginada:

    I. Um endereo lgico comNbits dividido emPbits para o nmero de pginaeN Pbits para o deslocamento em cada pgina.

    II. As tabelas de pginas multinveis permitem mais rapidez na converso deendereos lgicos em fsicos.

    III. O bit de refernciaRassociado a cada pgina ligado pela MMU sempreque a pgina acessada.

    IV. O cache TLB usado para manter pginas frequentemente usadas na memria.

    V. O bit de modificao Massociado a cada pgina ligado pelo ncleosempre que um processo modificar o contedo da mesma.

    VI. O cache TLB deve ser esvaziado a cada troca de contexto entre processos.

    Indique a alternativa correta:

    (a) As afirmaes I, III e IV esto corretas.

    (b) As afirmaes II, V e VI esto corretas.

    (c) Apenas a afirmao III est correta.

    1

    Um tamanho de pgina de 500 bytes permite fazer os clculos mentalmente, sem a necessidade deconverter os endereos para binrio e vice-versa, bastando usar divises inteiras (com resto) entre osendereos e o tamanho de pgina.

    26

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    28/51

    c Carlos Maziero 5: Gerncia de memria

    (d) As afirmaes I, III e VI esto corretas.

    (e) Todas as afirmaes esto corretas.

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    15. Explique o que TLB, qual a sua finalidade e como seu funcionamento.

    16. Por que necessrio limpar o cache TLB aps cada troca de contexto entreprocessos? Por que isso no necessrio nas trocas de contexto entre threads?

    17. Um sistema de memria virtual paginada possui tabelas de pgina com trs nveise tempo de acesso memria RAM de 100 ns. O sistema usa um cache TLBde 64 entradas, com taxa estimada de acerto de 98%, custo de acerto de 10 ns e

    penalidade de erro de 50 ns. Qual o tempo mdio estimado de acesso memriapelo processador? Apresente e explique seu raciocnio.

    18. Explique o que fragmentao externa. Quais formas de alocao de memria estolivres desse problema?

    19. Explique o que fragmentao interna. Quais formas de alocao de memria estolivres desse problema?

    20. Em que consistem as estratgias de alocaofirst-fit,best-fit,worst-fitenext-fit?

    21. Considere um sistema com processos alocados de forma contgua na memria.Em um dado instante, a memria RAM possui os seguintes buracos, emseqncia e isolados entre si: 5K, 4K, 20K, 18K, 7K, 9K, 12K e 15K. Indique asituao final de cada buraco de memria aps a seguinte seqncia de alocaes:12K 10K 5K 8K 10K. Considere as estratgias de alocaofirst-fit,best-fit,worst-fitenext-fit.

    22. Considere um banco de memria com os seguintes buracos no-contguos:

    B1 B2 B3 B4 B5 B610MB 4MB 7MB 30MB 12MB 20MB

    Nesse banco de memria devem ser alocadas reas de 5MB, 10MB e 2MB, nestaordem, usando os algoritmos de alocaoFirst-fit,Best-fitouWorst-fit. Indique aalternativa correta:

    (a) Se usarmosBest-fit, o tamanho final do buraco B4 ser de 6 Mbytes.

    (b) Se usarmosWorst-fit, o tamanho final do buraco B4 ser de 15 Mbytes.

    (c) Se usarmosFirst-fit, o tamanho final do buraco B4 ser de 24 Mbytes.

    (d) Se usarmosBest-fit, o tamanho final do buraco B5 ser de 7 Mbytes.

    (e) Se usarmosWorst-fit, o tamanho final do buraco B4 ser de 9 Mbytes.

    27

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    29/51

    c Carlos Maziero 5: Gerncia de memria

    23. Considerando um sistema de 32 bits com pginas de 4 KBytes e um TLB com 64entradas, calcule quantos erros de cache TLB so gerados pela execuo de cada

    um dos laos a seguir. Considere somente os acessos matrizbuffer(linhas 5 e9), ignorando pginas de cdigo,heapestack. Indique seu raciocnio.

    1 unsigned char buffer[4096][4096] ;

    2

    3 for (int i=0; i

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    30/51

    c Carlos Maziero 5: Gerncia de memria

    pgina carga na memria ltimo acesso bit R bit Mp0 14 58 1 1

    p1 97 97 1 0p2 124 142 1 1p3 47 90 0 1p4 29 36 1 0p5 103 110 0 0p6 131 136 1 1p7 72 89 0 0

    Qual ser a prxima pgina a ser substituda, considerando os algoritmos LRU,FIFO, segunda chance e NRU? Indique seu raciocnio.

    31. Considere um sistema com 4 quadros de memria. Os seguintes valores soobtidos em dez leituras consecutivas dos bits de referncia desses quadros: 0101,0011, 1110, 1100, 1001, 1011, 1010, 0111, 0110 e 0111. Considerando o algoritmo deenvelhecimento, determine o valor final do contador associado a cada pgina eindique que quadro ser substitudo.

    32. Em um sistema que usa o algoritmo WSClock, o contedo da fila circular dereferncias de pgina emtc =220 indicado pela tabela a seguir. Considerandoque o ponteiro est emp0e que =50, qual ser a prxima pgina a substituir? Eno caso de =100?

    pgina ltimo acesso bit R bit Mp0 142 1 0p1 197 0 0p2 184 0 1p3 46 0 1p4 110 0 0p5 167 0 1p6 97 0 1p7 129 1 0

    33. Considere as seguintes afirmaes sobre memria virtual:

    I. Por Localidade de referncias entende-se o percentual de pginas de umprocesso que se encontram na memria RAM.

    II. De acordo com a anomalia de Belady, o aumento de memria de um sistemapode implicar em pior desempenho.

    III. A localidade de referncia influencia significativamente a velocidade deexecuo de um processo.

    IV. O algoritmo LRU implementado na maioria dos sistemas operacionais,devido sua eficincia e baixo custo computacional.

    29

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    31/51

    c Carlos Maziero 5: Gerncia de memria

    V. O compartilhamento de pginas implementado copiando-se as pginas acompartilhar no espao de endereamento de cada processo.

    VI. O algoritmo timo define o melhor comportamento possvel em teoria, masno implementvel.

    As afirmaes corretas so:

    (a) II, III e VI

    (b) I, II e IV

    (c) II, IV e V

    (d) I, IV e V

    (e) IV, V e VI

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    34. Construa um simulador de algoritmos de substituio de pgina. O simuladordeve receber como entrada a sequncia de referncias a pginas de memria egerar como sada o nmero de faltas de pgina geradas, para os algoritmos OPT,FIFO e LRU.

    35. Construa um simulador de algoritmos de alocao de memria contgua. Osimulador deve produzir aleatoriamente uma sequncia de blocos de memria

    de tamanhos diferentes, simular sua alocao e gerar como sada o nmero defragmentos livres de memria, os tamanhos do menor e do maior fragmentose o tamanho mdio dos fragmentos. Devem ser comparadas as estratgias dealocaofirst-fit,next-fit,best-fiteworst-fit.

    30

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    32/51

    Captulo 6

    Gerncia de arquivos

    1. Enumere os principais atributos de um arquivo.

    2. Enumere as principais operaes sobre arquivos.

    3. Apresente e comente as principais formas de atribuio de tipos aos arquivos.Quais so as vantagens e desvantagens de cada uma?

    4. Analise as seguintes afirmaes relativas a formatos de arquivos:

    I. Ummagic numberconsiste de um atributo numrico separado que identificao tipo de arquivo.

    II. A forma mais comum de identificao de tipo de arquivo o uso de extensesao seu nome.

    III. Arquivos de texto em sistemas DOS e UNIX diferem nos caracteres de controleusados para identificar o fim de arquivo.

    IV. Para a maioria dos ncleos de sistema operacional, arquivos so quase semprevistos como meras sequncias de bytes.

    V. ELF e PE so dois formatos tpicos de arquivos de configurao.

    VI. O padro MIME usado no Linux para identificao de tipos de arquivospelo sistema operacional.

    As alternativas corretas so:

    (a) II e IV

    (b) II e V

    (c) I e III

    (d) IV e V

    (e) III e VI

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):5. O que um ponteiro de arquivo? Para que ele serve?

    31

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    33/51

    c Carlos Maziero 6: Gerncia de arquivos

    6. Comente as principais formas de acesso a arquivos. Qual o uso mais apropriadopara cada uma delas?

    7. Quais as principais estruturas de diretrios empregadas em sistemas operacionais?

    8. Do ponto de vista lgico, quais as principais diferenas entre a estrutura dediretrios Unix e Windows?

    9. Explique os tipos de referncias possveis a arquivos em uma estrutura de diret-rios.

    10. Explique as formas de referncia a arquivos direta, absoluta e relativa.

    11. Analise as seguintes afirmaes relativas ao uso de arquivos:

    I. No acesso sequencial, o ponteiro de posio corrente do arquivo reiniciadoa cada operao.

    II. O acesso direto pode ser implementado usando o acesso sequencial e opera-es de posicionamento do ponteiro do arquivo.

    III. No acesso mapeado em memria, o contedo do arquivo copiado para amemria RAM durante a sua abertura.

    IV. O acesso indexado raramente implementado pelo ncleo em sistemasoperacionais desktop, sendo mais frequente em ambientes mainframe.

    V. Travas de uso exclusivo e compartilhado implementam um modelo desincronizao de tipoprodutor/consumidorno acesso ao arquivo.

    VI. Segundo a semntica de compartilhamento UNIX, o contedo de um arquivo considerado imutvel durante um compartilhamento.

    As alternativas corretas so:

    (a) II e IV

    (b) II e V

    (c) III e V

    (d) I e IV

    (e) III e VI

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    12. Um conjunto de processosp1, p2, p3e p4 abrem em leitura/escrita um arquivocompartilhado contendo um nmero inteiro, cujo valor inicial 34. As operaesrealizadas pelos processos so indicadas na tabela a seguir no formato [t, op], ondet o instante da operao eop a operao realizada:

    32

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    34/51

    c Carlos Maziero 6: Gerncia de arquivos

    p1 p2 p3 p4[0, open] [3, open] [7, open] [9, open]

    [2, write41] [6, write27] [8, read X] [11, read Y][6, close] [8, close] [9, write4] [12, close][10, close]

    Considerando a semntica de sesso para o compartilhamento de arquivos,determine os valores deXe Y, explicando seu raciocnio. Cada operao deescrita no arquivo substitui o valor anterior.

    13. Enumere principais problemas a resolver na implementao de um sistema dearquivos.

    14. Apresente a arquitetura de gerncia de arquivos presente em um sistema opera-cional tpico, explicando seus principais elementos constituintes.

    15. Explique o que alocao contgua de arquivos, apresentando suas vantagens edesvantagens.

    16. No contexto de alocao de arquivos, o que significa o termobest-fit?

    17. Explique a alocao de arquivos em listas encadeadas, apresentandosuas principaisvantagens e desvantagens.

    18. Explique a estrutura do sistema de arquivos conhecido como FAT, comentandosobre suas qualidades e deficincias.

    19. Por que a alocao de arquivos em listas encadeadas considerada pouco robusta?O que pode ser feito para melhorar essa caracterstica?

    20. Explique o esquema de alocao indexada de arquivos usando ndices multi-nveis.

    21. O que fragmentao interna e fragmentao externa? Por que elas ocorrem?

    22. Analise o impacto das fragmentaes interna e externa nos sistemas de alocaocontgua, indexada e por lista encadeadas.

    23. Considere um sistema operacional hipottico que suporte simultaneamente asestratgias de alocao contgua, encadeada e indexada para armazenamento dearquivos em disco. Que critrios devem ser considerados para decidir a estratgiaa usar para cada arquivo em particular?

    24. Avalie as seguintes afirmaes sobre as tcnicas de alocao de arquivos:

    I. A alocao contgua muito utilizada em sistemas desktop, por sua flexibili-dade.

    II. A alocao FAT uma alocao encadeada na qual os ponteiros de blocosforam transferidos para um vetor de ponteiros.

    33

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    35/51

    c Carlos Maziero 6: Gerncia de arquivos

    III. Na alocao indexada os custos de acesso seqencial e aleatrio a blocos sosimilares.

    IV. Na alocao contgua, blocos defeituosos podem impedir o acesso aos demaisblocos do arquivo.

    V. Na alocao contgua, o custo de acesso a blocos aleatrios alto.

    VI. Apesar de complexa, a alocao indexada muito usada em desktops eservidores.

    As afirmaes corretas so:

    (a) II, III e VI

    (b) I, III e IV

    (c) I, IV e V

    (d) II, IV e V

    (e) IV, V e VI

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    25. Considerando um arquivo com 500 blocos em disco, calcule quantas leituras equantas escritas em disco so necessrias para (a) inserir um novo bloco no inciodo arquivo ou (b) inserir um novo bloco no final do arquivo, usando as formas de

    alocao de blocos contgua, encadeada e indexada.

    Alocao Contgua Encadeada IndexadaOperaes leituras escritas leituras escritas leituras escritasInserir um novo

    bloco no inciodo arquivoInserir um novo

    bloco no final doarquivo

    Observaes:

    (a) Considere somente as operaes de leitura e escrita nos blocos do prprioarquivo e noi-node; a tabela de diretrio sempre est em memria;

    (b) Para a alocao contgua, assuma que no h espao livre depois do arquivo,somente antes dele;

    (c) Para a alocao encadeada, assuma que a tabela de diretrio contm apenasum ponteiro para o incio do arquivo no disco. Os ponteiros dos blocos estocontidos nos prprios blocos;

    (d) Para a alocao indexada, considerei-nodescom somente um nvel, contendosomente os ponteiros para os blocos de dados. O i-nodeest no disco.

    34

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    36/51

    c Carlos Maziero 6: Gerncia de arquivos

    26. Considere um disco rgido com capacidade total de 1 Mbyte, dividido em 1.024blocos de 1.024 bytes cada. Os dez primeiros blocos do disco so reservados para

    a tabela de parties, o cdigo de inicializao (boot) e o diretrio raiz do sistemade arquivos. Calcule o tamanho mximo de arquivo (em bytes) que pode sercriado nesse disco para cada uma das formas de alocao a seguir, explicando seuraciocnio:

    (a) Alocao contgua.

    (b) Alocao encadeada, com ponteiros de 64 bits contidos nos prprios blocos.

    (c) Alocao indexada, comi-nodescontendo somente ponteiros diretos de 64bits; considere que oi-nodeno contm meta-dados, somente ponteiros, e queele ocupa exatamente um bloco do disco.

    27. Considerando a tabela FAT (File Allocation Table) a seguir, indique:

    (a) o nmero de blocos ocupados pelo arquivorelat.pdf;

    (b) o tamanho (em blocos) do maior arquivo que ainda pode ser criado nessedisco;

    (c) quaisarquivosestontegrosequaisestocorrompidosporblocosdefeituosos(bad blocks);

    (d) quantos blocos do disco esto perdidos, ou seja, no so usados por arquivos

    nem esto marcados como livres ou defeituosos.Na tabela, a letraRindica bloco reservado (Reserved),Findica bloco livre (Free),Lindica o ltimo bloco de um arquivo (Last) eBindica bloco defeituoso (Bad).

    28. O sistema de arquivos indexado do sistemaMinixpossui os seguintes campos emcadai-node:

    meta-dados (tipo, dono, grupo, permisses, datas e tamanho)

    7 ponteiros diretos

    1 ponteiro indireto

    1 ponteiro duplamente indireto

    35

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    37/51

    c Carlos Maziero 6: Gerncia de arquivos

    A implementao bsica desse sistema de arquivos considera blocos de 1.024 bytese ponteiros de 32 bits. Desenhe o diagrama do sistema de arquivos e calcule o

    tamanho mximo de arquivo que ele suporta, indicando seu raciocnio.29. O sistema de arquivos indexado ext2fs, usado no Linux, possui os seguintes

    campos em cadai-node:

    meta-dados (tipo, dono, grupo, permisses, datas e tamanho)

    12 ponteiros diretos

    1 ponteiro indireto

    1 ponteiro duplamente indireto

    1 ponteiro triplamente indireto

    A implementao bsica doext2fsconsidera blocos de 1.024 bytes e ponteirosde 64 bits. Desenhe o diagrama do sistema de arquivos e determine o tamanhomximo de arquivo que ele suporta, indicando seu raciocnio.

    30. Explique como efetuada a gerncia de espao livre atravs de bitmaps.

    36

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    38/51

    Captulo 7

    Gerncia de entrada/sada

    1. Considere um escalonador de disco com os seguintes pedidos de leitura deblocos em sua fila, nessa ordem: 95, 164, 36, 68, 17 e 115. Determine todos osdeslocamentos da cabea de leitura do disco para atender esses pedidos e o nmerototal de blocos percorridos, para as polticas FCFS, SSTF, SCAN, C-SCAN, LOOKe C-LOOK. O disco tem 200 setores, numerados de 0 a 199, e a cabea de leituraacabou de percorrer os blocos 76 e 50, nessa ordem.

    37

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    39/51

    Captulo 8

    Segurana de sistemas

    1. Analise as seguintes afirmaes relativas s propriedades da segurana:

    I. A Confidencialidade consiste em garantir que as informaes do sistema estarocriptografadas.

    II. AIntegridadeconsiste em garantir que as informaes do sistema s poderoser modificadas por usurios autorizados.

    III. ADisponibilidadeimplica em assegurar que os recursos do sistema estarodisponveis para consulta por qualquer usurio.

    IV. AAutenticidadeimplica em assegurar que os dados das entidades atuantes

    no sistema sejam verdadeiros e correspondam s informaes do mundo realque elas representam.

    V. A Irretratabilidadeimplica em garantir que nenhuma ao possa ser desfeitano sistema.

    As alternativas corretas so:

    (a) II e IV

    (b) II e V

    (c) I e III

    (d) I e IV

    (e) III e V

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    2. Analise as seguintes afirmaes relativas aos princpios de segurana:

    I. Princpio doPrivilgio Mnimo: os processos devem receber o mnimo possvelde privilgios, para minimizar os riscos em caso de bugs ou erros.

    II. Princpio doDefault Seguro: os acessos permitidos devem ser explicitados;caso um acesso no seja explicitamente permitido, ele deve ser negado.

    38

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    40/51

    c Carlos Maziero 8: Segurana de sistemas

    III. Princpio da Separao de Privilgios: os privilgios dos usurios comunsdevem ser separados dos privilgios do administrador do sistema.

    IV. Princpio doProjeto Aberto: a robustez do mecanismo de proteo no devedepender de segredos de programao.

    V. Princpio daFacilidade de Uso: o uso dos mecanismos de segurana deve serfcil e intuitivo para os usurios.

    As alternativas corretas so:

    (a) I, II, III e IV

    (b) I, II, IV e V

    (c) II, III, IV e V(d) I, III, IV e V.

    (e) Todas

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    3. Relacione as situaes abaixo a ataques diretos (C)onfidencialidade, (I)ntegridade,(D)isponibilidade ou (A)utenticidade, justificando suas escolhas.

    [ ] Um programa que permite injetar pacotes falsos na rede.

    [ ] Um ataque de negao de servios atravs da rede.[ ] Um processo spywareque vasculha os arquivos do sistema em busca de

    senhas.

    [ ] int main { while (1) fork(); }

    [ ] Um site malicioso que imita um site bancrio.

    [ ] Um programa quebrador de senhas.

    [ ] Um processo que modifica o arquivo de sistema /etc/hosts para redirecionaracessos de rede.

    [ ] Um programa baixado da Internet que instala ummalwareoculto no sistemaoperacional.

    [ ] Uma pgina Web cheia de arquivosFlashpara sobrecarregar o processador.

    [ ] Um programa de captura de pacotes de rede.

    4. O cdigo a seguir apresenta uma vulnerabilidade de segurana. Indique qual essa vulnerabilidade e explique como ela pode ser usada por um atacante.

    39

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    41/51

    c Carlos Maziero 8: Segurana de sistemas

    1 #include

    2 #include

    3 #include

    4

    5 int confirma (char * pergunta)

    6 {

    7 char resp[20] ;

    8

    9 printf ("%s (sim/nao): ", pergunta) ;

    10 scanf ("%s", &resp[0]) ;

    11 if (! strcmp (resp, "sim")) return (1) ;

    12 return (0) ;

    13 }

    14

    15 int main ()

    16 {17 ...

    18

    19 if (confirma ("Devo apagar os valores?"))

    20 {

    21 ...

    22 }

    23 ...

    24 }

    5. Relacione os tipos demalwaress suas respectivas descries:

    (V)rus, (W)orm, (T)rojan, (R)ootkit, (B)ackdoor, (E)xploit

    [ ] Pode operar no nvel dos comandos, das bibliotecas, do ncleo do sistemaoperacional ou mesmo abaixo dele.

    [ ] Tcnicas de engenharia social geralmente so empregadas para induzir ousurio a executar esse tipo de programa.

    [ ] um programa que se propaga entre sistemas usando vulnerabilidades emseus servios.

    [ ] um trecho de cdigo que se infiltra em programas executveis, usando-os

    como suporte para sua execuo e propagao.[ ] um programa construdo para demonstrar ou explorar uma vulnerabilidade

    de um sistema.

    [ ] Pode usar sistemas de e-mail ou de mensagens instantneas para sua propa-gao.

    [ ] um programa que facilita a entrada do intruso em um sistema j invadido,ou que permite seu comando remotamente.

    [ ] Programa usado para esconder a presena de um intruso no sistema.

    [ ] Sua execuo depende da execuo do programa hospedeiro.

    [ ] um programa usado para enganar o usurio e faz-lo instalar outrosmalwares.

    40

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    42/51

    c Carlos Maziero 8: Segurana de sistemas

    [ ] Pode usar suportes de execuo internos (macros) de editores de texto parasua propagao.

    [ ] Costuma infectarpendrivesplugados em portas USB.

    6. Na srie de TV Futurama (escrita por Matt Groening, o mesmo autor dos Simpsons) usada uma escrita cifrada denominadaAlien Language. Essa codificao pode serdecifrada atravs da tabela a seguir:

    Explique qual o tipo de criptografia empregado naAlien Languagee indique qualo tamanho do espao de chaves da mesma.

    7. O texto em portugus a seguir foi cifrado usando o cifrador de Csar. Encontre otexto originale achaveusada para cifr-lo; explique seu procedimento.

    Kjqne fvzjqj vzj ywfsxkjwj t vzj

    xfgj j fuwjsij t vzj jsxnsf.

    Htwf Htwfqnsf.

    Para facilitar seu trabalho, a tabela a seguir traz a frequncia de caracteres tpicade textos na lngua portuguesa:

    letra freq% letra freq% letra freq% letra freq% letra freq%A 14,63 B 1,04 C 3,88 D 4,99 E 12,57F 1,02 G 1,30 H 1,28 I 6,18 J 0,40K 0,02 L 2,78 M 4,74 N 5,05 O 10,73P 2,52 Q 1,20 R 6,53 S 7,81 T 4,34U 4,63 V 1,67 W 0,01 X 0,21 Y 0,01

    Z 0,47

    41

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    43/51

    c Carlos Maziero 8: Segurana de sistemas

    8. O cifrador de Vigenre um mtodo de cifragem que combina vrios cifradoresde Csar em sequncia. Ele constitui um exemplo simples de cifrador polialfabtico.

    Para as operaes de cifragem/decifragem usada uma tabela denominadatabularasa:

    Para cifrar uma mensagem, primeiro se escolhe uma palavra-chave qualquer, que repetida at ter o mesmo comprimento da mensagem. Em seguida, cada caractereda mensagem original codificado usando uma cifra de substituio (cifradorde Csar). A cifra a usar para um caractere definida pela linha databula rasaindicada pela letra correspondente da palavra-chave. Um exemplo de cifragem

    usando a palavra-chave bicicleta indicado a seguir:

    Mensagem aberta Atacare m os ao amanhecer de sexta-feiraPalavra-chave bicicle t ab ic icletabic ic letab icicl

    Mensagem cifrada bbckcci f ot iq iolraedmt lg diqtb-ngqtl

    Use o cifrador de Vigenre para cifrar a mensagem secreta Encontramos aliensusando a palavra-chave missao:

    Msg aberta E n c o n t r a m o s a l i e n sPalavra-chave

    Msg cifrada

    42

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    44/51

    c Carlos Maziero 8: Segurana de sistemas

    9. Alice precisa enviar a imagem ISO de um CD confidencial a seus amigos Bob,Carol e David. Como o arquivo muito grande, ela o carregou em um servidor de

    arquivos acessvel remotamente. Contudo, esse servidor pode ser invadido e ascomunicaes entre eles podem ser capturadas. Como Alice pode cifrar o arquivoISO de forma que somente Bob, Carol e David possam abri-lo, cada um com suaprpria chave?

    10. Recentemente foi noticiado na imprensa que certificados digitais emitidos pelaAutoridade Certificadora holandesaDigiNotarhaviam sido falsificados e estavamsendo usados por um governo do oriente mdio para monitorar as comunicaesde seus cidados. Considerando o certificado falso do servio de e-mails doGoogle(mail.google.com), explique:

    (a) Neste contexto, em que consiste um certificado falso?(b) Qual a utilidade de um certificado falso na interceptao de comunicaes?

    (c) Por que somente os usurios do navegadorChrome(produzido pelo pr-prio Google) detectaram o certificado falso, enquanto usurios de outrosnavegadores no perceberam nada?

    11. O provedor de contedo TOL (Tabajara OnLine) decidiu implementar um novomecanismo de segurana em suas pginas web. Esse mecanismo consiste emadicionar uma etiqueta oculta (HTML tag) em cada pgina, contendo o nome doautor (name), a data de produo (date) e uma assinatura digitals. Essa assinatura constituida pelo hash criptogrfico do nome do autor e da data (hash(name + date)),cifrado usando a chave privada do autor da pgina. O contedo da pgina Webem si no cifrado. As chaves pblicas dos autores registrados podem ser obtidasemhttp://www.tol.com.br/pubkeys.html.

    Responda:

    (a) Que objetivo tinham em mente os proponentes desse mecanismo?

    (b) Esse esquema seguro? Por que?

    (c) Se o esquema no for seguro, indique um possvel ataque ao mesmo; caso

    seja seguro, explique por que esse mesmo ataque no funcionaria.

    12. Analise as seguintes afirmaes relativas s tcnicas de autenticao:

    I. Nas estratgias de autenticao SYK, o sistema autentica o usurio com baseem informaes fornecidas pelo mesmo.

    II. Nas estratgias de autenticao SYH, o sistema usa dados coletados dousurio para fazer sua autenticao.

    III. Nas estratgias de autenticao SYA, o usurio autenticado com base emsuas caractersticas fsicas.

    As alternativas corretas so:

    43

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    45/51

    c Carlos Maziero 8: Segurana de sistemas

    (a) I e II

    (b) II e III

    (c) I e III(d) Nenhuma delas

    (e) Todas elas

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    13. Analise as seguintes afirmaes relativas s tcnicas de autenticao:

    I. Para estar devidamente protegidas, as senhas armazenadas no sistema devemser cifradas com criptografia simtrica.

    II. A autenticao multi-fator consiste em autenticar o usurio usando duassenhas simultaneamente.

    III. A autenticao por tcnicas biomtricas deve usar caractersticas fsicasuniversais,singulares,permanentesemensurveisdos usurios.

    IV. Ostokensde segurana usados no acesso a servios bancrios pela Internetimplementam um esquema de senhas baseado em desafio-resposta.

    V. PAM e SSPI so infraestruturas de autenticao modulares usadas em sistemasoperacionais de mercado.

    As alternativas corretas so:(a) II e IV

    (b) II e V

    (c) I e III

    (d) IV e V

    (e) III e V

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    14. Qual a funo do sal usado em sistemas de autenticao por senhas? Expliquecomo o sal usado; sua explicao deve conter um diagrama.

    15. Analise as seguintes afirmaes relativas aos modelos de controle de acesso:

    I. Nos modelos de controle de acesso obrigatrios, o controle definido porregras globais incontornveis, que no dependem das identidades dos sujeitose objetos nem da vontade de seus proprietrios ou mesmo do administradordo sistema.

    II. Os modelos de controle de acesso discricionrios se baseiam na atribuiode permisses de forma individualizada, ou seja, pode-se conceder ou negara um sujeito especfico a permisso de executar uma ao sobre um dadoobjeto.

    44

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    46/51

    c Carlos Maziero 8: Segurana de sistemas

    III. O Modelo da matriz de controle de acesso uma forma de representaolgica de polticas discricionrias.

    IV. O modelo de Bell-LaPadula uma forma de representar polticas de controlede acesso obrigatrias que tenham foco em confidencialidade de dados.

    V. O modelo de Biba uma forma de representar polticas de controle de acessoobrigatrias que tenham foco em integridade de dados.

    VI. Os modelos de controle de acesso baseados em papis permitem desvincularos usurios das permisses sobre os objetos, atravs da definio e atribuiode papis.

    As alternativas corretas so:

    (a) I, II, IV(b) II, III, VI

    (c) I, II, III, V

    (d) Nenhuma delas

    (e) Todas elas

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    16. Analise a seguinte matriz de controle de acesso:

    f ile1 file2 program1 socket1Alice read read execute write

    write writeremoveowner

    Beto read read readwrite write owner

    removeowner

    Carol read execute readwrite

    Davi read write read readwriteowner

    Assinale a alternativa correta:

    (a) O usurioBetopode alterar as permisses dos recursos file1eprogram1(b) O usurio Alice tem a seguinte lista de capacidades: {f ile1 :

    (read, write, remove, owner),file2: (read, write),program1: (read, execute), socket1:(write) }

    45

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    47/51

    c Carlos Maziero 8: Segurana de sistemas

    (c) A lista de controle de acesso de file2 : {Alice : (read, write), Beto :(read, write, remove), Carol: (read), Davi: (write) }

    (d) A lista de capacidades de Beto : {f ile1 : (read, write), file2 :(read, write, remove, owner),program1: (read, owner) }

    (e) Nenhuma das anteriores

    17. Escreva as listas de controle de acesso (ACLs) equivalentes s listas de capacidadesa seguir:

    CL(Alice) ={ file1: (read, write, remove, owner),f ile2: (read),program1: (execute),socket1: (read, write) }

    CL(Beto) ={ file1: (read),f ile2: (read, write, remove, owner),program1: (read, execute, owner) }

    CL(Carol) ={ file2: (read, write),program1: (execute),socket1: (read, write) }

    CL(Davi) ={ file1: (read),f ile2: (write),program1: (read, execute),socket1: (read, write, owner) }

    18. Relacione as expresses a seguir aos modelos de controle de acesso de Bell(L)aPadula, (B)iba ou da (M)atriz de controle de acesso. Considere sum sujeito,o um objeto, h(s) o nvel de habilitao ou de integridade do sujeito e c(o) a

    classificao do objeto.[ ] request(si, oj, write) h(si) c(oj)

    [ ] request(si, oj, write) write Mi j[ ] request(si, oj, read) h(si) c(oj)

    [ ] request(si, oj, read) read Mi j[ ] request(si, oj, write) h(si) c(oj)

    [ ] request(si, oj, read) h(si) c(oj)

    19. Preencha a matriz de controle de acesso que corresponde seguinte listagem dearquivo em um ambiente UNIX:

    46

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    48/51

    c Carlos Maziero 8: Segurana de sistemas

    -rwxr-x--- 2 maziero prof 14321 2010-07-01 16:44 script.sh

    -rw------- 2 lucas aluno 123228 2008-12-27 08:53 relat.pdf

    -rwxr-x--x 2 daniel suporte 3767 2010-11-14 21:50 backup.py-rw-rw-r-- 2 sheila prof 76231 2009-18-27 11:06 cmmi.xml

    -rw-r----- 2 mariana aluno 4089 2010-11-09 02:14 teste1.c

    Observaes:

    Composio do grupoprof: {maziero,sheila}

    Composio do gruposuporte: {maziero,daniel}

    Composio do grupoaluno: {lucas,daniel,mariana}

    Preencha os campos da matriz com os caracteres r, w, x e -.

    script.sh relat.pdf backup.py cmmi.xml teste1.c

    maziero

    lucas

    daniel

    sheila

    mariana

    20. Em um sistema de documentao militar esto definidos os seguintes usurios esuas respectivas habilitaes:

    Usurio HabilitaoMarechal Floriano Ultrassecreto

    General Motors SecretoMajor Nelson Confidencial

    Sargento Tainha RestritoRecruta Zero Pblico

    Considerando operaes sobre documentos classificados, indique quais das opera-esaseguirseriampermitidaspelomodelodecontroledeacessodeBell-LaPadula:

    [ ] Sargento Tainha cria o documento secretocomunicado.txt

    47

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    49/51

    c Carlos Maziero 8: Segurana de sistemas

    [ ] Recruta Zero l o documento ultrassecretosalarios-dos-generais.xls

    [ ] General Motors escreve um memorando pblicoaviso-sobre-ferias.doc.

    [ ] Major Nelsonescreve umdocumentoconfidencial avarias-no-submarino.doc.

    [ ] Marechal Floriano l o documento restritocomunicado.txt.

    [ ] General Motors l o documento secretovendas-de-carros-2010.doc.

    [ ] Sargento Tainha l o documento restritoplano-de-ataque.pdf.

    [ ] Major Nelson l o documento confidencialprocessos-navais.html.

    [ ] Marechal Floriano escreve o documento secretonovas-avenidas.doc.

    [ ] Recruta Zero escreve o documento ultrassecretomeu-diario.txt.

    21. As listas de controle de acesso (ACLs) e as listas de capacidades (CLs) a seguir socomplementares, mas esto incompletas. Complete-as com as regras faltantes.

    ACL(o1) = { (u1: rwx) }ACL(o2) = { (u2: r) }ACL(o3) = { (u1: r) (u4: rw) }ACL(o4) = { (u2: rw) (u3: r) }

    CL(u1) = { (o2: rw) (o4: r) }CL(u2) = { (o1: rx) }

    CL(u3) = { (o1: rx) }CL(u4) = { (o4: rwx) }

    22. Considerando o modelo de controle de acesso de Bell & LaPadula, indique quetipo de acesso (R, W, RW ou ) um usurioupode ter sobre os documentos abaixoidentificados. Considere queh(u)= secretoe que C(u)= {vendas, rh}.

    [ ] d1: c(d1)= ultrassecretoe C(d1)= {vendas}

    [ ] d2: c(d2)= publicoe C(d2)= {rh, financeiro}

    [ ] d3: c(d3)= secretoe C(d3)= {rh}

    [ ] d4: c(d4)= reservadoe C(d4)= {rh, vendas}

    [ ] d5: c(d5)= confidenciale C(d5)= { }

    23. Muitas vezes, usurios precisam executar aes que exigem privilgios administra-tivos, como instalar programas, reconfigurar servios, etc. Neste contexto, analiseas seguintes afirmaes:

    I. No mecanismo UAC User Access Control dos sistemas Windows, umusurio administrativo inicia sua seo de trabalho com seus privilgios de

    usurio normal e recebe mais privilgios somente quando precisa efetuaraes que os requeiram.

    48

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    50/51

    c Carlos Maziero 8: Segurana de sistemas

    II. Alguns sistemas operacionais implementam mecanismos de mudana decredenciais, atravs dos quais um processo pode mudar de proprietrio.

    III. As POSIXCapabilitiesso uma implementao do mecanismo de capabilitiespara sistemas operacionais que seguem o padro POSIX.

    IV. Alguns sistemas operacionais separam os usurios em usurios normaisouadministrativos, atribuindo aos ltimos permisses para efetuar tarefasadministrativas, como instalar programas.

    V. Alguns sistemas operacionais implementam processosmonitoresque recebempedidos de aes administrativas vindos de processos com baixo privilgio,que so avaliados e possivelmente atendidos.

    VI. Os flagssetuidesetgiddo UNIX implementam um mecanismo de permis-

    ses temporrias.

    As alternativas corretas so:

    (a) I, II, IV, VI

    (b) II, III, VI

    (c) I, II, III, V

    (d) I, II, IV, V

    (e) Todas elas

    Justifique as afirmaes julgadas erradas (Assim: XIV est errada porque ...):

    24. O diagrama abaixo representa os principais componentes da infraestrutura decontrole de acesso de um sistema operacional tpico. Identifique e expliqueelementos representados pelas caixas tracejadas.

    49

  • 8/10/2019 So Exercicios - Carlos Maziero - UTFPR

    51/51

    c Carlos Maziero 8: Segurana de sistemas