Sistemas Operativo - Segundo Trabalho
Sistemas Operativo - Segundo Trabalho
Sistemas Operativo - Segundo Trabalho
Engenharia Informática
Sistemas Operativos
Docente
__________________
Anildo Silva
11
Instituto Superior Politécnico Internacional de Angola
Tema:
Sistemas de Memória Real:
Monoprogamação, Swapping, Overlaying
9
INTEGRANTES
11
AGRADECIMENTO
11
DEDICATÓRIA
Dedicamos a vitória desta etapa de nossa vida a toda nossa família, especialmente para os
nossos pais, colegas e amigos, pelos esforços nunca poupados, buscando sempre nos oferecer o
melhor, pelo amor incondicional, presente em todas as horas e, principalmente, por terem sempre
acreditado em nós. Merecedores de todo o nosso amor, pelo que fazem e pelo que são: dignos.
11
OBJECTIVOS
Objetivo Geral:
Objetivo Especifico:
11
ABSTRACT
The present work has as general objective to present a study on, Case study: Processes
and Threads in two types of OS: Windows NT and UNIX two OS existing for more than 3
decades. We define a process as an instance of a running program and a program as a set of
instructions necessary to perform the desired operations. A thread is defined as being an
independent thread of execution
A process can take on one or more threads, each executing its own code and sharing
resources with the other threads located in the same process.
Some authors also use the term lightweigth process as a synonym for thread. Threads are
also used to implement execution streams within the OS core, in this case receiving the name of
core threads (as opposed to process threads, called user threads). In addition to representing user
threads within the core, the core threads also include core core activities, such as device driver
routines or management tasks.
N.B: Both terms, do not contain an exact definition and acceptable to everyone, it is very
common to find several concepts in some places of investigation.
11
RESUMO
O presente trabalho tem como objetivo geral apresentar um estudo sobre, Estudo de
casos: Processos e Threads em dois tipos de S.O: Windows NT e o UNIX dois S.O existentes a
mais de 3 décadas. Definimos processo como uma instância de um programa em execução e
programa como conjunto de instruções necessárias à execução das operações desejadas. Uma
thread é definida como sendo um fluxo de execução independente
Um processo pode assumir uma ou mais threads, cada uma executando seu próprio
código e compartilhando recursos com as demais threads localizadas no mesmo processo.
Alguns autores usam também o termo processo leve (lightweigth process) como sinônimo
de thread. Threads são também utilizadas para implementar fluxos de execução dentro do núcleo
do SO, neste caso recebendo o nome de threads de núcleo (em oposição às threads dos
processos, denominadas user threads). Além de representar as threads de usuário dentro do
núcleo, as threads de núcleo também incluem atividades internas do núcleo, como rotinas de
drivers de dispositivos ou tarefas de gerência.
N.B: Ambos os termos, não contêm uma definição exata e aceitável à todos, é muito
comum encontrar diversos conceitos em alguns locais de investigação.
11
ÍNDICE
AGRADECIMENTO.................................................................................................................................III
DEDICATÓRIA........................................................................................................................................IV
OBJECTIVOS.............................................................................................................................................V
Objetivo Geral:........................................................................................................................................V
Objetivo Especifico:.................................................................................................................................V
ABSTRACT...............................................................................................................................................VI
RESUMO..................................................................................................................................................VII
INTRODUÇÃO..........................................................................................................................................9
Monoprogramação.............................................................................................................................10
Swapping...............................................................................................................................................10
Overlaying.........................................................................................................................................11
CONCLUSÃO..........................................................................................................................................12
REFERÊNCIAS........................................................................................................................................13
11
INTRODUÇÃO
Sistemas de Memoria Real: são sistamas que o processador pode endereçar diretamente,
sem as quais a maquina não pode funcionar. Estas fornecem geralmente uma ponte para as
secundárias, mas a sua função principal é a de conter a informação necessária para o processador
num determinado momento; esta informação pode ser, por exemplo, os programas em execução.
Monoprogramação: ou monotarefa, é um sistema operacional que permite a realização
de apenas uma tarefa (job) de cada vez. O processador, memória e periféricos ficam dedicados a
um único usuário, e cada tarefa para ser executada, deve aguardar o encerramento da tarefa atual.
Swapping(troca): é uma técnica criada na tentativa de melhorar o problema da
insuficiência de memória durante a execução de alguns processos em ambientes
multiprogramados. Essa técnica consiste em transferir automaticamente todo o processo da
memoria principal para o disco (swap out) e vice-versa.
Overlaying(sobreposição): significa "substituir um bloco de instruções ou dados
armazenados com outros.
9
Sistemas de Memória Real
Nos Sistemas de Memória Real, que o processador pode endereçar diretamente, sem as
quais o computador não pode funcionar. Fornecem geralmente uma ponte para as secundárias,
mas a sua função principal é a de conter a informação necessária para o processador num
determinado momento; esta informação pode ser, por exemplo, os programas em execução.
Insere-se a RAM, que é uma memória de semicondutores, volátil, com acesso aleatório,
isto é, palavras individuais de memória são acessadas diretamente, utilizando uma lógica de
endereçamento implementada em hardware. Também pode-se compreender a memória ROM
(não volátil), registradores e memórias cache.
Monoprogramação
- O processador fica ocioso quando o programa espera pela ocorrência de uma E/S. - São
sistemas de simples implementação.
Swapping
O swapping é uma técnica aplicada à gerência de memória, para processos que esperam
por memória livre para serem processados.O sistema escolhe um processo residente que é levado
da memória para o disco (swapped out), retornando posteriormente para amemória principal
(swapped in), como se nada tivesse ocorrido.
11
O conceito de swapping permitiu um maior compartilhamento de memória e,
conseqüentemente, um maior throughput. Mostrou-se eficiente em ambientes onde existiam
poucos usuários competindo pela memória e com aplicações pequenas. Seu maior problema é o
custo das operações de entrada e saída.
Overlaying
Overlaying é um método de programação que permite que programas sejam maiores que
a memória principal do computador. Um sistema embarcado normalmente usaria a sobreposição
devido a limitação da memória física, que é a memória interna para um sistema em chip e a falta
das facilidades de memória virtual.
Utilização
A construção de um programa de sobreposição envolve dividir manualmente um
programa em blocos de código objeto independentes, chamados de overlays, dispostos em uma
estrutura de árvore. Segmentos irmãos, aqueles que estão no mesmo nível de profundidade,
compartilham a mesma memória, chamada de região de sobreposição ou região de destino. Um
gerente de sobreposição, a parte do sistema operacional ou a parte do programa de sobreposição,
carrega a sobreposição desejada da memória externa na sua região de destino quando é
necessário. Muitas vezes os ligadores fornecem suporte para sobreposições.
Exemplo
O exemplo a seguir mostra as instruções de controle que instruem o Editor de Ligação do
OS/360 para vincular um programa de sobreposição, destinado a mostrar a estrutura:
INCLUDE SYSLIB(MOD1)
INCLUDE SYSLIB(MOD2)
OVERLAY A
INCLUDE SYSLIB(MOD3)
OVERLAY AA
INCLUDE SYSLIB(MOD4)
INCLUDE SYSLIB(MOD5)
OVERLAY AB
INCLUDE SYSLIB(MOD6)
OVERLAY B
INCLUDE SYSLIB(MOD7)
+--------------+
| Root Segment |
| MOD1, MOD2 |
+--------------+
|
+----------+----------+
| |
+-------------+ +-------------+
| Overlay A | | Overlay B |
| MOD3 | | MOD7 |
+-------------+ +-------------+
|
+--------+--------+
| |
+-------------+ +-------------+
| Overlay AA | | Overlay AB |
| MOD4, MOD5 | | MOD6 |
+-------------+ +-------------+
11
CONCLUSÃO
11
REFERÊNCIAS
Operacionais. Rio de Janeiro, RJ: Grupo Gen - LTC. 68 páginas. ISBN 9788521630005.
OCLC 972290077.
Concepts 10th ed. Hoboken, NJ: Wiley. 67 páginas. ISBN 9781119320913. OCLC
1004849022.
0-13-595752-4.
Novatec, 2006.
Janeiro:Elsevier,2011.
11