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

Processos e Escalonamento em Sistemas Operacionais

Por:   •  6/7/2018  •  Trabalho acadêmico  •  1.229 Palavras (5 Páginas)  •  365 Visualizações

Página 1 de 5

Processos e Escalonamento em Sistemas Operacionais

Henrique Gaspar
 Centro de Ciências Tecnológicas
Universidade Estadual do Norte do Paraná
Bandeirantes-PR-Brasil
henriquegaspar12@hotmail.com

ABSTRACT

O presente artigo tem por objetivo, apresentar, explicitar e discutir alguns dos conceitos mais comuns, relacionados à sistemas operacionais, que são abordados em questões de concurso público, no Brasil.

Os argumentos contidos neste trabalho, são todos baseados em estudos e bibliografias de grandes autores da área de computação, mais especificamente aos que estão  relacionados à sistemas operacionais.

PALAVRAS-CHAVE

Concurso público, Sistemas Operacionais, Processos, Escalonamento de Processos,

1 Introdução

Com o avanço da ciência e tecnologia, a computação de um modo geral, tem se deparado com inúmeras possibilidades advindas dos recursos resultantes desse avanço, que nos dias atuais são considerados imprescindíveis, uma vez que estão presente na grande maioria das ações do cotidiano computacional.

Baseando-se nisso, este artigo tem por objetivo, apresentar, explicitar e discutir sobre os conceitos à respeito de processos e escalonamento de processos, no âmbito da disciplina de sistemas operacionais. Assuntos esses, que são muito comuns a serem cobrados em questões de concurso público.

Um dos focos principais em sistemas operacionais, é o estudo sobre os processos. Em uma escrita mais formal, segundo o que nos afirma Tanembaum “[...] processo: abstração de um programa em execução” [1].

2 Processos

Em toda a história computacional, os conceitos de tarefa e processo se confundem, e um dos principais motivos causadores dessa confusão, é que até metade da década de 80, os s.o (sistemas operacionais) mais antigos, tinham o suporte de uma tarefa para cada processo. Entretanto, na maioria dos novos s.o, o suporte para mais de uma tarefa por processo é possibilitado, como é o caso dos sistemas multiprogramáveis.

O conceito de processos, é uma das bases mais importantes quando se trata de um sistema multiprogramável. Entre as principais funções do sistema operacional, podemos encontrar a gerência de processos, essa que é responsável por alocar recursos para os programas, compartilhar dados e trocar informações. Em sistemas multiprogramáveis, a execução dos processos ocorre de maneira concorrente, onde o uso do processador é compartilhado, assim como o da memória principal e dos dispositivos de entrada e saída.

Atualmente, um processo pode ser visto como um contêiner de recursos que podem ser utilizados por uma ou mais tarefas para sua execução. Nos afirma Maziero (2009, p.38), “Os processos são isolados entre si pelos mecanismos de proteção providos pelo hardware (isolamento de áreas de memória, níveis de operação e chamadas de sistema) e pela própria gerência de tarefas, que atribui os recursos aos processos (e não às tarefas), impedindo que uma tarefa em execução no processo pa acesse um recurso atribuído ao processo pb.”[2]. A figura abaixo apresenta o conceito de processo mais detalhado, sendo visto como um “contêiner” de recursos.

Figura1: Contêiner de Processos        

[pic 1]

Fonte: Maziero, Carlos A. Sistemas Operacionais: conceitos e mecanismos, página 38 (2014).

No núcleo de um s.o, encontra-se a tabela de processos (ou Process Control Blocks, conhecido por alguns autores), que armazena todas as informações necessárias referentes aos processos, onde cada processo possui um PID (identificador único), os estados de cada processo e etc.

Um processo é formado por três partes principais, onde podemos encontrar o contexto de hardware que armazena todo o conteúdo dos registradores, o contador de programa, o ponteiro de pilha e o registro do status de cada processo. Outra parte de um processo encontra-se o contexto de software, onde nessa fase são especificados os limites e as características dos recursos a serem alocados pelo processo, entre eles o número de arquivos abertos ao mesmo tempo, a prioridade de execução e o tamanho do buffer também são propriedades importantes nessa fase. A última parte mais importante de um processo é o espaço de endereçamento, onde a área de memória e os dados de cada processo, são gravados.

Nos sistemas multiprogramáveis, os processos encontram-se em diferentes estados, durante toda a sua execução. Os processos são alternados e processados de acordo com as regras definidas no escalonador de processos de cada sistema operacional, que será abordado mais adiante neste capítulo.

Um processo em execução, em determinado momento, encontra-se em três diferentes estados, como podemos observar na figura 2.

Figura 2: Ilustração dos estados de um processo em execução

[pic 2]

Fonte: Tanembaum. Sistemas Operacionais Modernos (2009).

Em execução: o processo está sendo executado pela UCP, onde são alternados de acordo com regras estabelecidas no sistema operacional.

Bloqueado: o processo pode atingir esse estado, quando ele necessita de algum tipo de dado ou instrução para prosseguir executando. Para melhor entendimento, podemos observar um exemplo de entrada/saída onde após o término, o processo necessita de um dado do teclado como um “enter”.

Pronto: encontra-se nesse estado um processo que aguarda instruções para que volte a ser processado novamente, ou requerido por outro processo em outra execução.

...

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