mc514 sistemas operacionais: teoria e pr¶aticaislene/1s2005-mc514/intro.pdf · refer^encia...
TRANSCRIPT
![Page 1: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/1.jpg)
MC514
Sistemas Operacionais:Teoria e Pratica
Islene Calciolari Garcia
Instituto de Computacao
UNICAMP
![Page 2: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/2.jpg)
Conteudo
• Introducao
• Gerencia de Processos
– Programacao concorrente
• Gerencia de Memoria
• Gerencia de Arquivos
• Entrada/Saıda
• Estudo de casos
![Page 3: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/3.jpg)
Referencia principal
Teoria
Sistemas Operacionais Modernos
Andrew S. Tanenbaum
Segunda edicao
Pearson - Prentice Hall
![Page 4: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/4.jpg)
Referencia principal
Pratica
Man pages
Info Libc
![Page 5: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/5.jpg)
Introducao
1. Sistema operacional
2. Historia dos sistemas operacionais
3. Revisao sobre hardware
4. Conceitos basicos
5. Chamadas aos sistema
6. Estrutura de sistemas operacionais
![Page 6: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/6.jpg)
Sistema operacional
Programas de Aplicacao
Shell Compiladores Editores
Sistema operacional
Hardware
O sistema operacional isola o hardware das
camadas superiores em um sistema computacional
![Page 7: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/7.jpg)
Sistema operacional
• Maquina estendida
oferece uma maquina virtual mais simples de programar
do que o hardware
• Gerenciador de recursos
fornece uma alocacao controlada de processadores,
memoria e disposistivos de entrada/saıda
![Page 8: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/8.jpg)
Historia dos sistemas operacionais
• A evolucao dos sistemas operacionais esta fortemente
relacionada ao desenvolvimento do hardware
• Primeira geracao 1945–1955
• valvulas e paineis de programacao
• computacao numerica: geracao de tabelas de senos e
cosenos.
![Page 9: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/9.jpg)
Historia dos sistemas operacionais
ENIAC
![Page 10: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/10.jpg)
Historia dos sistemas operacionais
Cartoes perfurados
$JOB, 10,6610802, MARVIN TANENBAUM
$FORTRAN
$LOAD
$RUN
$END
Fortran program
Data for program
![Page 11: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/11.jpg)
Historia dos sistemas operacionais
• Segunda geracao 1955–1965
• transistores e sistemas batch
1401 7094 1401
(a) (b) (c) (d) (e) (f)
Card reader
Tape drive Input
tapeOutput tape
System tape
Printer
![Page 12: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/12.jpg)
Historia dos sistemas operacionais
• Terceira geracao 1965–1980
• circuitos intregados e multiprogramacao
• System/360: famılia de computadores compatıveis
![Page 13: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/13.jpg)
Historia dos sistemas operacionais
Monoprogramacao
MemoriaJob
Sistema Operacional
Com apenas um job em memoria
a CPU fica ociosa durante operacoes de E/S
![Page 14: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/14.jpg)
Historia dos sistemas operacionais
CPU-bound
Long CPU burst
Short CPU burst
Waiting for I/O
(a)
(b)
Time
IO-bound
![Page 15: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/15.jpg)
Historia dos sistemas operacionais
Multiprogramacao
Memoria
Job D
Job C
Job B
Job A
Sistema Operacional
Com varios jobs em memoria
a CPU pode ser melhor aproveitada
![Page 16: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/16.jpg)
Historia dos sistemas operacionais
Multiprogramacao
A
B
C
D
D
C
B
A
Process switch
One program counterFour program counters
Pro
cess
Time
B C DA
(a) (b) (c)
![Page 17: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/17.jpg)
Historia dos sistemas operacionais
SPOOLing
• Simultaneous Peripheral Operation OnLine
• Leitura dos cartoes passou a ser feita em paralelo a
execucao de outros programas
• Os computadores auxiliares puderam ser aposentados
![Page 18: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/18.jpg)
Historia dos sistemas operacionais
Tempo-compartilhado
• Varios terminais conectados a um mainframe
• Os usuarios exigem resposta rapida
![Page 19: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/19.jpg)
Historia dos sistemas operacionais
Tempo-compartilhado
• CTSS (Compatible Time Sharing System)—desenvolvido
no M.I.T., foi um sucesso comercial
• MULTICS (MULTiplexed Information and Computing
Service)—projeto muito ambicioso
![Page 20: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/20.jpg)
Historia dos sistemas operacionais
Mini-computadores
• Maquinas PDP-X (incompatıveis entre si)
• UNIX (inicialmente UNICS)
– System V da AT&T
– BSD (Berkeley Software Distribution)
– POSIX (Portable Operating System-IX)
– Minix
– Linux
![Page 21: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/21.jpg)
Historia dos sistemas operacionais
• Quarta geracao 1980–hoje
• Circuitos integrados de larga escala
• Computadores pessoais
• CP/M (Control Program for Microcomputers)
• MS-DOS (MicroSoft Disk Operating System)
![Page 22: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/22.jpg)
Historia dos sistemas operacionais
GUI (Graphical User Interface)
• Macintosh
• Windows
– Interface grafica sobre o MS-DOS
• Unix
– X Windows System
![Page 23: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/23.jpg)
Historia dos sistemas operacionais
Diversidade atual
• Mainframe
• Servidores
• Multiprocessados
• Computadores pessoais
• Tempo real
• Embarcados
• Cartoes inteligentes
![Page 24: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/24.jpg)
Historia dos sistemas operacionais
Ciclo de desenvolvimento
Computadores Facilidades
Mainframe Linguagens de alto nıvel
Minicomputadores Protecao de hardware
Computadores pessoais Suporte a multiprogramacao
Sistemas embarcados Discos e sistemas de arquivos
Cartoes inteligentes
![Page 25: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/25.jpg)
Revisao sobre hardwareMonitor
Keyboard Floppy disk drive
Hard disk drive
Hard disk
controller
Floppy disk
controller
Keyboard controller
Video controllerMemoryCPU
Bus
![Page 26: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/26.jpg)
Revisao sobre hardware
Processador
• Responsavel pela execucao dos programas
• Ciclo de execucao: busca → decodifica → executa
...
Mov R1, A
Mov R2, B
PC (contador de programa) → Add R1, R2...
![Page 27: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/27.jpg)
Revisao sobre hardware
Pipelines e CPUs superescalares
Fetch unit
Fetch unit
Fetch unit
Decode unit
Decode unit
Execute unit
Execute unit
Execute unit
Execute unit
Decode unit
Holding buffer
(a) (b)
• Maior eficiencia
• Maior complexidade dos compiladores e sistemas
operacionais
![Page 28: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/28.jpg)
Revisao sobre hardware
Pilha de execucao...
Parametros
Registradores
Variaveis locais
SP (apontador de pilha) → ↓
![Page 29: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/29.jpg)
Revisao sobre hardware
Modos de execucao
• Modo usuario
– acesso restrito ao conjunto de instrucoes
• Modo nucleo
– acesso total ao conjunto de instrucoes
• Chamadas ao sistema: permitem a mudanca de modo de
um programa
![Page 30: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/30.jpg)
Revisao sobre hardware
Hierarquia de memoria
Registers
Cache
Main memory
Magnetic tape
Magnetic disk
1 nsec
2 nsec
10 nsec
10 msec
100 sec
<1 KB
1 MB
64-512 MB
5-50 GB
20-100 GB
Typical capacityTypical access time
![Page 31: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/31.jpg)
Revisao sobre hardware
Registradores
• Internos a CPU
• Extremamente rapidos
• Programas decidem o que deve ficar armazenado nos
registradores
![Page 32: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/32.jpg)
Revisao sobre hardware
Cache
• Internos ou muito proximos a CPU
• Divididos em linhas de cache
• Controlados por hardware
• Cache hit
• Cache miss
![Page 33: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/33.jpg)
Revisao sobre hardware
Memoria Principal
• Random Access Memory (RAM)
• Compromisso entre preco e desempenho
• Armazenamento volatil
![Page 34: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/34.jpg)
Revisao sobre hardware
Disco
Surface 2Surface 1
Surface 0
Read/write head (1 per surface)
Direction of arm motion Surface 3
Surface 5
Surface 4
Surface 7
Surface 6
![Page 35: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/35.jpg)
Revisao sobre hardware
Fitas magneticas
• Utilizadas para copias de seguranca (backups)
• Armazenamento de grandes quantidades de dados
• Acesso sequencial
![Page 36: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/36.jpg)
Revisao sobre hardware
Outros tipos de memoria
• ROM (Read Only Memory)
– rapida e barata
– bootstrap loader esta gravado em ROM
• EEPROM (Electrically Erasable ROM)
– podem ser apagadas (erros podem ser corrigidos)
• CMOS
– dependem de uma bateria
– armazenam relogio e configuracoes
![Page 37: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/37.jpg)
Revisao sobre hardware
Protecao e realocacao
• Como proteger um programa de outro
• Como permitir que um programa seja executado em
posicoes distintas da memoria
![Page 38: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/38.jpg)
Revisao sobre hardwareProtecao e realocacao
User program and data
User program and data
Operating System
Address
0xFFFFFFFF
Limit
Base
0(a)
User-2 data
User-1 data
User program
Operating System
Base-2
Limit-2
Limit-2
Limit-1
Base-2
Base-1
(b)
Limit-1
Base-1
Registers when program 1 is running
Registers when program 2 is running
![Page 39: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/39.jpg)
Revisao sobre hardware
Enderecos fısicos e virtuais
CPU package
CPU
The CPU sends virtual addresses to the MMU
The MMU sends physical addresses to the memory
Memory management
unit
MemoryDisk
controller
Bus
![Page 40: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/40.jpg)
Revisao sobre hardwareEntrada e Saıda
Monitor
Keyboard Floppy disk drive
Hard disk drive
Hard disk
controller
Floppy disk
controller
Keyboard controller
Video controllerMemoryCPU
Bus
• O controlador administra fisicamente o dispositivo
• Driver de dispositivo: programa fornecido pelo fabricante
que se comunica com o controlador
![Page 41: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/41.jpg)
Revisao sobre hardware
Espera ocupada
• A CPU programa um controlador para leitura
• Entra em um loop de testes consecutivos ate o dado
estar disponıvel
• Le o dado
⇒ Desperdıcio de processamento
![Page 42: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/42.jpg)
Revisao sobre hardware
Interrupcoes
CPUInterrupt controller
Disk controller
Disk drive
Current instruction
Next instruction
1. Interrupt3. Return
2. Dispatch to handler
Interrupt handler
(b)(a)
1
3
4 2
• A CPU programa o controlador e fica livre
• Quando o dado esta disponıvel a CPU e interrompida
![Page 43: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/43.jpg)
Revisao sobre hardware
Direct Memory Access
CPUDMA
controllerDisk
controllerMain
memoryBuffer
1. CPU programs the DMA controller
Interrupt when done
2. DMA requests transfer to memory 3. Data transferred
Bus
4. Ack
Address
Count
Control
Drive
• A CPU programa o DMA e fica livre
• Quando o bloco esta disponıvel a CPU e interrompida
![Page 44: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/44.jpg)
Revisao sobre hardware
Barramentos (Pentium System)
ISA bridge
Modem
Mouse
PCI bridgeCPU
Main memory
SCSI USB
Local bus
Sound card Printer Available
ISA slot
ISA bus
IDE disk
Available PCI slot
Key- board
Mon- itor
Graphics adaptor
Level 2 cache
Cache bus Memory bus
PCI bus
![Page 45: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/45.jpg)
Conceitos basicos
Processos
• Programa em execucao
• Espaco de enderecamento
Address (hex)FFFF
0000
Stack
Data
Text
Gap
![Page 46: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/46.jpg)
Conceitos basicos
Processos
• Registradores
– Contador de programa
– ponteiro de pilha,
– PSW (program status word)
• Conjunto de arquivos abertos
![Page 47: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/47.jpg)
Conceitos basicos
Hierarquia de processos
A
B
D E F
C
![Page 48: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/48.jpg)
Conceitos basicos
Deadlock
(a) (b)
![Page 49: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/49.jpg)
Conceitos basicos
Deadlock
Suponha que dois processos querem gravar um CD-ROM a
partir de dados gravados em uma fita magnetica
• Processo 1
– obtem CD-ROM
– aguarda fita
• Process 2
– obtem fita
– aguarda CD-ROM
![Page 50: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/50.jpg)
Conceitos basicos
Sistema de arquivosRoot directory
Students Faculty
Leo Prof.Brown
Files
Courses
CS101 CS105
Papers Grants
SOSP COST-11
Committees
Prof.Green Prof.WhiteMattyRobbert
![Page 51: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/51.jpg)
Conceitos basicos
Mount
Root Floppy
a b
c d c d
a bx y
x y
(a) (b)
![Page 52: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/52.jpg)
Conceitos basicos
Links/usr/ast /usr/jim
16 81 40
mail games test
(a)
31 70 59 38
bin memo f.c. prog1
/usr/ast /usr/jim
16 81 40 70
mail games test note
(b)
31 70 59 38
bin memo f.c. prog1
$ ln /usr/jim/memo /usr/ast/note
Ast e Jim podem compartilhar um diretorio
![Page 53: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/53.jpg)
Conceitos basicos
Seguranca
islene@emilia% ll
-rw-r----- so.txt
drwxr-xr-x threads/
islene@emilia% ll /usr/bin/passwd
-r-s--x--x /usr/bin/passwd*
![Page 54: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/54.jpg)
Conceitos basicos
Pipe
ProcessPipe
Process
A B
$ grep str file | wc -l
Mais eficiente que:
$ grep str file > file-str$ wc -l file-str$ rm file-str
![Page 55: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/55.jpg)
Chamada ao sistema
• Tipo especial de chamada de procedimento
• Passa do modo usuario para o modo supervisor
• Instrucao TRAP
![Page 56: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/56.jpg)
cont = read(fd, buffer, nbytes)
Return to caller
410
6
0
9
7 8
321
11
DispatchSys call handler
Address 0xFFFFFFFF
User space
Kernel space (Operating system)
Library procedure read
User program calling read
Trap to the kernelPut code for read in register
Increment SPCall readPush fdPush &bufferPush nbytes
5
![Page 57: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/57.jpg)
Exemplos de chamadas ao sistema
Gerencia de processos
• pid = fork()
• waitpid(pid, &statloc, options)
• s = execve(name, argv, environp)
• exit(status)
![Page 58: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/58.jpg)
Exemplos de chamadas ao sistema
Shell#define TRUE 1
while (TRUE) { /* repeat forever */type_prompt( ); /* display prompt on the screen */read_command(command, parameters); /* read input from terminal */
if (fork( ) != 0) { /* fork off child process *//* Parent code. */waitpid(−1, &status, 0); /* wait for child to exit */
} else {/* Child code. */execve(command, parameters, 0); /* execute command */
}}
![Page 59: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/59.jpg)
Exemplos de chamadas ao sistema
Gerencia de arquivos
• fd = open(file, how)
• s = close(fd)
• n = read(fd, buffer, nbytes)
• n = write(fd, buffer, nbytes)
• pos = lseek(fd, offset, whence)
• s = stat(name, &buf)
![Page 60: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/60.jpg)
Exemplos de chamadas ao sistema
Gerencia de arquivos e diretorios
• s = mkdir(name,mode)
• s = rmdir(name)
• s = link(name1,name2)
• s = unlink(name)
• s = mount(special,name,flag)
• s = umount(special)
![Page 61: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/61.jpg)
Exemplos de chamadas ao sistema
Diversas
• s = chdir(dirname)
• s = chmod(name,mode)
• s = kill(pid,signal)
• seconds = time(&seconds)
![Page 62: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/62.jpg)
Exemplos de chamadas de sistema
Unix Win32
fork CreateProcess
waitpid WaitForSingleObject
execve
open CreateFile
close CloseHandle
![Page 63: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/63.jpg)
Estrutura de sistemas operacionais
Sistema monolıtico
• Conjunto de procedimentos
• Visibilidade total (qualquer procedimento pode invocar
outro procedimento)
![Page 64: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/64.jpg)
Estrutura de sistemas operacionais
Sistema monolıtico
(estrutura simples)
Main procedure
Service procedures
Utility procedures
![Page 65: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/65.jpg)
Estrutura de sistemas operacionais
Sistema de camadas
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
Layer Function
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
5 The operator
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
4 User programs
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
3 Input/output management
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
2 Operator-process communication
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
1 Memory and drum management
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
0 Processor allocation and multiprogramming
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
![Page 66: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/66.jpg)
Estrutura de sistemas operacionais
Maquinas Virtuais
• OS/360: sistema batch
• CMS (Conversational Monitor System)
I/O instructions here
Trap here
Trap here
System calls here
Virtual 370s
CMS CMS CMS
VM/370
370 Bare hardware
![Page 67: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/67.jpg)
Estrutura de sistemas operacionais
Exonucleos
• Clone de uma maquina
• Recursos alocados individualmente
• Sem transparencia
![Page 68: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/68.jpg)
Estrutura de sistemas operacionais
Modelo cliente-servidor
Client process
Client process
Process server
Terminal server
File server
Memory server
Microkernel
User mode
Kernel mode
Client obtains service by sending messages to server processes
![Page 69: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/69.jpg)
Estrutura de sistemas operacionais
Modelo cliente-servidor em um
ambiente distribuıdo
Machine 1 Machine 2 Machine 3 Machine 4
Client
Kernel
File server
Kernel
Process server
Kernel
Terminal server
Kernel
Message from client to server
Network
![Page 70: MC514 Sistemas Operacionais: Teoria e Pr¶aticaislene/1s2005-mc514/intro.pdf · Refer^encia principal Teoria Sistemas Operacionais Modernos Andrew S. Tanenbaum Segunda edi»c~ao Pearson](https://reader031.vdocuments.mx/reader031/viewer/2022022109/5c4dd83f93f3c350ba7e4d14/html5/thumbnails/70.jpg)
Resumo
1. Sistema operacional
2. Historia dos sistemas operacionais
3. Revisao sobre hardware
4. Conceitos basicos
5. Chamadas aos sistema
6. Estrutura de sistemas operacionais
Proximo topico: Processos e threads