Sistemas operacionais Conceitos básicos
Tese: Sistemas operacionais Conceitos básicos. Pesquise 862.000+ trabalhos acadêmicosPor: scarlate • 28/3/2014 • Tese • 1.037 Palavras (5 Páginas) • 419 Visualizações
Conceitos Basicos Processos
A maior parte dos sistemas operacionais de multitarefa (uma CPU compartilhada por diversos processos) ou multiprocessamento (múltiplas CPUs de multitarefa compartilhada por vários processos simultaneamente) oferecem facilidades de comunicação entre processos (IPC). Os processos que rodam em paralelo e, que através destas facilidades se comunicam , são processos concorrentes, mesmo que estejam rodando em máquinas distintas.
A comunicação entre estes processos pode ser feita através de mecanismos dinâmicos, como memória compartilhada ou facilidades de IPC (o melhor exemplo é o RPC), ou estáticos, como bloqueios de sistema de arquivos.
Os processos distribuídos são processos concorrentes que se comunicam através de IPC.
Há 4 tipos básicos de processos distribuídos: os filtros, clientes, servidores e peers. Os processos de filtro realizam uma operação fixa no fluxo de dados, passando para o outro processo o resultado da operação. Os processos peer, também chamados de não hierárquicos são idênticos um ao outro, interagindo de forma cooperativa para realizar um trabalho útil. Os processos cliente/servidor são distintos e interagem entre si.
Quais são as partes que compõem um processo?
Um processo é formado por três componentes, estes são:Contexto de hardware, contexto de software e espaço de endereçamento, que juntosos três mantêm todas as informações necessárias para a funcionalidade de umprograma.Contexto de Hardware: Tem como função o armazenamento de conteúdo,armazenando o conteúdo dos registradores gerais da UCP, além dos registradores deuso específico como program couter (PC), stack pointer (SP) e registrador de status. Ocontexto de hardware armazena nos registradores do processador um processo queestá em execução, no momento em que o processo perde a utilização da UCP, osistema salva as informações no contexto de hardware do processo.Contexto de Software: Tem a função de especificar e limitar os recursos que podemser alocados em um processo, como número máximo de arquivos abertossimultaneamente, prioridade de execução e tamanho do buffer para operações de E/S.O contexto de software é composto por três grupos de informações sobre o processo:identificação, quotas e privilégios.Endereçamento de um processo: Sua função é de endereçamento na área de memóriapertencente ao processo onde as instruções e dados do programa são armazenadospara execução. Cada processo possui seu próprio espaço de endereçamento, que deveser devidamente protegido do acesso dos demais processos.
2º que é espaço de endereçamento de um processo ?
Espaço de endereçamento é o intervalo de endereços de memória que um processo pode acessar.
A criação e o gerenciamento de processos de espaço de usuário no Linux® possuem muitos fundamentos em comum com o UNIX® mas também incluem várias otimizações específicas para Linux. Reveja aqui o ciclo de vida dos processos Linux e explore o interior do kernel para a criação, o gerenciamento de memória, o planejamento e a destruição do processo.
Linux é um sistema muito dinâmico com constantes necessidades de alterações de computação. A representação das necessidades computacionais dos centros Linux cerca a abstração comum do processo. Os processos podem ter vida curta (um comando executado da linha de comandos) ou vida longa (um serviço de rede). Por esta razão, o gerenciamento geral dos processos e seus planejamentos são muito importantes.
No espaço do usuário, os processos podem ser representados por identificadores de processo (PIDs). Na perspectiva do usuário, um PID é um valor numérico que identifica exclusivamente o processo. Um PID não é alterado durante o ciclo de vida de um processo, mas pode ser reutilizado depois que o processo termina, portanto, nem sempre é ideal armazená-lo em cache.
No espaço do usuário, é possível criar processos de qualquer uma destas formas. É possível executar um programa (o que resulta na criação de um novo processo) ou, dentro de um programa, é possível chamar uma chamada do sistema fork ou exec. A chamada fork resulta na criação de um processo filho, enquanto uma chamada exec substitui o contexto do processo atual pelo novo programa.
Um ponto importante relacionado ao endereçamento de memória é constatado nesse momento.
...