• Nenhum resultado encontrado

Estudo de Caso. Processos. GNU/Linux. Processos. Escalonamento (kernel 2.6) FACENS - Faculdade de Engenharia de Sorocaba

N/A
N/A
Protected

Academic year: 2021

Share "Estudo de Caso. Processos. GNU/Linux. Processos. Escalonamento (kernel 2.6) FACENS - Faculdade de Engenharia de Sorocaba"

Copied!
7
0
0

Texto

(1)

Estudo de Caso

GNU/Linux

• Linus Torvalds — 1991, de-senvolveu o n´ucleo do SO • baseado no Minix • clone do Unix

• kernel h´ıbrido monol´ıtico • sob licen¸ca GPL

Processos

• Gerenciador – mant´em uma lista de todos os processos usando duas estruturas de dados: – lista circular – examinar todas as tarefas – tabela hash – localizar/acessar uma tarefa • processos interativos – constante intera¸c˜ao

com usu´ario

• processos em lote – baixa prioridade • processos de tempo real – alta prioridade

Processos

sh sh ls

Fork code Exec code

New process Same process

1. Fork call 3. exec call

4. sh overlaid with ls 2. new sh

created

PID = 501 PID = 748 PID = 748

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

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 servi¸co, ↑ fra¸c˜ao de tempo de CPU, ↓ tempo de resposta

(2)

Escalonamento de Processos

Highest priority Lowest priority -4 -3 -2 -1 0 0 1 2 3

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 queued on priority level 3 Process waiting in user mode Process waiting in kernel mode

Escalonamento (kernel 2.6)

• Processos de tempo real: prioridade est´atica – Round Robin

– FCFS

• Demais processos: prioridade dinˆamica (prioridade base + tempo restante) – Round Robin (20 ms)

– I/O bound tem maior prioridade que CPU bound

Gerˆ

encia de Mem´

oria

• Pagina¸c˜ao por demanda

• Tabela de p´agina com trˆes n´ıveis

• Algoritmo de substitui¸c˜ao de p´agina: LRU

Gerˆ

encia de Mem´

oria

Global directory Directory Page middle directory Page table Page Word selected Virtual address Offset Page Middle

(3)

E/S

• dispositivos de E/S s˜ao tratados como arquivos e acessados com read e write

• bloco – endere¸cado e acessado individualmente, ou seja, ´e poss´ıvel acessar o bloco 231 sem 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,...

E/S

File system

Buffer cache

Disk drivers Terminal drivers Line disciplines User space Kernel Disk Reading/writing files Cooked interface to /dev/tty Raw interface to/dev/tty

Streams

A Stream head TCP IP Ethernet driver Ethernet controller B Stream head TCP

Token ring driver

Token ring controller Process Ethernet Token Ring Computer User mode Kernel mode

Sistema de Arquivos

VFS (Virtual File System):

• Permite diferentes SAs: sistema de arquivos do Minix, MS-DOS, VFAT, NTFS, Ext2, Ext3, ReiserFS

• projetado segundo orienta¸c˜ao a objetos • inode-object – representam arquivos • file-object – usados para acesso de arquivos • file-system-object – sistema de arquivos

(4)

Sistema de Arquivos

Mode i-node Link count Uid Gid File size Times Addresses of first 10 disk blocks Single indirect Double indirect Triple indirect Parent’s file descriptor table Child’s file descriptor table Unrelated process file descriptor table Open file description File position R/W Pointer to i-node File position R/W Pointer to i-node Pointers to disk blocks Triple indirect block Double indirect

block indirectSingle block ‘ ext2:::????

MS-DOS

• IBM-PC, 1981 • CP/M (Digital)

– Gary Kildall n˜ao fechou neg´ocio com a IBM • MS-DOS (MicroSoft Disk Operanting System)

– DOS foi comprado da Seattle Computer Products por 50 mil d´olares

• 16 bits

• linha de comandos

Hist´

oria do Windows

• Windows 1.0, 1985 • Windows 2.0, 1987

• Windows 3.0, 1990 (sucesso comercial) • Interface gr´afica sobre o MS-DOS • Espa¸co de endere¸camento compartilhado • Windows 95/98/Me/2000

• Windows XP, 2001 • Windows Vista, 2007

DLL (Dynamic Link Libraries)

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

(5)

Processos e Threads

Address space Thread Process User stack

Kernel mode thread stack Access token Process handle table P T T T T P Job

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, respons´avel por zerar as p´aginas livres do sistema.

Escalonamento no Windows

Next thread to run Priority

System priorities

User priorities

Zero page thread 31 24 16 8 1 0 Idle thread

Escalonamento no Windows

• Escalonador escolhe thread de maior prior. • Proc. tempo real – n˜ao-preemptivos, prioridade

est´atica

• Outros – bˆonus de aumento de prioridade: – no retorno de I/O (1 para disco e 6 para

teclado

(6)

Gerˆ

encia de Mem´

oria (NT)

4GB de mem´oria virtual (2GB para usu´arios e 2GB para SO) Process A 4 GB 2 GB 0 Nonpaged pool Paged pool A's page tables Stacks, data, etc HAL + OS System data Process A's private code and data Process B Nonpaged pool Paged pool B's page tables Stacks, data, etc HAL + OS System data Process B's private code and data Process C Nonpaged pool Paged pool C's page tables Stacks, data, etc HAL + OS System data

Process C's private code

and data

Bottom and top 64 KB are invalid

Gerˆ

encia de Mem´

oria

• Quando um processo ´e carregado, n p´aginas s˜ao alocadas

• P´aginas com trˆes estados – livre: n˜ao utilizada

– reservada: alocadas, por´em n˜ao mapeadas – f´ısico/dedicadas: mapeadas para o processo • Tabela de p´agina de 2 n´ıveis

• Alg. de subst.: LRU + conjunto de trabalho

I/O

User process User program Win32 Rest of windows

Hardware abstraction layer

Controller Controller Controller Filter Function Bus Function Bus Monolithic Driver stack

Sistema de Arquivos 2000/XP

• NTFS (New Technology File System), 1990 – alto desempenho, flexibilidade e seguran¸ca • divide o disco em clusters l´ogicos (quantidade

de blocos utilizadas de cada vez) – padr˜ao 4KB • MFT (Master File Table) – mant´em atributos

dos arquivos

• Implementa tolerˆancia a falhas atrav´es de transa¸c˜oes (partes – arquivo log).

(7)

Tabela de arquivos-mestre do NTFS

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

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

Um Registro da MTF

(trˆ

es s´

eries e nove blocos)

      Standard info header File name header Data header

Info about data blocks

Run #1 Run #2 Run #3

Standard

info File name 0 9 20 4 64 2 80 3 Unused

Disk blocks Blocks numbers 20-23 64-65 80-82 MTF record Record header Header

Sistema de Arquivos 2000/XP

• Change Journal – armazena altera¸c˜oes ocorridas no SA. Utilizado para backup • Prote¸c˜ao: leitura, escrita e execu¸c˜ao • Metadados: 16 registros com informa¸c˜oes

Referências

Documentos relacionados

Resgate de cotas: o administrador poderá fechar o Fundo para resgate em casos excepcionais de iliquidez dos ativos componentes da carteira do Fundo, inclusive em decorrência de

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para

Este trabalho traz uma contribuição conceitual sobre a utilização do sistema de gestão de produtividade que poderá motivar futuras pesquisas sobre o tema, bem

A Produção mais Limpa (P+L) permite melhorar internamente a sustentabilidade dos processos, a gestão de serviços é necessária para melhorar a compreensão

18.14.24.1 A ponta da lança e o cabo de aço de levantamento da carga devem ficar no mínimo a 3,00m (três metros) de qualquer obstáculo e ter afastamento da rede elétrica que

Considerando o deslocamento correspondente a incógnita admensional, as ordenadas da forma deslocada da cadeia cinemática no caso de incógnita força também resulta admensional, e

Essa configuração do porão foi pensada talvez como alternativa de transição entre a situação de hoje e a alternativa a, ou como opção que não prescinde de um aumento no número

Firmanzah., PhD, da Paramadina University foi fundamental para garantir o apoio de alto nível para a assinatura da Declaração Conjunta de Líderes Religiosos contra a