Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas...

38
Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência de Processos; Conceito de processo (apresentação 13/05) Grupo 4 – O Núcleo do Sistema Operacional (apresentação 13/05)

Transcript of Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas...

Page 1: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Trabalho

Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05)Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05)Grupo 03 – Gerência de Processos; Conceito de processo

(apresentação 13/05)Grupo 4 – O Núcleo do Sistema Operacional (apresentação 13/05)

Page 2: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema de arquivos

Todos nós sabemos que dados - sejam eles partes de programas ou dados propriamente dito, como um texto ou uma planilha - devem ser armazenados em um sistema de memória de massa, já que a memória (RAM) do micro é apagada quando desligamos o computador. Memória de massa é o nome genérico para qualquer dispositivo capaz de armazenar dados para uso posterior, onde incluímos disquetes, discos rígidos, CD-ROMs, ZIP drives, etc . Dados são armazenados em forma de arquivos e a maneira com que os arquivos são armazenados e manipulados dentro de um disco (ou melhor dizendo, dentro de um sistema de memória de massa) varia de acordo com o sistema operacional.

Page 3: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

A capacidade de armazenamento

Na maioria das vezes, um disco é dividido em pequenas porções chamadas setores. Dentro de cada setor cabem 512 bytes de informação. Multiplicando-se o número total de setores de um disco por 512 bytes, teremos a sua capacidade de armazenamento. No caso de um disco rígido, ele possui na verdade vários discos dentro dele. Cada face de cada disco é dividida em círculos concêntricos chamados cilindros ou trilhas. Em cada trilha temos um determinado número de setores. É claro que toda esta divisão é invisível, pois é feita magneticamente. Para sabermos qual o número total de setores de um disco rígido, basta multiplicarmos sua geometria, ou seja, o seu número de cilindros, lados e setores por trilha. Um disco rígido que possua a geometria 2448 cilindros, 16 cabeças e 63 setores por trilha, terá 2448 x 16 x 63 = 2.467.584 setores. Multiplicando-se o número total de setores por 512 bytes, teremos sua capacidade total, no caso 1.263.403.008 bytes.

Page 4: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Importante notar que 1 KB não representa 1.000 bytes, mas sim 1.024, assim como 1 MB não representa 1.000.000 de bytes, mas sim 1.048.576. Muita gente arredonda e acaba errando nas contas. Lembre-se: 1 KB = 210, 1 MB = 220 e 1 GB = 230. No exemplo dado, o disco rígido seria de 1,18 GB (basta dividir a capacidade que encontramos em bytes por 230 para encontrarmos o resultado em gigabytes) e não 1,26 GB como seria de se supor.

A capacidade de armazenamento

Page 5: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

O sistema de arquivos utilizado pelo MS-DOS chama-se FAT-16. Neste sistema existe uma Tabela de Alocação de Arquivos (File Allocation Table, FAT) que na verdade é um mapa de utilização do disco. A FAT mapeia a utilização do espaço do disco, ou seja, graças à ela o sistema operacional é capaz de saber onde exatamente no disco um determinado arquivo está armazenado. Existem várias posições na FAT, sendo que cada posição aponta a uma área do disco. Como cada posição na FAT-16 utiliza uma variável de 16 bits, podemos ter, no máximo, 216 = 65.536 posições na FAT. Como em cada setor cabem apenas 512 bytes, concluímos que, teoricamente, poderíamos ter discos somente de até 65.536 x 512 bytes = 33.554.432 bytes ou 32 MB.

O sistema de arquivos FAT-16

Page 6: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Por este motivo, o sistema FAT-16 não trabalha com setores, mas sim com unidades de alocação chamadas clusters, que são conjuntos de setores. Em vez de cada posição da FAT apontar a um setor, cada posição aponta para um cluster, que é um conjunto de setores que poderá representar 1, 2, 4 ou mais setores do disco.

O sistema de arquivos FAT-16

Tamanho do ClusterCapacidade Máxima de Armazenamento

2 KB 128 MB

4 KB 256 MB

8 KB 512 MB

16 KB 1 GB

32 KB 2 GB

Page 7: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

O tamanho do cluster é definido automaticamente pelo sistema operacional quando o disco é formatado, seguindo a tabela. Um disco rígido de 630 MB utilizará clusters de 16 KB, enquanto um de 1, 7 GB utilizará clusters de 32 KB. Como a menor unidade a ser acessada pelo sistema operacional será o cluster, isto significa que os arquivos deverão ter, obrigatoriamente, tamanhos múltiplos do tamanho do cluster. Isto significa que um arquivo de 100 KB em um disco rígido que utilize clusters de 8 KB obrigatoriamente ocupará 13 clusters, ou 104 KB, pois este é o valor mais próximo de 100 KB que conseguimos chegar utilizando clusters de 8 KB. Neste caso, 4 KB serão desperdiçados.

Desperdício: Um grave problema

Page 8: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Quanto maior o tamanho do cluster, maior o desperdício. Se o mesmo arquivo de 100 KB for armazenado em um disco rígido que utilize clusters de 16 KB, ele obrigatoriamente utilizará 7 clusters, ou 112 KB. E, para o caso de um disco rígido com clusters de 32 KB, este mesmo arquivo ocupará 4 clusters, ou 128 KB.

O desperdício em disco é um dos maiores problemas do sistema FAT, característica que chamamos de slack space. Quando maior o tamanho do cluster, mais espaço em disco é desperdiçado.

Para saber qual o tamanho do cluster que está sendo utilizado em seu disco rígido, basta utilizar o comando CHKDSK, observando a linha "xxxxxx bytes em cada unidade de alocação", onde "xxxxx" é o tamanho do cluster em bytes.

Desperdício: Um grave problema

Page 9: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.
Page 10: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Vimos que o grande vilão do sistema FAT-16 é o desperdício em disco. Há, contudo, outro grande problema: o sistema FAT-16 não reconhece diretamente discos maiores que 2 GB. Para que discos com mais de 2 GB possam ser utilizados, devemos particioná-los, ou seja, dividi-los logicamente em outros menores que 2 GB. No caso de um disco rígido de 2,5 GB devemos obrigatoriamente dividi-lo em dois, podendo esta divisão ser, por exemplo, uma unidade de 2 GB e outra de cerca de 500 MB. - multiprocessamento

Page 11: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Junto com a última revisão do Windows 95 (chamado Windows 95 OSR2), a Microsoft lançou um novo sistema de arquivos, denominado FAT-32. Este sistema estará presente também no novo sistema operacional da Microsoft, o Memphis.

Com o sistema FAT-32 o tamanho dos clusters é sensivelmente menor, o que faz com que haja bem menos desperdício. Este sistema permite, também, que discos rígidos de até 2 terabytes (1 TB = 2^40 bytes) sejam reconhecidos e acessados diretamente, sem a necessidade de particionamento.

FAT-32

Page 12: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

FAT- 32

Tamanho do ClusterCapacidade Máxima de Armazenamento

512 bytes 256 MB

4 KB 8 GB

8 KB 16 GB

16 KB 32 GB

32 KB 2 TB

Page 13: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

FAT- 32

O sistema FAT-32 apresenta, porém, uma série de pequenos problemas:

  Disco que utilizem o sistema FAT-32 não são "enxergados" por outros sistemas operacionais que não sejam o Windows 95 OSR2. Até mesmo o Windows 95 tradicional não acessa discos que estejam formatados com o sistema FAT-32.

  Utilitários de manutenção de disco rígido mais antigos também não acessam discos formatados em FAT-32, como, por exemplo, o Norton Utilities (a última versão do Norton Utilities já reconhece discos em FAT-32).

  Não é mais rápido. No geral é cerca de 6 % mais lento que o sistema FAT-16. Quanto mais clusters o disco rígido tiver e quanto menor eles forem, mais lento será o sistema de armazenamento de dados.

Page 14: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

HPFS e NTFS: As verdadeiras soluções

A verdadeira solução para o problema de desperdício em disco é a utilização de um outro sistema de arquivos que não o FAT. O sistema operacional OS/2, por exemplo, possui um excelente sistema de arquivos denominado HPFS (High Performance File System). O sistema operacional Windows NT também possui o seu próprio (e também excelente) sistema de arquivos, denominado NTFS (New Technology File System).

No caso do OS/2 e do Windows NT, na hora de sua instalação o usuário pode optar em utilizar o sistema FAT-16 ou então o HPFS/NTFS. A vantagem destes sistemas de arquivo é que não há desperdício em disco, pois não há clusters: a menor unidade de alocação é o próprio setor de 512 bytes.

Page 15: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

HPFS e NTFS: As verdadeiras soluções

A desvantagem óbvia destes sistemas de arquivos: só podem ser utilizados em conjunto com os seus sistemas operacionais. Ou seja, não há como instalar o HPFS no Windows 95... Outra desvantagem: assim como o sistema FAT-32, não são "enxergados" por outros sistemas operacionais diretamente (há, contudo, alguns "macetes" que permitem com que esta limitação seja transposta).

Page 16: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema distribuído

IntroduçãoO que é um sistema distribuído?É uma coleção de computadores independentes que aparenta ser um

único computadoraos seus usuários.Conceitos relacionados a hardware e software, respectivamente.Exemplos: Rede com estações de trabalho e processadores stand-alone

alocados pordemanda com um sistema de arquivos unificado.Sistema bancário com terminais espalhados geograficamente e um único

banco de dados.

Page 17: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema distribuído

Vantagens de sistemas distribuídos sobre sistemas centralizados.Lei de Grosch – O poder de computação de um computador é proporcional ao

quadrado do seu preço. (Aplicável a mainframes).No caso de microprocessadores, é mais barato se comprar vários processadores

e montá-los em um sistema multi-processador. (preço)Em alguns casos, é teoricamente impossível de se construir um computador

centralizado que possa ser comparado a um sistema distribuído com uma grande quantidade de processadores. (velocidade)

Algumas aplicações são inerentemente distribuídas - sistema de uma cadeia de lojas, jogos ou outras aplicações cooperativas. (distributividade inerente)

Page 18: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema distribuído

Maior confiabilidade, útil em aplicações de alto risco. (confiabilidade)Crescimento incremental – acaba com necessidade da compra de

mainframes cada vez maiores, agora o sistema pode ser trocado aos poucos. (crescimento incremental)

Page 19: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema distribuído

Vantagens de sistemas distribuídos sobre micros independentes:Compartilhamento de dados. (colaboração e preço)Compartilhamento de dispositivos. (preço)Comunicação.Mistura de computadores pessoais e compartilhados pode permitir uma

distribuição de tarefas mais eficiente. (flexibilidade)

Page 20: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema distribuído

Desvantagens de sistemas distribuídos:Software – sistemas operacionais, linguagens de programação e

aplicações.Comunicação – tratamento e recuperação de mensagens. Melhoria da

rede pode acarretar em custos altos.Segurança – Compartilhamento de dados implica em esquemas

especiais para proteção de dados sigilosos.

Page 21: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema distribuído

Conceitos de SoftwareA imagem que o sistema apresenta aos usuários é quase que

completamente determinada pelo sistema operacional.Software fracamente acoplado (loosely-coupled) permite que máquinas e

usuários sejam fundamentalmente independentes dos outros. Exemplo: LAN.

Software fortemente acoplado (tightly-coupled) funciona como uma única máquina.

Exemplo: Computador multiprocessador que executa um programa de xadrez em paralelo.

Page 22: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Sistema distribuído

Existem 8 possíveis combinações de hardware e software, entretanto somente quatro são distinguíveis pelos usuários já que os mesmos não tem a noção de qual tecnologia de interconexão está sendo utilizada (com barramento ou switches). Das 4 opções restantes, a combinação hardware fortemente acoplado e software fracamente acoplado não faz sentido, já que se estaria indo de encontro ao objetivo principal da construção de um SD.

Page 23: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

O conceito de processo é, certamente, o conceito mais importante no estudo de sistemas operacionais. Para facilitar o entendimento deste conceito, considere-se um computador funcionando em multiprogramação (isto é, tendo vários programas simultaneamente ativos na memória). Cada programa em execução corresponde a um procedimento (seqüência de instruções) e um conjunto de dados (variáveis utilizadas pelo programa). É conveniente ter-se instruções separadas dos dados, pois isso possibilita o compartilhamento do código do procedimento por vários programas em execução (neste caso diz-se que o procedimento e reentrante ou puro). Se cada programa em execução possui uma pilha própria, então os dados podem ser criados (alocados) na própria pilha do programa.

Page 24: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

Além das instruções e dados, cada programa em execução possui uma área de memória correspondente para armazenar os valores dos registradores da UCP, quando o programa, por algum motivo, não estiver sendo executado. Essa área de memória é conhecida como registro descritor (ou bloco descritor, bloco de contexto, registro de estado, vetor de estado) e, além dos valores dos registradores da UCP, contém outras informações.Assim, em um determinado sistema, cada programa em execução constitui um processo. Portanto, podemos definir processo como sendo um programa em execução, o qual é constituído por uma seqüência de instruções, um conjunto de dados e um registro descritor.

Page 25: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

Num ambiente de multiprogramação, quando existe apenas um processador na instalação, cada processo é executado um pouco de cada vez, de forma intercalada. O sistema operacional aloca a UCP um pouco para cada processo, em uma ordem que não é previsível, em geral, pois depende de fatores externos aos processos, que variam no tempo (carga do sistema, por exemplo). Um processo após receber a UCP, só perde o controle da execução quando ocorre uma interrupção ou quando ele executa um trap, requerendo algum serviço do sistema operacional.

Page 26: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

As interrupções são transparentes aos processos, pois o efeitos das mesmas é apenas parar, temporariamente, a execução de um processo, o qual continuará sendo executado, mais tarde, como se nada tivesse acontecido. Um trap, por outro lado, é completamente diferente, pois bloqueia o processo até que o serviço requerido pelo mesmo, ao sistema operacional, seja realizado.Deve ser observado que um processo é uma entidade completamente definida por si só, cujas operações (instruções executadas) se desenvolvem no tempo, em uma ordem que é função exclusiva dos valores iniciais de suas variáveis e dos dados lidos durante a execução.

Page 27: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

Em um sistema com multiprocessamento (com mais de uma UCP), a única diferença em relação ao ambiente monoprocessado é que o sistema operacional passa a dispôr de mais processadores para alocar os processos, e neste caso tem-se realmente a execução simultânea de vários processos.

Page 28: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

Processos paralelos são denominados concorrentes ou assíncronos e, de acordo com o tipo de interação existente entre eles, podem ser classificados como disjuntos (não interativos), quando operam sobre conjuntos distintos de dados, ou interativos, quando têm acesso a dados comuns. Processos interativos podem ser competitivos, se competirem por recursos, e/ou cooperantes, se trocarem informações entre si.No caso de computações realizadas por processos interativos, como a ordem das operações sobre as variáveis compartilhadas pode variar no tempo (pois as velocidades relativas dos processos dependem de fatores externos que variam no tempo), o resultado da computação pode não depender somente dos valores iniciais das variáveis e dos dados de entrada. Quando o resultado de uma computação varia de acordo com as velocidades relativas dos processos diz-se que existe uma condição de corrida (race condition). É necessário evitar condições de corrida para garantir que o resultado de uma computação não varie entre uma execução e outra. Condições de corrida resultam em computações paralelas errôneas, pois cada vez que o programa for executado (com os mesmos dados) resultados diferentes poderão ser obtidos. A programação de computações paralelas exige mecanismos de sincronização entre processos, e por isso sua programação e depuração é bem mais difícil do que em programas tradicionais.

Page 29: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

interrupção(conclusão do serviço)

trap

interrupção bloqueado

pronto

executando

escalonador

Page 30: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

O componente do sistema operacional que, após o atendimento de uma interrupção ou trap, escolhe o próximo processo a ser executado é denominado escalonador de processos (scheduler) ou despachador de processos (dispatcher).

Em geral, um trap faz com que o processo fique bloqueado. Entretanto, em algumas ocasiões especiais, quando o sistema operacional pode atender imediatamente a requisição de serviço, o processo pode ser novamente despachado, não ocorrendo o bloqueio.

Page 31: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

Quando um job é admitido no sistema, um processo correspondente é criado e normalmente inserido no final da ready list. O processo se move gradualmente para a cabeça da ready list, conforme os processos anteriores a ele forem sendo usados pela UCP.

Quando o processo alcança a cabeça da lista, e quando a UCP torna-se disponível, o processo é dado à UCP e diz-se que foi feito uma transição do estado ready para o estado running. A transferência da UCP para o primeiro processo da ready list é chamada dispatching, e é executada pelo dispatcher (ou escalonador). Este transição de estado pode ser ilustrada da seguinte forma:

Dispatch(processname): ready running

Page 32: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de ProcessoPara prevenir que um processo monopolize o sistema acidentalmente ou

propositadamente, o S.O. (Sistema Operacional) tem um relógio interno (interrupting clock ou interval timer) que faz com que o processo execute somente por um intervalo de tempo específico ou quantum. Se o processo voluntariamente não libera a UCP antes de expirar seu intervalo de tempo, o interrupting clock gera uma interrupção, dando ao S.O. o controle novamente. O S.O. torna o processo corrente (running) em pronto (ready) e torna o primeiro processo da ready list em corrente. Estas transições de estado são indicadas como:

TimerRunOut(processname): running readyDispatch(processname): ready

running

Page 33: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

Se um processo corrente iniciar uma operação de I/O antes de expirar o seu quantum, o processo corrente voluntariamente libera a UCP (isto é, ele se bloqueia, ficando pendente até completar a operação de I/O). Esta transição de estado é:

Block(processname): running blockedQuando é terminada a operação que fez com que o estado fique

bloqueado, este passa para o estado pronto. A transição que faz tal operação é definida como:

WakeUp(processname): blocked ready

Page 34: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

Conceito de Processo

Se um processo corrente iniciar uma operação de I/O antes de expirar o seu quantum, o processo corrente voluntariamente libera a UCP (isto é, ele se bloqueia, ficando pendente até completar a operação de I/O). Esta transição de estado é:

Block(processname): running blockedQuando é terminada a operação que fez com que o estado fique

bloqueado, este passa para o estado pronto. A transição que faz tal operação é definida como:

WakeUp(processname): blocked ready

Page 35: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

O Núcleo do Sistema Operacional

Todas as operações envolvendo processos são controladas por uma porção do sistema operacional chamada de núcleo, core, ou kernel. O núcleo normalmente representa somente uma pequena porção do código que em geral é tratado como sendo todo o sistema operacional, mas é a parte de código mais intensivamente utilizada. Por essa razão, o núcleo ordinariamente reside em armazenamento primário (memória RAM) enquanto outras porções do sistema operacional são chamadas da memória secundária quando necessário.

Page 36: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

O Núcleo do Sistema Operacional

Uma das funções mais importantes incluídas no núcleo é o processamento de interrupções. Em grandes sistemas multiusuário, uma constante rajada de interrupções é direcionada ao processador. Respostas rápidas a essas interrupções são essenciais para manter os recursos do sistema bem utilizados, e para prover tempos de resposta aceitáveis pelos usuários.

Page 37: Trabalho Grupo 01 – Sistemas de arquivos (apresentação 29/04 e 06/05) Grupo 02 – Sistemas distribuídos (apresentação 29/04 e 06/05) Grupo 03 – Gerência.

O Núcleo do Sistema Operacional

O núcleo desabilita interrupções enquanto ele responde a uma interrupção; interrupções são novamente habilitadas após o processamento de uma interrupção estar completo. Com um fluxo permanente de interrupções, é possível que o núcleo mantenha interrupções desabilitadas por um grande porção de tempo; isto pode resultar em respostas insatisfatórias para interrupções. Entretanto, núcleos são projetados para fazer o “mínimo” processamento possível para cada interrupção, e então passar o restante do processamento de uma interrupção para um processo apropriado do sistema que pode terminar de tratá-las enquanto o núcleo continua apto a receber novas interrupções. Isto significa que as interrupções podem ficar habilitadas durante uma porcentagem muito maior do tempo, e o sistema torna-se mais eficiente em responder a requisições das aplicações dos usuários.