TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Fundamentos de Sistemas Operacionais - Unidade III - Resumo

Por:   •  28/5/2019  •  Resenha  •  1.103 Palavras (5 Páginas)  •  408 Visualizações

Página 1 de 5

Fundamento de S.O.s – Unidade III

5.1 – Intro. a processos

Os sistemas conseguem desenvolver grande variedade de tarefas simultaneamente, mas só notamos essa capacidade extraordinária quando ela falha, sobrecarrega e vemos queda de desempenho;

Um server de arquivos no cérebro dele no momento de pico de uso do sistema, veríamos dezenas, em casos centenas, de usuários fazendo milhares de requisições ao mesmo tempo, o antivírus varrendo tudo, o software de gerenciamento de redes monitorando e diversos discos RAID necessitam processar suas funcionalidades, é necessário que os processos estejam em plena ação;

Em todos os sistemas com “paralelismo” temos a CPU trabalhando algumas dezenas ou centenas de milissegundos numa única aplicação e subsequentemente na próxima até o ciclo se completar, devido a rapidez dos ciclos isso gera a sensação de que o ambiente está atendendo a várias aplicações simultaneamente;

Só em sistemas de múltiplos processadores que temos vários programas atendidos no mesmo instante, controlar várias atividades em paralelo é algo sendo desenvolvido e aprimorado com base no modelo de processos sequenciais.

5.1.1 Processo

O CPU pode executar um processo por vez, mesmo com dois cores (duas CPUs) ainda é o mesmo só um processo por vez;

Processo é uma atividade, possuindo um programa, entrada, saída e um estado;

Processos podem conter mais de uma tarefa, ou seja tarefa e processo são diferentes;

No núcleo de S.O. temos PCBs (Process Control Blocks) que armazena as informações referentes aos processos ativos no ambiente, cada processo tem um identificador único no sistema, o PID – Process IDentifier;

5.1.2 Criação de processos

Processos são criados e destruídos constantemente nos sistemas, essas ops. Disponibilizam aplicações por meio de chamadas de sistema que diferem entre S.O.s;

Para Sistemas de proposito gerais, é preciso algum mecanismo para criar e terminar processos durante a operação quando preciso;

Temos 4 eventos que criam processos: no inicio do sistema, um processo em execução procedendo a uma chamada de sistema de criação de um processo, requisição do usuário e batch job sendo iniciada;

Temos processos de 1º e 2º plano(daemons) estes de 2º não interagem diretamente com o user;

Processos ativos podem fazer system calls para criar novos processos;

Users podem iniciar um processo começando um programa em ambiente GUI ou no Shell;

Em caso de sistemas em lote, encontrados em mainframes, o user, admin ou até um alinhamento prévio pode submeter uma tarefa em lote para o sistemas, o S.O. criara um novo processo e o executara quando tiver recurso disponível e/ou redefinindo prioridades e eecutando o processo no momento determinado;

No Unix temos a chamada fork para criar um processo, ela cria uma replica do processo pai, e depois o filho executa “execve”, ou uma chamada similar pra mudar sua imagem de memoria e executar um novo programa;

No Windows uma chamada denominada CreateProcess de função do Win32 trata o processo de criação e carga do programa correto no novo processo;

Em ambos sistemas o processo pai e filho possuem seus próprios espaços de endereçamento da memoria, permitndo assim que não impacte um ao outro ao alterar palavra no endereçamento;

5.1.3 Término de processos

Quatro condições: normal,por erro, erro fatal e cancelado por terceiros;

No normal que é elo exit no Unix ou ExitProcess no Windows, termina após finalizar as tarefas previstas;

Processos que interagem com outros não concluem quando algum parâmetro errado é fornecido, tipo tentar dar o mesmo nome para dois arquivos, da então saída por erro;

Erro fatal é por erro de programa, por execução de instrução ilegal, referencia a memoria enxistennte ou divisão por 0;

Cancelamento por terceiros, é quando um processo executa uma chamada de sistema para cancelar outro processo, no Linux/unix é o kill e on Windows é TerminateProcess;

5.2 Comunicação entre processos

3 topicos: Como passam informação para ooutro, como garantir múltiplos processos não entrem em conflito e como haverá sequencia adequada quando existirem dependências;

5.2.1 – condição de corrida

Processos podem compartilhar aalgum armazenamento comum e serem capazes de ler e excrever, pode estar na memoria principal ou em arquivo compartilhado;

Como dois processos X e Y que decidem colocar um arquivo ArquivoX e ArquivoY, depois le a variável In do spool e armazena o 1 em sua var vaga_impressão_disponivel, então a CPU troca pra o  achando que X já ocupou o tempo necessário, então Y ve o In vago e faz o mesmo que X em sua var, os dois contem a posição 1 indicando a vaga 1 na fila;

...

Baixar como (para membros premium)  txt (7.1 Kb)   pdf (47.4 Kb)   docx (10.2 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com