Você está na página 1de 7

FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais

Estudo de Caso
Processos GNU/Linux
Linus Torvalds 1991, desenvolveu o ncleo do SO u baseado no Minix clone do Unix kernel h brido monol tico sob licena GPL c
PID = 501 sh New process PID = 748 sh Same process PID = 748 ls

1. Fork call 2. new sh created

3. exec call 4. sh overlaid with ls Exec code

Fork code

Allocate child's process table entry Fill child's entry from parent Allocate child's stack and user area Fill child's user area from parent Allocate PID for child Set up child to share parent's text Copy page tables for data and stack Set up sharing of open files Copy parent's registers to child

Find the executable program Verify the execute permission Read and verify the header Copy arguments, environ to kernel Free the old address space Allocate new address space Copy arguments, environ to stack Reset signals Initialize registers

Processos
Gerenciador mantm uma lista de todos os e processos usando duas estruturas de dados: lista circular examinar todas as tarefas tabela hash localizar/acessar uma tarefa processos interativos constante interao ca com usurio a processos em lote baixa prioridade processos de tempo real alta prioridade

Escalonamento (kernel 2.6)


Filas por prioridade 140 n veis 1 a 100 processos de tempo real 101 a 140 demais processos prioridade, qualidade de servio, frao c ca de tempo de CPU, tempo de resposta

Profa. Tiemi Christine Sakata

FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais

Escalonamento de Processos
Highest priority -4 -3 -2 -1 0 0 1 2 3 Lowest priority Waiting for disk I/O Waiting for disk buffer Waiting for terminal input Waiting for terminal output Waiting for child to exist User priority 0 User priority 1 User priority 2 User priority 3 Process waiting in user mode

Process waiting in kernel mode

Gerncia de Memria e o
Paginao por demanda ca Tabela de pgina com trs n a e veis Algoritmo de substituio de pgina: LRU ca a

Process queued on priority level 3

Escalonamento (kernel 2.6)


Processos de tempo real: prioridade esttica a Round Robin
Page

Gerncia de Memria e o
Global directory Page middle directory Page table Word selected

FCFS Demais processos: prioridade dinmica a (prioridade base + tempo restante) Round Robin (20 ms) I/O bound tem maior prioridade que CPU bound

Directory

Middle

Page

Offset

Virtual address

Profa. Tiemi Christine Sakata

FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais

E/S
dispositivos de E/S so tratados como arquivos a e acessados com read e write bloco endereado e acessado individualmente, c ou seja, poss acessar o bloco 231 sem e vel passar pelos blocos de 0 a 130. Ex.: disco caracter muitas vezes precisam ser especialmente controlados (apagar uma entrada digitada no teclado). Exs.: teclado, mouse, impressoras,...
User mode

Streams
Computer Process A B

Stream head

Stream head

TCP Kernel mode IP

TCP

Ethernet driver

Token ring driver

Ethernet controller

Token ring controller

Ethernet Token Ring

E/S
User space Reading/writing files Cooked interface to /dev/tty Raw interface to/dev/tty

Sistema de Arquivos
VFS (Virtual File System): Permite diferentes SAs: sistema de arquivos do Minix, MS-DOS, VFAT, NTFS, Ext2, Ext3, ReiserFS projetado segundo orientao a objetos ca

File system

Line disciplines Kernel Buffer cache

Disk drivers

Terminal drivers

inode-object representam arquivos


Disk

le-object usados para acesso de arquivos le-system-object sistema de arquivos

Profa. Tiemi Christine Sakata

FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais

Sistema de Arquivos
Open file description Parents file descriptor table Childs file descriptor table Unrelated process file descriptor table File position R/W Pointer to i-node File position R/W Pointer to i-node i-node Mode Link count Uid Gid File size Times Addresses of first 10 disk blocks Single indirect Double indirect Triple indirect Pointers to disk blocks

Histria do Windows o
Windows 1.0, 1985 Windows 2.0, 1987 Windows 3.0, 1990 (sucesso comercial) Interface grca sobre o MS-DOS a Espao de endereamento compartilhado c c Windows 95/98/Me/2000

Triple indirect block

Double indirect block

Single indirect block

Windows XP, 2001 Windows Vista, 2007

ext2:::????

MS-DOS
IBM-PC, 1981 CP/M (Digital) Gary Kildall no fechou negcio com a IBM a o MS-DOS (MicroSoft Disk Operanting System) DOS foi comprado da Seattle Computer Products por 50 mil dlares o 16 bits linha de comandos
Kernel space User space

DLL (Dynamic Link Libraries)


Gdi32.dll User32.dll Enviroment subsystem process (csrss.exe) Kernel32.dll 2b Win32 subsys 3b System interface (ntdll.dll) 4b 3a Operating system 2a Call Call 1 Call User process

Profa. Tiemi Christine Sakata

FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais

Processos e Threads
Job Address space Thread Process User stack

Escalonamento no Windows
Priority 31 Next thread to run System priorities

24

16

User priorities

Process handle table

Kernel mode thread stack P T T Access token T T P


1 Zero page thread 0 Idle thread

Escalonamento Windows NT/2000/XP


I/O bound tem maior prioridade que CPU bound prioridade: 16 a 31 : tempo real 1 a 15: outros processos prioridade 0 zero thread, responsvel por a zerar as pginas livres do sistema. a

Escalonamento no Windows
Escalonador escolhe thread de maior prior. Proc. tempo real no-preemptivos, prioridade a esttica a Outros bnus de aumento de prioridade: o no retorno de I/O (1 para disco e 6 para teclado aps operao de sincronizao o ca ca

Profa. Tiemi Christine Sakata

FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais

Gerncia de Memria (NT) e o


4GB de memria virtual (2GB para usurios e o a 2GB para SO)
Process A 4 GB Nonpaged pool Paged pool A's page tables Stacks, data, etc HAL + OS 2 GB System data Nonpaged pool Paged pool B's page tables Stacks, data, etc HAL + OS System data Nonpaged pool Paged pool C's page tables Stacks, data, etc HAL + OS System data Process B Process C

I/O
User process User program Win32

Rest of windows Filter Function Monolithic Bus Hardware abstraction layer Controller Controller Controller Function Bus Driver stack

Process A's private code and data

Process B's private code and data

Process C's private code and data

0 Bottom and top 64 KB are invalid

Gerncia de Memria e o
Quando um processo carregado, n pginas e a so alocadas a Pginas com trs estados a e livre: no utilizada a reservada: alocadas, porm no mapeadas e a f sico/dedicadas: mapeadas para o processo Tabela de pgina de 2 n a veis Alg. de subst.: LRU + conjunto de trabalho

Sistema de Arquivos 2000/XP


NTFS (New Technology File System), 1990 alto desempenho, exibilidade e segurana c divide o disco em clusters lgicos (quantidade o de blocos utilizadas de cada vez) padro 4KB a MFT (Master File Table) mantm atributos e dos arquivos Implementa tolerncia a falhas atravs de a e transaoes (partes arquivo log). c

Profa. Tiemi Christine Sakata

FACENS - Faculdade de Engenharia de Sorocaba

Sistemas Operacionais

Tabela de arquivos-mestre do NTFS


1 KB

Sistema de Arquivos 2000/XP

Um Registro da MTF (trs sries e nove blocos) e e

Record header MTF record Standard info File name

Header Run #1 Run #2 Run #3


20

64

80

Unused

Disk blocks Blocks numbers 20-23 64-65 80-82

Profa. Tiemi Christine Sakata

Standard info header

File name header

Data header

Info about data blocks

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

First user file (Reserved for future use) (Reserved for future use) (Reserved for future use) (Reserved for future use) $Extend Extentions: quotas,etc $Upcase Case conversion table $Secure Security descriptors for all files $BadClus List of bad blocks $Boot Bootstrap loader $Bitmap Bitmap of blocks used $ Root directory $AttrDef Attribute definitions $Volume Volume file $LogFile Log file to recovery $MftMirr Mirror copy of MFT $Mft Master File Table

Change Journal armazena alteraoes c ocorridas no SA. Utilizado para backup


Metadata files

Proteo: leitura, escrita e execuo ca ca Metadados: 16 registros com informaoes c sobre gerncia do do NTFS e