In I t n ro r duçã ç o: :O que é k e k rn r el e suas funções

Texto

(1)

Introdução: O que é kernel e suas Introdução: O que é kernel e suas

funções

(2)

Sistema computacional

• Conjunto de dispositivos eletrônicos (hardware) capazes de

processar informações de acordo com um programa (software) e que possui interface com um usuário.

• O s oftware mais importante é o sistema operacional, porque ele

• O s oftware mais importante é o sistema operacional, porque ele

fornece as bases para a execução das aplicações, às quais o usuário

deseja executar

(3)

Sistema computacional

programadores e analistas

Usuários

programas, sistemas e aplicativos usuários

memória discos

UCP

Hardware

Sistema Operacional Sistema Operacional

fitas

impressoras monitores

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(4)

Sistema Operacional

É uma coleção de programas que:

• Inicializa o hardware do computador

• Fornece rotinas básicas para controle de dispositivos

• Fornece gerência, escalonamento e interação de tarefas

• Fornece gerência, escalonamento e interação de tarefas

• Mantém a integridade de sistema

• Oferece serviços aos usuários e às aplicações.

Ex. Windows, GNU/Linux, Mac Os, Unix, etc

(5)

Sistema Operacional

Fonte: Advanced Programming in the UNIX Environment - W. Richard

Stevens, Stephen A. Rago

(6)

Tipos Sistemas Operacionais

Sistemas Tipos de

Sistemas Operacionais

Sistemas SistemasSistemas Sistemas

Multiprogramáveis/

tarefa Multi

Sistemas Batch

Sistemas de Tempo Real Sistemas de

Tempo Compartilhado Sistemas

Monoprogramáveis/

Monotarefa

Sistemas com Múltiplos Processadores Sistemas

Multiprogramáveis/

Multitarefa

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(7)

Kernel

• O kernel é o núcleo do sistema operacional.

• Responsável direto por controlar o hardware.

Ex.: unidades de disco, portas de comunicação, dispositivos lógicos e de hardware até interpretadores de comandos, etc.

e de hardware até interpretadores de comandos, etc.

• Faz interface entre aplicativos e hardware.

(8)

Kernel

Fonte: http://www.oficinadanet.com.br/post/10330-kernel-dos-sistemas-operacionais

(9)

Kernel

As principais funções do kernel são:

• abstrair o funcionamento do hardware;

• tratamento de interrupções e exceções;

• criação e eliminação de processos;

• criação e eliminação de processos;

• sincronização e comunicação entre processos;

• escalonamento e controle de processos;

• gerência de memória;

• gerência de sistema de arquivos;

• gerência de dispositivos de E/S.

(10)

Modos de Acesso

• SO roda em Modo kernel (superusuário, administrator, root)

→ protege o hardware da ação direta do usuário.

Executa instruções privilegiadas.

• Os demais programas rodam em modo usuário e fazem chamadas ao kernel para terem acesso aos dispositivos.

kernel para terem acesso aos dispositivos.

Executa instruções não privilegiadas.

(11)

Modos de Acesso

(12)

System calls

• Mecanismo de proteção ao núcleo do sistema e de acesso aos seus serviços.

• O usuário (ou aplicação), quando deseja solicitar algum serviço do

sistema, realiza uma chamada a uma de suas rotinas (ou serviços) através da system calls (chamadas ao sistema).

da system calls (chamadas ao sistema).

• Geralmente uma system call é chamada através de uma API (Aplication

Program Interface).

(13)

System calls

Fonte: Sistemas Operacionais , aula 05 – Aline de Campos

(14)

System calls

POSIX Win32 Description

fork CreateProcess Create a new process

wait WaitForSingleObject The parent process may wait for the child to finish

execve -- CreateProcess = fork + execve

exit ExitProcess Terminate process

open CreateFile Create a new file or open an existing file

close CloseHandle Close a file

close CloseHandle Close a file

read ReadFile Read data from an open file

write WriteFile Write data into an open file

lseek SetFilePointer Move read/write offset in a file (file pointer) stat GetFileAttributesExt Get information on a file

mkdir CreateDirectory Create a file directory rmdir RemoveDirectory Remove a file directory

link -- Win32 does not support “links” in the file system

unlink DeleteFile Delete an existing file

chdir SetCurrentDirectory Change working directory

(15)

System calls

Fonte: http://www.soffner.com.br/semana2_soii.htm

(16)

System calls

Fonte: System Calls & API Standards - Silberschatz, Galvin e Gagne

(17)

System calls

#include <windows.h>

#include <stdio.h>

typedef struct _SYSTEMTIME {

WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds;

} SYSTEMTIME, *PSYSTEMTIME;

} SYSTEMTIME, *PSYSTEMTIME;

void main() {

SYSTEMTIME lt;

GetLocalTime(&lt);

printf(" The local time is: %02d:%02d\n", lt.wHour, lt.wMinute);

}

// Sample output

The local time is: 12:34

(18)

Kernel Monolítico

• O kernel inteiro é executado como um único programa no modo núcleo.

• Grande desempenho

• Uma falha pode paralisar todo o núcleo. O sistema pode parar por causa de um erro.

de um erro.

Ex: Linux, FreeBSD, System V, DOS, Windows 95/98/Me.

(19)

Kernel Monolítico

Fonte: Sistema Operacionais – Andreza Leite

(20)

Kernel Monolítico

Fonte: http://en.wikipedia.org/wiki/Monolithic_kernel

(21)

Micro Kernel

• Núcleo menor e mais simples

• O sistema passa a ser de mais fácil manutenção.

• Micronúcleos são comuns em aplicações de tempo real, industriais, aviônica e militares, que são cruciais e tem requisitos de confiabilidade muito altos.

muito altos.

Ex: Integrity, Mach, K42, L4, Hurd, PikeOS, QNX, Symbiam e MINIX3.

(22)

Micro Kernel

Fonte: http://en.wikipedia.org/wiki/Monolithic_kernel

(23)

Micro Kernel

Fonte: The Minix Book - Andrew Tanenbaum

(24)

Kernel híbrido

Fonte: http://en.wikipedia.org/wiki/Monolithic_kernel

(25)

Kernel híbrido

Fonte: http://en.wikipedia.org/wiki/Monolithic_kernel

(26)

Exokernel

Fonte: http://en.wikipedia.org/wiki/Exokernel

(27)

Interrupções e exceções

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(28)

Processos

• Processos são programas em execução.

• Um programa por si só não é um processo. Um programa é uma entidade passiva, enquanto o processo é uma entidade ativa

• Exemplo: preparação de bolo de aniversário

• Exemplo: preparação de bolo de aniversário – A receita – programa (algoritmo)

– Os ingredientes – dados de entrada – O cozinheiro – processador

– Atividade de preparar o bolo (processo)

(29)

Estrutura do Processo

Contexto de Software

prioridade de

execução registrador PC

data/ hora de criação

owner (UID) PID

nome

registradores gerais

Contexto de Hardware

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Programa Software

tempo de processador

registrador SP

quotas privilégios

endereços de memória principal alocados

registrador de status

Hardware

Espaço de Endereçamento

(30)

Processos Foreground e Background

(a) Processo Foreground

saída

terminal terminal

entrada

(b) Processo Background

saída

arquivo de saída

terminal terminal

entrada

arquivo de entrada

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(31)

Estados dos Processos

Estado de Execução Estado de Término

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Estado de Espera Estado de Pronto Estado de Criação

(32)

Processos CPU-bound e I/O bound

E/ S E/ S

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(a) CPU-bound

tempo tempo

UCP UCP

(b) I/ O-bound

(33)

Thread

• Threads (também chamadas de processos leves) permitem que partes de um processo sejam executadas em paralelo.

• Threads compartilham o mesmo espaço de endereçamento e com isso a comunicação entre threads é simples e de alto desempenho.

• Um processo pode ter uma ou mais threads.

(34)

Sincronização e Comunicação entre processos

• Processos compartilham ou trocam dados entre si.

• IPC (Inter-process communication) é o grupo de mecanismos que permite

aos processos transferirem informação entre si.

(35)

Sincronização e Comunicação entre processos

Sincronização

Processo gravador

Processo leitor

dado

le itu ra gra va çã o

Buffer

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(36)

Condições de disputa

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(37)

Exclusão Mútua

• Solução mais simples

• Impede que dois ou mais processos acessem simultaneamente um mesmo recurso

• Quando um processo estiver acessando o recurso, os demais processos

• Quando um processo estiver acessando o recurso, os demais processos que desejam acessá-los devem ficar em espera. Essa parte do código que faz acesso ao recurso é denominada região crítica

• Uma vez garantida a execução mutuamente exclusiva das regiões críticas,

resolve-se problemas de compartilhamento

(38)

Exclus ã o M ú tua

Fonte: Sincronização entre processo – Andreza Leite

(39)

Semáforo

• Principal mecanismo usado em aplicações concorrentes.

• Composto por uma variável inteira não negativa que só pode ser manipula por duas instruções: DOWN e UP.

• Semáforos binários (MUTEX, de MUTual EXclusion) só podem assumir 0 ou

• Semáforos binários (MUTEX, de MUTual EXclusion) só podem assumir 0 ou

1.

(40)

Sem á foro Bin á rio na Exclus ã o M ú tua

Processo deseja entrar na região crítica

D O W N (S > 0)

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Fila de espera de processos Processo acessa

a região crítica

D O W N

(S = D O W N (S > 0 0)

UP (S) - processo sai da região crítica

Libera processo

da fila de espera

(41)

Sem á foro Bin á rio na Exclus ã o M ú tua

TYPE Semaforo = RECORD Valor : INTEGER;

Fila_Espera : (* lista de processos pendentes *);

END;

PROCEDURE DOWN (VAR S : Semaforo);

BEGIN

IF (S = 0) THEN Coloca_Processo_na_Fila_de_Espera

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia IF (S = 0) THEN Coloca_Processo_na_Fila_de_Espera

ELSE

S := S – 1;

END;

PROCEDURE UP (VAR S : Semaforo);

BEGIN

S := S + 1;

IF (Tem_Processo_Esperando) THEN Retira_Processo_da_Fila_de_Espera

END;

(42)

Sem á foro Bin á rio na Exclus ã o M ú tua

PROGRAM Semaforo_1;

VAR S : Semaforo := 1;

PROCEDURE Processo_A BEGIN

REPEAT

PROCEDURE Processo_B BEGIN

REPEAT

DOWN (S)

Região_Critica_B;

UP (S);

UNTIL False;

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia REPEAT

DOWN (S)

Região_Critica_A;

UP (S);

UNTIL False;

END;

UNTIL False;

END;

BEGIN

PARBEGIN

Processo_A;

Processo_B;

PAREND;

END.

(43)

Sem á foro Bin á rio na Exclus ã o M ú tua

Processo_A Processo_B S Pendente

---

REPEAT - 1 *

DOWN (S) REPEAT 0 *

Região_Critica_A DOWN (S) 0 Processo_B

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia (adaptado)

Região_Critica_A DOWN (S) 0 Processo_B

UP (S) DOWN (S) 1 Processo_B

REPEAT Região_Critica_B 0 *

(44)

Deadlock

Processo A Processo A

solicita o Recurso 2

Recurso 1 alocado ao Processo A

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Recurso 2 Recurso 1

Processo B

Recurso 2 alocado ao

Processo B

Processo B

solicita o

Recurso 1

(45)

Escalonamento

Estado de Execução

E sc a

lo n a m e

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Estado de Espera

Estado de Pronto o n a

m e n

to

(46)

Algoritmos de escalonamento

• Não Preemptivos

– Fisrt-In First-Out (FIFO) – Shortest-Job-First – SJF

• Preemptivos

– Por prioridades

– Circular (Round-Robin) – Filas multi-nivel

– Tempo Real

(47)

Escalonamento FIFO

UCP Estado de

Criação

Fila dos processos no estado de Pronto

Estado de Término

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Estado de Espera

(48)

Escalonamento FIFO

Processo A

Processo B

Processo C

10 14 17 u.t.

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

10 14 17

Processo A

Processo B

Processo C

4 7 17 u.t.

Processo

Tempo de processador

(u.t.) A

B C

10 4 3

(49)

Escalonamento SJF

Processo A

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Processo B

Processo C

3 7 17 u.t.

(50)

Escalonamento Circular (RR)

UCP Estado de

Criação

Fila dos processos no estado de Pronto

Estado de Término

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Preempção por tempo

Estado de Espera

(51)

Escalonamento Circular (RR)

Processo A

Processo B

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Processo B

Processo C

2 4 6 8 10 11 17 u.t.

(52)

Escalonamento por Prioridade

Estado de Filas dos processos no estado de Pronto

Prioridade P1

Prioridade P2

Estado de

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

UCP

Estado de Término

Prioridade Pn Estado de

Criação

Estado de Espera

Preempção por prioridade

(53)

Escalonamento por Prioridade

Processo A

Processo B

Processo

Tempo de processador

(u.t.)

A 10

Prioridade 2

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Processo C

3 13 17 u.t.

A B C

10 4 3

2 1 3

(54)

Escalonamento Circular por Prioridade

Estado de Término Fila dos processos no estado de Pronto

Prioridade P1

Prioridade P2

Estado de Criação

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

UCP Término

Prioridade Pn Criação

Estado de Espera

Preempção por tempo ou prioridade

(55)

Escalonamento por Múltiplas Filas

Fila de processos do sistema

Fila de processos interativos Maior

prioridade

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

UCP

Fila de processos batch Menor

prioridade

(56)

Escalonamento por Múltiplas Filas com realimentação

Fila 1 (FIFO Adaptado)

Preempção por tempo

Fila 2 (FIFO Adaptado)

Preempção por tempo

Maior Prioridade Menor fatia de tempo

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Fila 3 (FIFO Adaptado) UCP

Preempção por tempo

Fila n (Circular)

Preempção por tempo

Menor Prioridade Maior fatia de tempo

(57)

Tempo compartilhado - FIFO

Processo A

Processo B

u.t.

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

27 u.t.

7

E/S de A

11

E/S de B

19

E/S de A

21

E/S de B

Processo

Tempo de processador

(u.t.) A

B

21 6

Característica CPU-bound

I/ O-bound

(58)

Tempo compartilhado – RR

Processo A

Processo B

u.t.

por A

5

e B

9

e A

11 13 18 20 23 25 27

UCP livre

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Processo

Tempo de processador

(u.t.) A

B

15 10

Característica CPU-bound

I/ O-bound

Preempção por tempo de A E/S de B E/S de A E/S de B Preempção por tempo de A E/S de B E/S de A E/S de B

(59)

Tempo compartilhado - RR com prioridade

Processo A

Processo B

u.t.

e B

4

por e A

6

e B

8

por e A

12 14 15 17 18 20 24 27

UCP livre

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

E/S de B

4

Preempção por prioridade de A 6

E/S de B

8

Preempção por prioridade de A 12

E/S de B

14

E/S de A

15 17

Preempção por prioridade de A 18

E/S de B

20

Preempção por prioridade de A 24

E/S de B

27

Processo

Tempo de processador

(u.t.) A

B

12 13

Característica CPU-bound

I/ O-bound

Prioridade Baixa

Alta

(60)

Escalonamento de Tempo Real

• Leva em consideração apenas a prioridade

• Não há o conceito de fatia de tempo

• Tipos de aplicações

– Industriais (Ex. Sistema de controle de produção) – Automóveis (Ex. ABS)

– Aviônica (Ex. controle de tráfego aéreo)

(61)

Gerência de memória

• monitora quais partes da memória estão em uso e quais estão disponíveis;

• aloca e libera memória para os processos;

• gerencia a permuta de processos entre memória principal e secundária (quando a memória principal não é capaz de abrigar todos os processos).

(quando a memória principal não é capaz de abrigar todos os processos).

(62)

Gerência de memória

Fonte: http://taturial.blogspot.com.br/2012/02/diferenca-entre-as-memorias.html

(63)

Alocação contígua simples

Memória Principal

Registrador Sistema

Operacional

Memória Principal Sistema

Operacional

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Área para programa

Programa do usuário

Área livre

(64)

Técnica de overlay

Memória Principal

Cadastramento Sistema Operacional

2 Kb

3 Kb

4 Kb Módulo principal

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Impressão 4 Kb

4 Kb

2 Kb 2 Kb 1 Kb

Área de overlay

Área livre

Área não utilizada

(65)

Alocação particionada estática

Memória Principal Sistema Operacional

2 Kb

5 Kb Partição 1

Partição

Tabela de partições Tamanho

1 2 Kb

2 5 Kb Partição 2

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

5 Kb

8 Kb

2 5 Kb

3 8 Kb

Partição 2

Partição 3 Programas a serem executados:

A E

3 Kb

D 6 Kb

C 1 Kb

B

4 Kb 2 Kb

(66)

Alocação particionada estática absoluta

Memória Principal Sistema Operacional

2 Kb

5 Kb Partição 1

Partição 2 A

B C

E

1 Kb 2 Kb

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

5 Kb

8 Kb Partição 2

Partição 3 B

D E

3 Kb

6 Kb

4 Kb

(67)

Alocação particionada estática relocável

Memória Principal Sistema Operacional

Programa C 2 Kb

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia 5 Kb

8 Kb Programa A

Programa B E

D

6 Kb 3 Kb

(68)

Fragmentação Interna

Memória Principal Sistema Operacional

1 Kb Programa C

Programa A B

D

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

3 Kb

5 Kb Programa E

B D

6 Kb 4 Kb

(69)

Alocação particionada dinâmica

Memória Principal Memória Principal

Sistema Operacional Sistema Operacional

4 Kb

Programa C 1 Kb Programa B

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

1 Kb 3 Kb

5 Kb 2 Kb 15 Kb

Programa C

Programa A Programa E B

A 2 Kb

E 3 Kb

C

1 Kb 4 Kb

(70)

Fragmentação externa

Memória Principal

Sistema Operacional

4 Kb

Programa C

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

3 Kb

5 Kb Programa C

Programa A D

6 Kb

(71)

Fragmentação externa - Soluções

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(72)

Estratégias de alocação de partição

Memória Principal

Sistema Operacional

4 Kb

Programa C Áreas livres

Área livre 1 Tamanho

1 4 Kb

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

3 Kb 5 Kb Programa C

Programa A Área livre 2

Área livre 3

2 5 Kb

3 3 Kb

(73)

Best-fit

Memória Principal Sistema Operacional

4 Kb

Programa C

Sistema Operacional

Programa C

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

3 Kb 5 Kb

Programa A F

1 Kb

2 Kb Programa C

Programa F Programa A

Área livre

(74)

Worst-fit

Memória Principal Sistema Operacional

4 Kb

Programa C

Sistema Operacional

Programa C

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

3 Kb 5 Kb

Programa C

Programa A F

1 Kb 4 Kb

Programa C

Programa A Área livre Programa F

(75)

First-fit

Memória Principal Sistema Operacional

4 Kb

Programa C

Sistema Operacional

3 Kb Programa C

Área livre Programa F

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

3 Kb 5 Kb

Programa A F

1 Kb

Programa A

(76)

Swapping

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(77)

Memória Virtual

Memória Virtual Memória Principal

. . .

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia .

. . .

Memória Secundária

(78)

Memória Virtual por Paginação

Memória Virtual

Página virtual 0

Página virtual 1

Página virtual 2

Tabela de páginas

Memória Principal

. . .

Página real 0

Página real 1

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia .

. . .

Página virtual 2

Página virtual V

ETP

Memória Secundária

.

Página real R

(79)

Memória Virtual por Paginação

Endereço virtual

Tabela de páginas

Bit de validade 0

Memória Principal

Page fault

Page in

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Memória secundária

Tabela de páginas

Bit de validade 1

Memória Principal

Memória secundária

(80)

Memória Virtual por Paginação

Memória Principal

Arquivo de paginação Page o

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Page out

Page in

(81)

Sistema de Arquivos

• Um processo deve ser capaz de ler e gravar de forma permanente grande volume de dados além de poder compartilhá-los com outros processos.

• Um arquivo é constituído por informações logicamente relacionadas que podem representar instruções (arquivo binário) ou dados (arquivo de texto).

texto).

• A parte do sistema operacional responsável por essa gerência de arquivos

é denominada Sistema de Arquivos.

(82)

Extensão

Extensão Descrição

Arquivo.c Arquivo fonte em C

Arquivo.java Arquivo fonte em JAVA Arquivo.jpg Imagem no formato JPEG Arquivo.jpg Imagem no formato JPEG Arquivo.jpeg Imagem no formato JPEG Arquivo.png Imagem no formato Bitmap

Arquivo.txt Arquivo texto

Arquivo.exe Arquivo executável

(83)

Organização de arquivos

Byte

Ana Cláudia Teresa

Beatriz Camila Daniele Patrícia Tina Vanessa

(a) Organização não-estruturada

Isabela Maria

Registro

(b) Organização Indexada

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

(84)

Atributos

Atributos Descrição

Tipo Especifica o tipo do arquivo

Tamanho Especifica o tamanho do arquivo Proteção Código de proteção de acesso

Dono Identifica o criador do arquivo

Criação Data e hora de criação do arquivo Modificação/Backup Data e hora da última modificação

salva

Senha Senha necessária para acessar o

arquivo (opcional)

(85)

Diretórios

• A estrutura de diretórios é como o sistema organiza logicamente os diversos arquivos contidos em disco.

• São estruturas de dados que contém entradas associadas aos arquivos, onde cada entrada armazena o nome, localização e demais atributos do arquivo.

arquivo.

(86)

Estrutura de diretórios em árvore

Usuário 1

Usuário 2

Diretório 1

Diretório 2

Arquivo 1

Arquivo 1

Arquivo 2

Arquivo 1

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Usuário 3

Usuário n

Diretório Raiz

Arquivo 1

Diretório 1

Arquivo 1

Arquivo 2

Arquivo 1

Arquivo 2

(87)

File Path

Disco C:/

Ivan Ivan

Carlos Paulo

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Teste Pessoal

Soma.exe

(88)

Gerência de E/S

Processo

Sistema

Operações de E/ S

Modo Usuário

Independente do dispositivo

E

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Controladores

Dispositivos de E/ S Sistema

de Arquivos

Device Drivers Subsistema de E/ S

MModo Kernel

do dispositivo (a)

Dependente do dispositivo

(b)

SOFTWAREHARDWARE

(89)

Gerência de E/S

Comandos de E/ S

Aplicação

Bibliotecas

Fonte: Arquitetura de Sistemas Operacionais – Machado e Maia

Device drivers

Dispositivos de E/ S Rotinas de E/ S System calls de E/ S

(90)

Livros

Arquitetura de Sistemas Operacionais

Machado e Maia

Sistemas Operacionais Modernos

Tanenbaum

Imagem

Referências

temas relacionados :