Académique Documents
Professionnel Documents
Culture Documents
Sistemas Operacionais:
Teoria e Prtica
a
Islene Calciolari Garcia
Instituto de Computao
ca
UNICAMP
Contedo
u
Introduo
ca
Gerncia de Processos
e
Programao concorrente
ca
Gerncia de Memria
e
o
Gerncia de Arquivos
e
Entrada/Sa
da
Estudo de casos
Referncia principal
e
Teoria
Sistemas Operacionais Modernos
Andrew S. Tanenbaum
Segunda edio
ca
Pearson - Prentice Hall
Referncia principal
e
Prtica
a
Man pages
Info Libc
Introduo
ca
1. Sistema operacional
2. Histria dos sistemas operacionais
o
3. Reviso sobre hardware
a
4. Conceitos bsicos
a
5. Chamadas aos sistema
6. Estrutura de sistemas operacionais
Sistema operacional
Programas de Aplicao
ca
Shell Compiladores Editores
Sistema operacional
Hardware
O sistema operacional isola o hardware das
camadas superiores em um sistema computacional
Sistema operacional
Mquina estendida
a
oferece uma mquina virtual mais simples de programar
a
do que o hardware
Gerenciador de recursos
fornece uma alocao controlada de processadores,
ca
memria e disposistivos de entrada/sa
o
da
ENIAC
$RUN
$LOAD
Fortran program
$FORTRAN
$JOB, 10,6610802, MARVIN TANENBAUM
Tape
drive
Input
tape
Output
tape
Printer
1401
(a)
System
tape
(b)
7094
(c)
(d)
1401
(e)
(f)
Job
Sistema Operacional
(b)
Time
IO-bound
Job B
Job A
Sistema Operacional
Process
Process
switch
B
C
D
C
B
A
D
(a)
Time
(b)
(c)
Facilidades
Mainframe
Linguagens de alto n
vel
Minicomputadores
Proteo de hardware
ca
Computadores pessoais
Suporte a multiprogramao
ca
Sistemas embarcados
Cartes inteligentes
o
CPU
Memory
Video
controller
Floppy
disk drive
Hard
disk drive
Keyboard
controller
Floppy
disk
controller
Hard
disk
controller
Bus
Add R1, R2
.
.
.
Decode
unit
Decode
unit
Holding
buffer
Execute
unit
Fetch
unit
(a)
Decode
unit
Execute
unit
Execute
unit
(b)
Maior ecincia
e
Maior complexidade dos compiladores e sistemas
operacionais
Typical capacity
1 nsec
Registers
2 nsec
Cache
10 nsec
Main memory
64-512 MB
10 msec
Magnetic disk
5-50 GB
Magnetic tape
20-100 GB
100 sec
<1 KB
1 MB
0xFFFFFFFF
User program
and data
Registers
when
program 1
is running
Limit-2
User-2 data
Base-2
Limit-2
Limit
User program
and data
Base
Base-2
User-1 data
Limit-1
Base-1
User program
Limit-1
Base-1
Operating
System
Operating
System
(a)
(b)
CPU
Memory
management
unit
Memory
Disk
controller
Bus
The MMU sends physical
addresses to the memory
CPU
Memory
Video
controller
Floppy
disk drive
Hard
disk drive
Keyboard
controller
Floppy
disk
controller
Hard
disk
controller
Bus
Next instruction
Disk
controller
CPU
Interrupt
controller
3. Return
1. Interrupt
1
2. Dispatch
to handler
(a)
Interrupt handler
(b)
CPU
1. CPU
programs
the DMA
controller
DMA
controller
Main
memory
Disk
controller
Buffer
Address
Count
Control
Interrupt when
done
4. Ack
2. DMA requests
transfer to memory
3. Data transferred
Bus
Cache bus
Level 2
cache
Memory bus
PCI
bridge
CPU
Main
memory
PCI bus
SCSI
USB
ISA
bridge
IDE
disk
Graphics
adaptor
Available
PCI slot
Monitor
Mouse
Modem
Keyboard
ISA bus
Sound
card
Printer
Available
ISA slot
Conceitos bsicos
a
Processos
Programa em execuo
ca
Espao de endereamento
c
c
Address (hex)
FFFF
Stack
Gap
Data
Text
0000
Conceitos bsicos
a
Processos
Registradores
Contador de programa
ponteiro de pilha,
PSW (program status word)
Conjunto de arquivos abertos
Conceitos bsicos
a
Hierarquia de processos
A
Conceitos bsicos
a
Deadlock
(a)
(b)
Conceitos bsicos
a
Deadlock
Suponha que dois processos querem gravar um CD-ROM a
partir de dados gravados em uma ta magntica
e
Processo 1
obtm CD-ROM
e
aguarda ta
Process 2
obtm ta
e
aguarda CD-ROM
Conceitos bsicos
a
Sistema de arquivos
Root directory
Students
Robbert
Matty
Faculty
Leo
Prof.Brown
Courses
CS101
Papers
CS105
Prof.Green
Grants
Committees
SOSP
Files
Prof.White
COST-11
Conceitos bsicos
a
Mount
Root
Floppy
(a)
(b)
Conceitos bsicos
a
Links
/usr/ast
/usr/jim
31
70
59
38
16 mail
81 games
40 test
(a)
bin
memo
f.c.
prog1
/usr/ast
16
81
40
70
/usr/jim
31
70
59
38
mail
games
test
note
bin
memo
f.c.
prog1
(b)
$ ln /usr/jim/memo /usr/ast/note
Ast e Jim podem compartilhar um diretrio
o
Conceitos bsicos
a
Segurana
c
islene@emilia% ll
-rw-r----- so.txt
drwxr-xr-x threads/
islene@emilia% ll /usr/bin/passwd
-r-s--x--x /usr/bin/passwd*
Conceitos bsicos
a
Pipe
Process
Process
Pipe
Chamada ao sistema
Tipo especial de chamada de procedimento
Passa do modo usurio para o modo supervisor
a
Instruo TRAP
ca
Return to caller
Trap to the kernel
5 Put code for read in register
10
4
User space
Increment SP
Call read
3 Push fd
2 Push &buffer
1 Push nbytes
11
User program
calling read
Kernel space
(Operating system)
Dispatch
0
Library
procedure
read
Sys call
handler
/* repeat forever */
/* display prompt on the screen */
/* read input from terminal */
/* fork off child process */
/* wait for child to exit */
/* execute command */
Win32
fork
CreateProcess
waitpid WaitForSingleObject
execve
open
CreateFile
close
CloseHandle
Service
procedures
Utility
procedures
Function
The operator
User programs
Input/output management
Operator-process communication
Memory and drum management
Processor allocation and multiprogramming
Layer
5
4
3
2
1
0
CMS
CMS
VM/370
370 Bare hardware
CMS
Trap here
Client
process
Process
server
Terminal
server
File
server
Memory
server
User mode
Kernel mode
Microkernel
Client obtains
service by
sending messages
to server processes
Machine 2
Machine 3
Machine 4
Client
File server
Process server
Terminal server
Kernel
Kernel
Kernel
Kernel
Network
Message from
client to server
Resumo
1. Sistema operacional
2. Histria dos sistemas operacionais
o
3. Reviso sobre hardware
a
4. Conceitos bsicos
a
5. Chamadas aos sistema
6. Estrutura de sistemas operacionais
Prximo tpico: Processos e threads
o
o