Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Operativos
2023/2024
João L. M. Pereira
CLAV-256
joao.pedro.pereira@uevora.pt
Baseado nos slides do Pedro Salgueiro, Universidade de Évora e do Capítulo 3 (Operating System Overview)
do livro Operating Systems: Internals and Design Principles, 7th Edition, Dave Bremer, Otago Polytechnic, N.Z.,
2008, Prentice Hall.
Revisão: Interface Hardware-Software
2
Revisão de conceitos: Multiprogramming
3
Revisão de conceitos: Processos
4
Elementos de um processo
● Elementos essenciais
○ Código do programa
■ pode ser partilhado entre vários processos que estão a executar o mesmo programa
5
Elementos de um processo
● Identificador
● Estado
● Prioridade
● Program counter
● Apontadores para a memória (memory pointers)
● Dados de contexto (context data)
● Informação sobre estado de I/O
● Informações estatísticas
○ accounting information
6
Process Control Block (PCB)
7
Tempo de vida do PCB
8
Criação de processos
Razões
● Nova “tarefa”
○ aplicação, batch de aplicações, …
● Login interactivo
○ Um utilizador faz login no sistema
9
Criação de processos
● Terminologia
○ Process spawning: um processo cria outro processo
○ Processo pai: o processo que solicita a criação de outro processo
○ Processo filho: o processo criado
10
Termino de Processos
11
Razões para um processo terminar
12
Razões para um processo terminar
13
Estados dos processos
● Trace
○ Comportamento de um processo individual
■ listagem de todas as sequências de instruções executadas para o processo
○ Comportamento pode ser caracterizado
■ através da forma como os “traces” de diferentes processos são intercalados
● Dispatcher
○ Programa que faz a troca do processador
■ entre vários processos
14
Execução dos processos
15
Execução dos processos - traces
16
Execução dos processos
Visão do processador
17
O que aconteceu?
○ I/O request: processo executa uma operação I/O que deve ser escalonada (scheduled) e
executada;
■ o processo vai esperar até que a operação termine
18
Modelos de estados de processos
● Transição
○ ação que causa a mudança de estado
19
Modelo de 2 estados
● em execução (running)
● em não execução (not-running)
20
Modelo de 2 estados
21
Modelo de 5 estados
22
Modelo de 5 estados - Filas (queues)
23
Modelo de 5 estados - Filas (queues)
24
Processos suspensos
Swapping
25
Modelo de 6 estados
26
Modelo de 7 estados
27
Razões para suspender um processo
28
Modos de execução
29
Interação Processo - SO
● Terminologia:
○ Mode switch: execução alterna entre o programa do utilizador e o SO
○ Process or context switch: um processo sai do estado “running”, e outro passa para o
estado “running”
30
Interrupções, mudança de modos e mudança de contexto
31
Mode Switch
32
Process switching
Requer mais mudanças que o Mode Switch
Passos envolvidos
● Por exemplo
○ próximo slide
34
Estruturas de dados do sistema
35
Estruturas de dados do sistema
36
Tabela de processos
37
Elementos de um processo (tipicamente)
Process Image:
● User Data
○ A parte do “user space" que pode ser alterada. Pode incluir dados do programa, area de stack do utilizador e
programas que podem modificados.
● User Program
○ O programa a ser executado
● Stack
○ Cada programa tem uma ou mais last-in-first-out (LIFO) stack associada. As stacks são usadas para guardar
parâmetros e endereços de chamadas de procedimentos e de system calls
● Heap
○ Memória alocada dinamicamente
38
Process Control Block (PCB)
○ Estado do processo
○ …
39
Elementos de um PCB (tipicamente)
40
Elementos de
um PCB
(tipicamente)
41
Identificação dos processos
42
Informação do estado do processador
43
Elementos de um processo (exemplo)
44
Kernel de um SO - Funcionalidades típicas
45
Criação de processos
46
Unix SVR4
● Processos de utilizador
○ executam em user mode para executar programas dos utilizadores
○ executam em kernel mode para executar instruções que pertencem ao kernel
○ entram em kernel mode quando
■ invocam system calls
■ exceções são geradas
■ ocorrem interrupções 47
Estados do processos em UNIX
48
Estados do processos em UNIX
49
UNIX - Criação de processos
50