SO Atividade 5: questões 1 – Defina o conceito de processo. Um processo pode ser definido como o ambiente onde um programa é executado. Este ambiente, além das informações sobre a execução, possui também o quanto de recursos do sistema cada programa pode utilizar, como o espaço de endereçamento, tempo de processador e área em disco. 2 – Quais os estados que podem assumir? 3 – Descreva as quatro transições da figura abaixo. 4 – A figura abaixo ilustra uma árvore de processos, descreva-a em relação aos processos pais e filhos. 5 – 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 (UCP) entre vários processos. Com base nessa afirmação, marque V (verdadeiro) ou F (falso) para cada uma das afirmativas abaixo e, em caso de F (falso), justifique. (4,0) a) Havendo compartilhamento de UCP entre processos, significa que mais de um processo, num dado instante, estará no estado de execução. b) 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. c) S.O. modernos disponibilizam chamadas de sistemas aos desenvolvedores de aplicativos, para que esses possam criar, duplicar e extinguir processos. d) Processos em estado bloqueado (espera) são aqueles que, num dado instante, estão utilizando todo o poder de processamento da UCP. e) Um processo é basicamente um programa em execução. Associado a cada processo está o seu espaço de endereçamento que contém código executável, dados e pilha. f) Um processo, em um sistema multiprogramável (multitarefa), não é executado todo o tempo pelo processador. Durante sua existência, ele passa por uma série de estados. Basicamente, existem três estados em que um processo pode se encontrar no sistema. g) Execução (running), um processo é classificado como running quando aguarda uma oportunidade para executar, ou seja, esperando que o sistema operacional aloque a UCP para sua execução. h) Pronto (ready), um processo é dito neste estado quando está sendo processado pela UCP. Em sistemas com apenas um processador, somente um processo pode estar pronto em um dado instante de tempo. i) Espera (wait) ou bloqueado, neste estado um processo aguarda algum evento externo ou por algum recurso para poder prosseguir seu processamento. Como exemplo, podemos citar o término de uma operação de entrada/saída ou a espera de uma determinada data e/ou hora para poder continuar sua execução. 6 – Por que o conceito de processo é tão importante no projeto de sistemas multiprogramáveis? Através de processos, um programa pode alocar recursos, compartilhar dados, trocar informações e sincronizar sua execução. Nos sistemas multiprogramáveis os processos são executados concorrentemente, compartilhando o uso do processador, memória principal, dispositivos de E/S dentre outros recursos. 7 – Aponte como podem ocorrer a criação e término de processos. Ver no livro. 8 – É possível que um programa execute no contexto de um processo e não execute no contexto de um outro? Por que? Sim, pois a execução de um programa pode necessitar de recursos do sistema que um processo pode possuir enquanto outro não. 9 – Quais partes compõem um processo? Ver no livro. 10 – Como o sistema operacional implementa o conceito de processo? Qual a estrutura de dados indicada para organizar os diversos processos na memória principal? O processo é implementado pelo sistema operacional através de uma estrutura de dados chamada bloco de controle do processo (Process Control Block — PCB). A partir do PCB, o sistema operacional mantém todas as informações sobre o contexto de hardware, contexto de software e espaço de endereçamento de cada processo. 11 – O que são processos CPU-bound e I/O-bound? Dê exemplos de aplicações. 12 – Dado a figura abaixo, identifique qual processo é CPU-bound e I/O-bound.