Processos ao nível do SO
|
|
- Inês Canejo Amarante
- 5 Há anos
- Visualizações:
Transcrição
1 Processos ao nível do SO José C. Cunha, DI-FCT/UNL Concorrência em sistemas de operação Periféricos operando simultaneamente Multiprogramação Eventos em instantes imprevisíveis
2 SO monolíticos Programas e periféricos pedem serviços ao SO Todas as acções do SO com interrupções desligadas SO fica mais simples, mas 10/1/2009 FSO 2
3 SO: abordagem tradicional Application Programs Application Programs User Mode Kernel Mode OS Hardware 10/1/2009 FSO 3
4 SO monolítico Application Programs Application Programs User Mode System Services Kernel Mode Hardware Ex: MS-DOS 10/1/2009 FSO 4
5 SO monolíticos Programas e periféricos pedem serviços ao SO Todas as acções do SO com interrupções desligadas SO fica mais simples, mas Processos e periféricos ficam a aguardar muito tempo SO grandes ficam muito complexos Difíceis de estender com novos serviços 10/1/2009 FSO 5
6 SO organizado em camadas Application Programs System Services Application Programs User Mode Kernel Mode Memory & I/O Device Mgmt Process Schedule Hardware Cada camada acede uma interface de mais baixo nível Ex : UNIX 10/1/2009 FSO 6
7 Tendência para SO mais flexíveis Application Programs Servers Application Programs User Mode Kernel Mode Microkernel Hardware 10/1/2009 FSO 7
8 SO baseados em processos Nem todas as acções do SO exigem as interrupções desligadas 10/1/2009 FSO 8
9 SO baseados em processos Nem todas as acções do SO exigem as interrupções desligadas Maior descentralização das acções do SO 10/1/2009 FSO 9
10 SO baseados em processos Nem todas as acções do SO exigem as interrupções desligadas Maior descentralização das acções do SO Processos: -- entidades assíncronas interrompíveis -- partilham o CPU e passam por estados: Pronto, Executando, Bloqueado 10/1/2009 FSO 10
11 SO baseados em processos Nem todas as acções do SO exigem as interrupções desligadas Maior descentralização das acções do SO Processos: -- entidades assíncronas interrompíveis -- partilham o CPU e passam por estados Pronto, Executando, Bloqueado Processo para acções de device driver 10/1/2009 FSO 11
12 SO baseados em processos Nem todas as acções do SO exigem as interrupções desligadas Maior descentralização das acções do SO Processos: -- entidades assíncronas interrompíveis -- partilham o CPU e passam por estados executando, bloqueado, pronto Processo para acções de device driver Processo para execução de cada programa 10/1/2009 FSO 12
13 Noção de processo associada a cada device driver para cada periférico Responsável pela sua operação física Pela detecção do fim de operações e erros Pelo tratamento de interrupções Pelo serviço dos pedidos dos programas 10/1/2009 FSO 13
14 Vantagens: -- maior clareza nos módulos do SO -- estruturas de dados descentralizadas e sob controlo de processos dedicados -- maior eficiência no atendimento dos pedidos dos programas e dos periféricos na gestão da concorrência 10/1/2009 FSO 14
15 O Núcleo do SO Distribui o tempo de CPU pelos processos 10/1/2009 FSO 15
16 O Núcleo do SO Distribui o tempo de CPU pelos processos Atende interrupções e assinala-as aos respectivos processos responsáveis, sob a forma de sinais 10/1/2009 FSO 16
17 O Núcleo do SO Distribui o tempo de CPU pelos processos Atende interrupções e assinala-as aos respectivos processos responsáveis, sob a forma de sinais Oferece funções para: Processos fazerem pedidos ao SO 10/1/2009 FSO 17
18 O Núcleo do SO Distribui o tempo de CPU pelos processos Atende interrupções e assinala-as aos respectivos processos responsáveis, sob a forma de sinais Oferece funções para: Processos fazerem pedidos ao SO Processos comunicarem entre si e sincronizarem as suas acções concorrentes 10/1/2009 FSO 18
19 Cada processo, seus canais de I/O processo em execução Prog A Prog B Prog C device drivers hardware 10/1/2009 FSO 19
20 Processo Programa Programa é estático código e dados 10/1/2009 FSO 20
21 Processo Programa Programa é estático código e dados Processo é uma instância de execução código e dados (estes vão variando) estado: pilha, registadores (PC, SP, ) canais de I/O atributos e outros recursos 10/1/2009 FSO 21
22 Processo Programa Programa é estático código e dados Processo é uma instância de execução código e dados (estes vão variando) estado: pilha, registadores (PC, SP, ) canais de I/O atributos e outros recursos O mesmo programa pode ser executado em diferentes processos: p.ex. diferentes utilizadores 10/1/2009 FSO 22
23 Controlo de Processos Ambiente de execução dos programas: instruções da máquina hardware chamadas a funções de biblioteca chamadas ao sistema de operação Suporte duma máquina virtual dedicada a cada processo: Processador Virtual Memória Virtual Canais Virtuais de Comunicação 10/1/2009 FSO 23
24 Máquina virtual de um processo Mem. virtual I/O virtual CPU virtual O SO gere e projecta na máquina real Mem. Virtual mapa de memória CPU virtual CPU real / time-sharing I/O virtual canais de I/O periféricos 10/1/2009 FSO 24
25 Um Processo no SO Ambiente de execução de um programa: 10/1/2009 FSO 25
26 Um Processo no SO Ambiente de execução de um programa: -- Programa executável 10/1/2009 FSO 26
27 Um Processo no SO Ambiente de execução de um programa: -- Programa executável -- Zonas de dados e pilha 10/1/2009 FSO 27
28 Um Processo no SO Ambiente de execução de um programa: -- Programa executável -- Zonas de dados e pilha -- Zona para salvaguarda de estado do CPU (PC, SP, outros registadores) 10/1/2009 FSO 28
29 Um Processo no SO Ambiente de execução de um programa: -- Programa executável -- Zonas de dados e pilha -- Zona para salvaguarda de estado do CPU (PC, SP, outros registadores) -- Informação sobre canais abertos para ficheiros e outra informação de controlo 10/1/2009 FSO 29
30 Um Processo no SO Ambiente de execução de um programa: -- Programa executável -- Zonas de dados e pilha -- Zona para salvaguarda de estado do CPU (PC, SP, outros registadores) -- Informação sobre canais abertos para ficheiros e outra informação de controlo Guardada em Descritores internos do SO (Process Id: PID -- aponta para descritor) 10/1/2009 FSO 30
31 núcleo do SO Processo e sua memória descrição de um processo código do programa dados mapa de memória (tabela de páginas) pilha 10/1/2009 FSO 31
32 núcleo do SO Estados lógicos de um processo descrição de um processo estado do CPU criação escalonado terminação pronto executando fim do I/O fim do time-slice bloqueado I/O 10/1/2009 FSO 32
33 núcleo do SO Processo em memória descrição de um processo mapa de memória código do programa etc estado do CPU descritores de canais dados pilha 10/1/2009 FSO 33
34 Ambiente de um processo Unix Mapa de memória do processo Inicialização -> main() Execução e terminação do processo 10/1/2009 FSO 34
35 10/1/2009 FSO 35
36 Início de execução de um processo Activar um programa C: uma função de inicialização (no start address especificado pelo compilador) é activada: p.e. _start no C Run Time (crt) 10/1/2009 FSO 37
37 Início de execução de um processo Activar um programa C: uma função de inicialização (no start address especificado pelo compilador) é activada: p.e. _start no C Run Time (crt) obtém argumentos e vars. ambiente para o mapa do processo, iniciando a pilha 10/1/2009 FSO 38
38 Início de execução de um processo Activar um programa C: uma função de inicialização (no start address especificado pelo compilador) é activada: p.e. _start no C Run Time (crt) obtém argumentos e vars. ambiente para o mapa do processo, iniciando a pilha e lança a função main(): main(argc, argv, environ); 10/1/2009 FSO 39
39 10/1/2009 FSO 40
40 Terminação de um processo Normal: -- retorno de main() 10/1/2009 FSO 41
41 Terminação de um processo Normal: -- retorno de main() -- chamada exit(): acções de fecho, 10/1/2009 FSO 42
42 Terminação de um processo Normal: -- retorno de main() -- chamada exit(): acções de fecho, -- chamada _exit(): retorno imediato ao SO ) 10/1/2009 FSO 43
43 Terminação de um processo Normal: -- retorno de main() -- chamada exit(): acções de fecho, -- chamada _exit(): retorno imediato ao SO -- podem devolver o exit status do processo Anormal: 10/1/2009 FSO 44
44 Terminação de um processo Normal: -- retorno de main() -- chamada exit(): acções de fecho, -- chamada _exit(): retorno imediato ao SO -- podem devolver o exit status do processo Anormal: -- chamada de abort() 10/1/2009 FSO 45
45 Terminação de um processo Normal: -- retorno de main() -- chamada exit(): acções de fecho, -- chamada _exit(): retorno imediato ao SO -- podem devolver o exit status do processo Anormal: -- chamada de abort() -- ocorrência de sinal (hardware ou software) 10/1/2009 FSO 46
46 Chamadas a biblioteca e chamadas ao sistema As chamadas ao sistema têm funções correspondentes na biblioteca standard C Muitas funções de biblioteca não chamam o sistema: operam em MODO UTILIZADOR! As chamadas ao sistema operam em MODO SUPERVISOR! Exemplo: 10/1/2009 FSO 47
47 10/1/2009 FSO 48
48 Níveis de software Visão de uma aplicação Modo utilizador (executa num processo) Modo supervisor programa bibliotecas API do SO Núcleo do SO device drivers Chamada ao sistema hardware 10/1/2009 FSO 49
49 Chamada ao sistema _exit void _exit(int status); Programa C libc API do SO Núcleo (kernel) exit( ) _exit( ) int SYSCALL rot-int do_exit hardware Código possível _exit: mov eax,exit_scall No caso do linux/x86: EXIT_SCALL=1 SYSCALL=0x80 10/1/2009 FSO 50
50 Chamada ao sistema _exit void _exit(int status); Programa C libc API do SO Núcleo (kernel) exit( ) _exit( ) int SYSCALL rot-int do_exit hardware Código possível _exit: mov eax,exit_scall mov ebx, [ebp+4] No caso do linux/x86: EXIT_SCALL=1 SYSCALL=0x80 10/1/2009 FSO 51
51 Chamada ao sistema _exit void _exit(int status); Programa C libc API do SO Núcleo (kernel) exit( ) _exit( ) int SYSCALL rot-int do_exit hardware Código possível _exit: mov eax,exit_scall mov ebx, [ebp+4] int SYSCALL No caso do linux/x86: EXIT_SCALL=1 SYSCALL=0x80 10/1/2009 FSO 52
52 Chamadas ao sistema (I/O) Exemplo de saída de dados Programa C libc API do SO Núcleo (kernel) printf( ) write( ) rot-int do_write device drivers int SYSCALL Buffer com os dados a escrever hardware 10/1/2009 FSO 53
53 Principais características do UNIX Suporta múltiplos processos 10/1/2009 FSO 54
54 Principais características do UNIX Suporta múltiplos processos Suporta múltiplos utilizadores 10/1/2009 FSO 55
55 Principais características do UNIX Suporta múltiplos processos Suporta múltiplos utilizadores Escalonamento com time-slice 10/1/2009 FSO 56
56 Principais características do UNIX Suporta múltiplos processos Suporta múltiplos utilizadores Escalonamento com time-slice Organiza o espaço nos discos num sistema de ficheiros hierárquico 10/1/2009 FSO 57
57 Principais características do UNIX Suporta múltiplos processos Suporta múltiplos utilizadores Escalonamento com time-slice Organiza o espaço nos discos num sistema de ficheiros hierárquico Possui mecanismos de permissões associados a processos e a ficheiros 10/1/2009 FSO 58
58 Classes de chamadas ao SO Acesso a ficheiros e directorias 10/1/2009 FSO 59
59 Classes de chamadas ao SO Acesso a ficheiros e directorias Pedir e libertar memória 10/1/2009 FSO 60
60 Classes de chamadas ao SO Acesso a ficheiros e directorias Pedir e libertar memória Pedir a execução de novos programas 10/1/2009 FSO 61
61 Classes de chamadas ao SO Acesso a ficheiros e directorias Pedir e libertar memória Pedir a execução de novos programas Controlar a execução de programas 10/1/2009 FSO 62
62 Classes de chamadas ao SO Acesso a ficheiros e directorias Pedir e libertar memória Pedir a execução de novos programas Controlar a execução de programas Comunicação e sincronização de processos concorrentes 10/1/2009 FSO 63
63 Classes de chamadas ao SO Acesso a ficheiros e directorias Pedir e libertar memória Pedir a execução de novos programas Controlar a execução de programas Comunicação e sincronização de processos concorrentes Obter informação de estado do sistema 10/1/2009 FSO 64
64 O arranque do SO Um pequeno programa para bootstrap Responsável pelo carregamento para memória e execução do núcleo do SO Depende de cada computador 10/1/2009 FSO 65
65 O arranque do SO Um pequeno programa para bootstrap Responsável pelo carregamento para memória e execução do núcleo do SO Depende de cada computador Depois das inicializações o SO cria o primeiro processo (init) 10/1/2009 FSO 66
66 O arranque do SO Um pequeno programa para bootstrap Responsável pelo carregamento para memória e execução do núcleo do SO Depende de cada computador Depois das inicializações o SO cria o primeiro processo (init) O processo init dá início a uma cascata de criação de processos 10/1/2009 FSO 67
67 Árvore de processos no Unix 10/1/2009 FSO 68
68 Árvore de processos (exemplo) Init Spooler de impressão Atendimento de logins por rede Login terminal 1 Shell para utilizador A Comando 'ls' (exemplo de um sessão.) Login terminal 2 10/1/2009 FSO 69
69 Utilizadores e permissões Utilizadores: identificação, direitos ou permissões O que pode ler, escrever, executar, que tempo de CPU, espaço em memória, espaço em disco, etc Cada utilizador tem de identificar-se perante o SO: login Cada processo recebe os direitos do utilizador que o criou 10/1/2009 FSO 70
70 Atributos de um processo Identificador (process identifier) 10/1/2009 FSO 71
71 Atributos de um processo Identificador (process identifier) Imagem do programa em memória Código, dados e pilha (tabela de páginas) 10/1/2009 FSO 72
72 Atributos de um processo Identificador (process identifier) Imagem do programa em memória Código, dados e pilha (tabela de páginas) Estado do CPU (quando não executa) Conteúdo dos registos (PC, SP, ) 10/1/2009 FSO 73
73 Atributos de um processo Identificador (process identifier) Imagem do programa em memória Código, dados e pilha (tabela de páginas) Estado do CPU (quando não executa) Conteúdo dos registos (PC, SP, ) Estado do I/O Canais de I/O (ficheiros abertos e buffers com os dados em trânsito) 10/1/2009 FSO 74
74 Atributos de um processo Identificador (process identifier) Imagem do programa em memória Código, dados e pilha (tabela de páginas) Estado do CPU (quando não executa) Conteúdo dos registos (PC, SP, ) Estado do I/O Canais de I/O (ficheiros abertos e buffers com os dados em trânsito) Identificador do utilizador e seus direitos (ou permissões) 10/1/2009 FSO 75
75 Mais atributos Na realidade o processo tem um dono: identificador do utilizador (uid) e grupo (gid) as permissões estão associadas aos recursos 10/1/2009 FSO 76
76 Mais atributos Na realidade o processo tem um dono: identificador do utilizador (uid) e grupo (gid) as permissões estão associadas aos recursos Directoria corrente 10/1/2009 FSO 77
77 Mais atributos Na realidade o processo tem um dono: identificador do utilizador (uid) e grupo (gid) as permissões estão associadas aos recursos Directoria corrente "Atributos" extra: variáveis de ambiente São um conjunto de strings nome=valor 10/1/2009 FSO 78
78 Variáveis do ambiente Definem um ambiente "livre" (pode conter qualquer coisa na forma nome=valor) exemplos: HOME home directory (directoria base do utilizador) PATH lista de directorias (caminhos) onde procurar ficheiros executáveis LANG língua preferida pelo utilizador São definidas: automaticamente no login (HOME, USER, ) ou definidas num ficheiro de inicializações ou explicitamente pelo utilizador! 10/1/2009 FSO 79
79 main(argc, argv, environ); 10/1/2009 FSO 81
80 Exemplo de uso de processos A nível do Shell no Unix: -- ler e interpretar comandos do terminal 10/1/2009 FSO 82
81 Exemplo de uso de processos A nível do Shell no Unix: -- ler e interpretar comandos do terminal -- criar um processo por cada comando 10/1/2009 FSO 83
82 Exemplo de uso de processos A nível do Shell no Unix: -- ler e interpretar comandos do terminal -- criar um processo por cada comando -- destruir o processo no fim da execução de cada comando 10/1/2009 FSO 84
83 Ciclo de vida de um processo 10/1/2009 FSO 85
84 Executar um programa Processo Pedir a criação de um processo: o SO verifica todas as permissões e 10/1/2009 FSO 86
85 Executar um programa Processo Pedir a criação de um processo: o SO verifica todas as permissões e cria as estruturas para gerir o processo 10/1/2009 FSO 87
86 Executar um programa Processo Pedir a criação de um processo: o SO verifica todas as permissões e cria as estruturas para gerir o processo inicia todos os seus atributos inicia o mapa de memória com o programa (p. ex. a partir de um ficheiro executável) 10/1/2009 FSO 88
87 Executar um programa Processo Pedir a criação de um processo: o SO verifica todas as permissões e cria as estruturas para gerir o processo inicia todos os seus atributos inicia o mapa de memória com o programa (p. ex. a partir de um ficheiro executável) inicia o CPU, transferindo o controlo para o processo criado (PC, SP, ) 10/1/2009 FSO 89
88 Executar um programa Processo Pedir a criação de um processo: o SO verifica todas as permissões e cria as estruturas para gerir o processo inicia todos os seus atributos inicia o mapa de memória com o programa (p. ex. a partir de um ficheiro executável) inicia o CPU, transferindo o controlo para o processo criado (PC, SP, ) Queremos algo como: CriarProcesso( ficheiro,canais-iniciais, atributos, ambiente, etc)?? 10/1/2009 FSO 90
89 Criar processos Exemplo MS-Windows (Win32): BOOL CreateProcess( LPCSTR AppName, LPTSTR CommLine, LPSECURITY_ATTRIBUTES ProcAttr, LPSECURITY_ATTRIBUTES ThAttr, BOOL InheritHandles, DWORD CreatFlags, LPVOID Environment, LPCSTR CurrDirectory, LPSTARTUPINFO StartupInf, LPPROCESS_INFORMATION ProcInfo ) 10/1/2009 FSO 91
90 Criar processos Exemplo MS-Windows (Win32): BOOL CreateProcess( LPCSTR AppName, LPTSTR CommLine, LPSECURITY_ATTRIBUTES ProcAttr, LPSECURITY_ATTRIBUTES ThAttr, BOOL InheritHandles, DWORD CreatFlags, LPVOID Environment, LPCSTR CurrDirectory, LPSTARTUPINFO StartupInf, LPPROCESS_INFORMATION ProcInfo ) Abordagem UNIX: int fork(void) int execve(char *path, char **argv,char **envp) 10/1/2009 FSO 92
91 Chamadas Unix para Processos Fork: cria um duplicado exacto do processo original incluindo informação sobre canais abertos 10/1/2009 FSO 93
92 Chamadas Unix para Processos Fork: cria um duplicado exacto do processo original incluindo informação sobre canais abertos Exec: nova imagem executável para o processo, a partir de um ficheiro executável -- um novo mapa de memória 10/1/2009 FSO 94
93 Chamadas Unix para Processos Fork: cria um duplicado exacto do processo original incluindo informação sobre canais abertos Exec: nova imagem executável para o processo, a partir de um ficheiro executável -- um novo mapa de memória Wait: permite a um processo aguardar pela terminação de um filho 10/1/2009 FSO 95
94 Chamadas Unix para Processos Fork: cria um duplicado exacto do processo original incluindo informação sobre canais abertos Exec: nova imagem executável para o processo, a partir de um ficheiro executável -- um novo mapa de memória Wait: permite a um processo aguardar pela terminação de um filho Exit /_exit: termina o processo corrente 10/1/2009 FSO 96
95 Chamadas Unix para Processos Fork: cria um duplicado exacto do processo original incluindo informação sobre canais abertos Exec: nova imagem executável para o processo, a partir de um ficheiro executável -- um novo mapa de memória Wait: permite a um processo aguardar pela terminação de um filho Exit /_exit: termina o processo corrente Getpid: indica o identificador do processo 10/1/2009 FSO 97
96 FORK: criar um processo no Unix 10/1/2009 FSO 98
97 Criação de processos cloning 10/1/2009 FSO 99
98 Como é que o clone sabe que é um clone? 10/1/2009 FSO 100
99 Como é que o clone sabe que é um clone? Como é que o pai sabe que é o processo original e não a cópia? 10/1/2009 FSO 101
100 Como é que o clone sabe que é um clone? Como é que o pai sabe que é o processo original e não a cópia? Será necessário distinguir entre eles? - em geral o pai é um supervisor ou gestor que coordena a criação de múltiplos processos 10/1/2009 FSO 102
101 Um novo processo: criar um clone int fork(void) 10/1/2009 FSO 103
102 Um novo processo: criar um clone int fork(void) cria um novo processo (filho) cópia exacta do original (pai) incluindo programa, atributos e informação sobre canais abertos (o pid é diferente, claro!) 10/1/2009 FSO 104
103 Um novo processo: criar um clone int fork(void) cria um novo processo (filho) cópia exacta do original (pai) incluindo programa, atributos e informação sobre canais abertos (o pid é diferente, claro!) devolve o pid do filho ao pai (no retorno de fork) 10/1/2009 FSO 105
104 Um novo processo: criar um clone int fork(void) cria um novo processo (filho) cópia exacta do original (pai) incluindo programa, atributos e informação sobre canais abertos (o pid é diferente, claro!) devolve o pid do filho ao pai (no retorno de fork) o filho, sendo uma cópia do pai, começa a executar na instrução apontada pelo mesmo valor do PC do pai: instrução logo a seguir ao fork! o SO devolve um resultado no retorno de fork, no novo processo filho (devolve zero) 10/1/2009 FSO 106
105 Exemplo de fork 10/1/2009 FSO 107
106 10/1/2009 FSO 108
107 pid = fork (); /* pid: resultado do fork*/ if (pid == 0) -- código executado pelo filho else if (pid > 0) /*pid = identifica o filho*/ -- código executado pelo pai else /* pid < 0 */ -- erro 10/1/2009 FSO 109
108 Exemplo: pid = fork(); switch (pid) { case 0: printf("filho: %d\n",getpid()); exit(0); case -1: perror("fork"); break; default:printf( Criei %d\n", pid); } 10/1/2009 FSO 110
109 Exemplo (cont.) Onde aparecem as mensagens? Filho "herda" os canais de i/o! descritores copiados, logo apontam os mesmos canais p1 p2 p3 1 Tabela global de fich. abertos Offset R Offset RW Offset R Offset R Offset R p3 filho de p2 Por que ordem? Quem executa primeiro? São dois processos concorrentes, o SO decide como os escalonar podem executar em simultâneo, se existirem vários CPU! 10/1/2009 FSO 111
110 Fork: com mais pormenor 10/1/2009 FSO 112
111 10/1/2009 FSO 113
112 10/1/2009 FSO 114
113 sequência de passos no fork() P 1 (pid=343) P 2 (pid=682) 5 5 fork() fork() Sistema de Operação 10/1/2009 FSO 115
114 Utilização do fork Criar várias instâncias do mesmo programa p. ex: lançar o login em vários terminais 10/1/2009 FSO 116
115 Utilização do fork Criar várias instâncias do mesmo programa p. ex: lançar o login em vários terminais Tirar partido da multiprogramação p. ex: um programa inclui diversas acções que podem ser executadas em concorrência 10/1/2009 FSO 117
116 Utilização do fork Criar várias instâncias do mesmo programa p. ex: lançar o login em vários terminais Tirar partido da multiprogramação p. ex: um programa inclui diversas acções que podem ser executadas em concorrência Combinar fork + exec para criar processos com novos programas (antes do exec, o novo processo pode alterar o ambiente para o novo programa) 10/1/2009 FSO 118
117 EXEC 10/1/2009 FSO 120
118 Executar um programa: exec Num processo existente: Cria um novo mapa de memória para o processo (substitui o antigo mapa) na prática, passa a executar um novo programa O restantes atributos do processo mantêm-se: atributos e canais de I/O (há excepções) Exemplo: execve("/bin/ls", argv, environ); 10/1/2009 FSO 121
119 Mapa de memória virtual do processo end. superior iniciado pelo SO com base no pedido de criação args. e var. ambiente stack SP obtido pelo SO do ficheiro executável dados não inicializados dados inicializados programa bibliotecas (bss) (data) (text) PC end. inferior 10/1/2009 FSO 122
120 Execução de novo programa 10/1/2009 FSO 123
121 Exemplo de exec 10/1/2009 FSO 124
122 Chamadas de fork e exec int fork(void); -- uma só função exec: uma família de funções que recorrem a uma única chamada ao SO execve() Só diferem no modo como especificam os argumentos e as variáveis de ambiente: execl: lista de argumentos execv: vector de apontadores p/ argumentos execp: variável PATH exece: vector para variáveis de ambiente 10/1/2009 FSO 125
123 execve e Companhia Funções de biblioteca: execl(char *path, char *arg0, char *arg1, ) execle(char *path, char *arg0, char *arg1,,0, char **envp) execv(char *path, char **argv) execlp(char *file, char *arg0, char *arg1, ) execvp(char *file, char **argv) as duas últimas usam as directorias indicadas em PATH (do ambiente corrente do processo) para procurar file 10/1/2009 FSO 126
124 execl: args como uma lista terminada por NULL e um pathname para o executável int execl (char *path, char *arg1,..., char *argn, (char *) 0); execlp: só precisa do filename para o executável int execlp (char *file, char *arg1,..., char *argn, (char *) 0); 10/1/2009 FSO 127
125 execv: um array de argumentos e um pathname para o executável int execv(char *path, char *argv[ ]); execvp: só um filename para o executável int execvp(char *file, char *argv[ ]); 10/1/2009 FSO 128
126 main() { printf( executing ls\n ); execl( /bin/ls, ls, -l, (char `)0); } /*se retorna aqui: houve um erro*/ perror( execl failed to run ls ): exit(1); 10/1/2009 FSO 129
127 main() { char *av[ ] = { ls, - l, (char *)0); ou av[0] = ls av[1] = - l av[2] = NULL } /* os argumentos num array de strings */ execv( /bin/ls, av); /*se retorna aqui: houve um erro*/ perror( execv failed to run ls ): exit(1); 10/1/2009 FSO 130
128 10/1/2009 FSO 133
129 fork + exec* pid = fork(); switch (pid) { case 0: execl("/bin/ls","ls","/bin",0); perror("ls"); exit(1); case -1: perror("fork"); break; default: printf("criei o %d\n", pid); } p1 fork() switch printf( ) p2 switch execl( ) main( ) do "ls" 10/1/2009 FSO 134
130 sequência fork() + execve() P 1 (pid=343) P 2 (pid=682) 5 5 fork() 1 3 execve() fork() Sistema de Operação 7 9 exec() 10/1/2009 FSO 135
131 10/1/2009 FSO 136
132 fork vs. execve fork mapa mem. pai copiado para filho retorna pid do filho ao pai (filho recebe zero) pid filho diferente do do pai (processos diferentes!) filho herda uma copia dos canais de i/o execve mapa de mem. substituído pelo novo programa nunca retorna (só em caso de erro) o pid mantém-se (mesmo processo!) mantém os mesmos canais (mesmo processo!) 10/1/2009 FSO 137
133 Wait e waipid int wait(int *status); Aguarda a terminação de um dos filhos int waitpid(int pid, int *status, int options); Se pid == -1 waitpid é igual a wait Se pid > 0 aguarda o filho indicado por pid Options: WNOHANG: (wait with no hang) devolve 0 e retorna de imediato, se filho ainda não acabou 10/1/2009 FSO 138
134 bloqueado Esperar pela terminação int wait(int *status) aguarda pela terminação de um dos filhos status: código de terminação do processo: se terminou com _exit pode-se obter o exit status fork() wait(&status) execve( ) main( ) _exit( 0 ) WEXITSTATUS(status) == 0 10/1/2009 FSO 139
135 Pai aguarda terminação do filho 10/1/2009 FSO 140
136 wait: cenários possíveis O pai e o filho: executados concorrentemente em multiprogramação. Cenários possíveis: 1. Pai chega primeiro à chamada de wait fica bloqueado até o filho chamar _exit 2. Filho chama _exit antes do pai chamar wait o filho fica ZOMBIE (defunct) quando pai chamar wait, não bloqueia, e o resíduo do filho é eliminado. 3. Pai não chama wait e termina o filho fica ÓRFÃO: é adoptado pelo init 10/1/2009 FSO 141
137 Árvore de processos no Unix 10/1/2009 FSO 142
138 Exemplo de fork e exec 10/1/2009 FSO 143
139 Exemplo com execl pid = fork(); switch (pid) { case 0: chdir("/bin"); execl("/bin/ls","ls",0); printf(stderr,"erro no execl\n");! case -1: perror("fork"); break; default: printf("criei o %d\n", pid); wait( &st ); if ( WIFEXIT(st) ) printf("exit status: %d\n", WEXITSTATUS(st) ); } 10/1/2009 FSO 144
140 Exemplo com execvp pid = fork(); switch (pid) { case 0: { char *av[3]; } av[0]="ls"; av[1]="/bin"; av[2]=null; execvp( "ls", av ); perror( "exec ls" ); exit(1); } case -1: perror("fork"); break; default: wait( &st ); 10/1/2009 FSO 145
141 Shell: recebe comandos do teclado 10/1/2009 FSO 146
142 Um Shell simplificado while (true) { read_command(command, params); if (fork () > 0) -- cria wait (&status); -- o pai espera else -- o filho executa o comando execv(command,params); } cp file1 file2 na linha de comandos main(argc, argv) no programa 10/1/2009 FSO 147
Arquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Um processo é uma instância em execução de um programa. No sistema operativo Unix a única forma de se criar um novo processo (processo-filho)
Leia maisO Núcleo do Sistema de Operação (1) José C. Cunha, DI/FCT/UNL
O Núcleo do Sistema de Operação (1) José C. Cunha, DI/FCT/UNL O Sistema de Operação visto como... Gestor de Recursos Gere e permite a partilha do hardware pelos processos Gere a execução dos programas
Leia maisComplementos de Programação. Engenharia Electrotécnica - Electrónica e Computadores. Ano Lectivo: 2005/2006. Ana Madureira. Gestão de Processos
Complementos de Programação Engenharia Electrotécnica - Electrónica e Computadores Ano Lectivo: 2005/2006 Ana Madureira Gestão de Processos 04-12-2006 1 Objectivos Os alunos deverão ser capazes de ter
Leia maisNa Aula Anterior... Interrupções por software e hardware; Temporizadores; RTC; Temporizadores via software. Relação Processos Multiprogramação
GSI018 Sistemas Operacionais 26/08/2016 Gerência de Processos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... Interrupções por software
Leia mais3. Criação e terminação de processos
3. Criação e terminação de processos Um processo é uma instância em execução de um programa. No sistema operativo Unix a única forma de se criar um novo processo (processo-filho) é através da invocação,
Leia mais! Os primeiros computadores permitiam a execução de apenas um programa de cada vez, com acesso completo aos recursos do sistema
Background! Os primeiros computadores permitiam a execução de apenas um programa de cada vez, com acesso completo aos recursos do sistema! Os sistemas actuais suportam o carregamento de múltiplos programas
Leia maisProcessos. Sistemas Operativos 2015 / Multiprogramação. Execução, em paralelo, de múltiplos programas na mesma máquina
Processos Sistemas Operativos 2015 / 2016 Multiprogramação Execução, em paralelo, de múltiplos programas na mesma máquina Cada instância de um programa em execução denomina-se um processo Considerando
Leia maisProcessos. Programas e Processos. Aula 1 - Chamadas ao sistema. José Pedro Oliveira fork exit getpid, getppid wait, waitpid
Conteúdo Programas e Aula 1-1 Programas e (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I 006-007 3 Referências
Leia maisProcesso. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software
Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições
Leia maisProcesso. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software
Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições
Leia maisSSC0640 Sistemas Operacionais I
SSC0640 Sistemas Operacionais I 2ª Aula Conceitos Básicos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados
Leia maisComunicação baseada em canais de I/O e Pipelines no sistema Unix. José C. Cunha, DI-FCT/UNL
Comunicação baseada em canais de I/O e Pipelines no sistema Unix José C. Cunha, DI-FCT/UNL Mecanismos de comunicação Ficheiros em disco (geridos pelo SO) Pipes (buffers geridos pelo SO) Mensagens (filas
Leia maisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Leia maisSistemas Operativos. (ano letivo ) Laboratório 2
Código 21111 Sistemas Operativos (ano letivo 2017-18) Laboratório 2 Esta actividade está escrita na forma de tutorial e consiste na interpretação, compilação e execução de pequenos programas que efectuam
Leia maisProcessamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento.
Processamento com SPOOL Utilização do e periféricos disco Spool de entrada Spool de saída Computador Puramente sequencial Leitor de cartões operador utilizador impressora resultados 28-02-2007 ASC II -
Leia maisSistemas de Computação O Sistema Operacional Unix
Sistemas de Computação O Sistema Operacional Unix 3/8/16 1 Introdução Interrupções de hardware Execução de uma Chamada de Sistema Alocação de memória Chamadas de Sistema típicas Arquitetura do Unix Visão
Leia maisSistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - Processos 24/04/2014 Prof. Valeria M. Bastos 1 Organização da Unidade Processos Conceituação Estruturas de Controle Modos de execução do S.O. Estados
Leia maisIntrodução aos Sistemas Operativos
Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução
Leia maisJoão Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1
Introdução aos Sistemas Operativos Baseado em: Andrew S. Tanenbaum. Modern Operating Systems, Prentice-Hall, 1992 FEUP/INESC http://www.fe.up.pt/~jlopes/teach/ jlopes@inescn.pt v 1.0, Outubro de 1997 Introdução
Leia maisFundamentos de Sistemas de Operação (FSO)
Fundamentos de Sistemas de Operação (FSO) Lic. Eng. Informática 2009/2010 Docentes: José A. Cardoso e Cunha Hervé Paulino, Rui Marques Área Científica de Arquitectura de Sistemas Computacionais, Dep. Informática
Leia maisSistemas Operacionais I
UFRJ IM - DCC Sistemas Operacionais I Unidade II - 18/9/2009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 Conceituação Estruturas de Controle Modos de execução do S.O. Estados de um
Leia maisProf. Kleber R. Rovai
Msn: klrovai@hotmail.com E-mail: Skype: klrovai 2 1 Programa: sequência de instruções com diferentes fluxos de execução comandos condicionais e interativos (entidade passiva); Processo: um programa em
Leia maisFunção Fundamental do SO
Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a
Leia maisSistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
Leia maisSistemas Operacionais
Sistemas Operacionais Programação Concorrente Introdução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Programa Seqüencial Representado por apenas um processo Existe apenas
Leia maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Threads Conceito Um processo é um programa em execução. A execução de um processo é sequencial: pode-se caracterizar um processo pelo
Leia maisTécnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
Leia maisProcessos. Um SO executa uma multiplicidade de programas, em batch ou time-sharing, que se designam por: ÈÖÓ Ó é um programa em execução.
Processos Um SO executa uma multiplicidade de programas, em batch ou time-sharing, que se designam por: ÔÖÓ Ó ou Ø Ö (processes/tasks/jobs). ÈÖÓ Ó é um programa em execução. A execução de um processo é
Leia maisSistemas de Operação
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia Departamento de Informática Sistemas de Operação Estruturas e Componentes do S.O. (1) Baseado nos transparente de SO de Pedro Medeiros (DI/FCT/UNL)
Leia maisSistemas Operativos. Processos, threads e eventos. Rui Maranhão
Sistemas Operativos Processos, threads e eventos Rui Maranhão (rma@fe.up.pt) Multi-tarefa execução, em paralelo, de programas no mesmo computador cada instância em execução denomina-se processo (conceito
Leia maisSistemas Operativos: Processos
Sistemas Operativos: Processos Pedro F. Souto (pfs@fe.up.pt) March 22, 2011 Sumário Processos Conceito de Processo Sequencial Multiprogramação Chamadas ao Sistema Rotinas Assíncronas Implementação de Processos
Leia maisRedes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 5. PROCESSO: 5.1 Introdução; 5.2 Estrutura do Processo; 5.3 Estados do Processo; 5.4
Leia maisProcessos. (c) 2005 Volnys B. Bernal Versão de 15/3/2006. Agenda. Processos. Introdução aos Processos. Introdução aos Processos
1 1997-2005 - Volnys Bernal 1 1997-2005 - Volnys Bernal 2 Agenda Processos Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Laboratório de Sistemas Integráveis http://www.lsi.usp.br/!
Leia maisProcessos Volnys B. Bernal Versão de 20/03/2015. Agenda. Processos. Programa x Processo. Programa x Processo. Programa.
1 2000-2015 - Volnys Bernal 1 2000-2015 - Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP x Concorrência x Paralelismo
Leia maisTeste de Sistemas de Operação 30 de Maio de 2009
Teste de Sistemas de Operação 30 de Maio de 2009 Duração: 30 min B NOME: Indique apenas uma das alternativas. Respostas erradas descontam na nota. 1. Um pedido de entrada e saída sem buffering: (letra
Leia maisProcessos. Conceitos Básicos
Processos Conceitos Básicos Processo Abstração usada pelo S.O. para designar a execução de um programa. (1) É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
Leia maisSVCs para Controle de Processos no Unix
Criação de Processos (1) SVCs para Controle de Processos no Unix A maioria dos sistemas operacionais usa um mecanismo de spawn para criar um novo processo a partir de um outro executável. Aula 9 Profa.
Leia maisTeste de Sistemas de Operação 15 de Abril de 2010
Teste de Sistemas de Operação 15 de Abril de 2010 Duração: 1 h (prática + teórica) D NOME: Indique apenas uma das alternativas. Respostas erradas descontam na nota. 1. Em um sistema que suporta multiprogramação
Leia maisSistemas Operacionais
ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação
Leia maisIntrodução. Introdução aos Sistemas Operacionais Volnys Bernal. Sumário. Introdução aos Sistemas Operacionais. Sobre esta apresentação
Volnys Bernal 1998-2016 1 Volnys Bernal 1998-2016 2 Sumário aos Sistemas Operacionais Volnys Borges Bernal volnys@lsi.usp.br Laboratório de Sistemas Integráveis http://www.lsi.usp.br/ Objetivos de um Sistema
Leia maisCriação de Processos Fork( ) Exec( )
Criação de Processos Fork( ) Exec( ) 8/23/18 1 Chamadas de Sistema: Process Management 2 Chamada fork( ) / exec( ) 3 Esboço de uma shell while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt
Leia maisProcessos. Conceitos Básicos
Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
Leia maisProcessos. Processo (1) Processo (2) Processo (3) Conceitos Básicos
Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
Leia maisProcessos. Conceitos Básicos
Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
Leia maisCapítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
Leia maisSistemas Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário
Sistemas Operativos Luís Paulo Reis Slide Nº 1 Sistemas Operativos Sumário O que é um Sistema Operativo (SO)? Modelo em Camadas de um SO Abstracções Suportadas por um SO: Utilizador Processo Ficheiro /
Leia mais2 - Organização do Sistema Operativo. Prof. Ricardo Silva
2 - Organização do Sistema Operativo Prof. Ricardo Silva Sumário Principais Elementos da Arquitectura de Sistemas Operativos Núcleo Chamadas ao sistema Processos de sistema Evolução da organização do núcleo
Leia maisProcesso. Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Introdução 2 Receita do Bolo Programa (Algoritmo) Ingredientes: dados de entrada Quem prepara (confeiteiro): CPU atividade de: Ler a receita Buscar
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5
Leia mais14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo
Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens
Leia maisExceções no Fluxo de Execução: Interrupções e Traps
Exceções no Fluxo de Execução: Interrupções e Traps 1 Fluxo de Controle Fluxo de controle de um programa: a 0 a 1 a 2 a n sequência de endereços I 0 I 1 I 2 I n sequência de instruções O fluxo mais simples
Leia maisSistemas Operacionais Aula 4
Sistemas Operacionais Aula 4 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Leia maisSVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais
SVCs para Controle de Processos no Unix (cont.) A Família de SVC's exec() As primitivas exec() constituem, na verdade, uma famılia de funções que permitem a um processo executar o código de outro programa.
Leia maisSVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais
SVCs para Controle de Processos no Unix (cont.) A Família de SVC's exec() As primitivas exec() constituem, na verdade, uma famılia de funções (execl, execlp, execle, execv, execvp, execve) que permitem
Leia maisIntrodução aos Sistemas de Operação: evolução histórica e conceitos fundamentais. José A. Cardoso e Cunha DI-FCT-UNL
Introdução aos Sistemas de Operação: evolução histórica e conceitos fundamentais José A. Cardoso e Cunha DI-FCT-UNL Hoje em dia Temos SO em diferentes tipos de máquinas: 9/18/2009 FSO 2 Hoje em dia Temos
Leia maisUnix Processos. Geraldo Braz Junior
Unix Processos Geraldo Braz Junior 1 Processos no Unix Unix é multiprogramado; Para cada processo é atribuído um Pid; Diversos daemons são executados: Cron Processamento de emails Gerenciamento da fila
Leia maisSistemas Operacionais Aula 3
Sistemas Operacionais Aula 3 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura
Leia maisSOP - TADS Processos. Revisão Ultima aula
SOP - TADS Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Revisão de hardware Processador
Leia maisTratamento de Sinais
Tratamento de Sinais Luiz Affonso Guedes 1 Ivanovitch Silva 1 affonso@dca.ufrn.br ivan@dca.ufrn.br 1 Universidade Federal do Rio Grande do Norte 25 de setembro de 2009 Sinais DCA0109 - Prática de programação
Leia maisSistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos 2 1 Processos A gerência de um ambiente multiprogramável é
Leia maisProcessos. Pedro Cruz. EEL770 Sistemas Operacionais
Processos Pedro Cruz EEL770 Sistemas Operacionais Aviso O que vamos falar vale para sistemas de processador/ núcleo único Vale também para cada processador/núcleo de um sistema com múltiplos processadores/núcleos
Leia mais1/24 FICHEIROS DE TEXTO
1/24 FICHEIROS DE TEXTO Hardware de entrada/saída 2/24 Hardware de entrada/saída Grande variedade de dispositivos de E/S (Input/Output) - de memória: disco interno e externo, DVD, pen, CD,... - de transmissão:
Leia maisThreads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012
1 2005-2009 Volnys Bernal 1 2005-2009 Volnys Bernal 2 Agenda Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Interface de threads Interfaces de threads de usuário x threads de núcleo
Leia maisProcessos. Pedro Cruz. EEL770 Sistemas Operacionais
Processos Pedro Cruz EEL770 Sistemas Operacionais Datas importantes 02 de Abril Proposta de trabalho 09 de Abril Confirmação de proposta 07 de Maio Primeira apresentação do trabalho 09 de Maio Entrega
Leia maisSistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia
Sistemas Operacionais BSI / UAB 2013 Hélio Crestana Guardia Visão do SO SO: camada de software, executado diretamente sobre o hardware (físico ou virtual) Permite que hardware seja usado de forma eficiente
Leia maisUnidade 2. Processos Threads Concorrência em Java
Unidade 2 Programação Concorrente Processos Threads Concorrência em Java Processos Definição Um programa em execução em uma máquina. Identificado pelo seu PID (Process Identifier). A unidade de processamento
Leia maisInformática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira
Informática Básica Licenciatura em Ciência da Informação Tito Carlos S. Vieira E-mail: tito@fe.up.pt 1 Parte II Sistemas Operativos (Utilização do Windows) 2 Sumário O que é um Sistema Operativo (SO)?
Leia maisProcessos no UNIX. Walter Fetter Lages
Processos no UNIX Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia Elétrica
Leia maisSistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional
Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Processador INTRODUÇÃO Projetado apenas para executar instruções Não é capaz de distinguir qual programa está em execução Processo
Leia maisEstrutura dos Sistemas Operacionais. Sérgio Portari Júnior
Estrutura dos Sistemas Operacionais Sérgio Portari Júnior - 2016 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional
Leia maisProgramação de Sistemas
Programação de Sistemas Arquitectura dos Sistemas Operativos Programação de Sistemas Arquitectura : 1/25 Introdução (1) Um sistema operativo de uso geral é formado por diversas componentes: Gestor de processos
Leia maisNoções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução
Plano da aula Noções de Processos Marcelo Johann Introdução Histórico Multiprogramação Noção de processo Definição Ciclo de vida do processo Suporte de Hardware para multi-programação Mecanismo de interrupção
Leia maisLinguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux
Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física
Leia maisSISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios
SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes (soufes@gmail.com) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas
Leia maisIntrodução aos Sistemas Operacionais
Volnys Bernal 1998-2017 1 Introdução aos Sistemas Operacionais Volnys Borges Bernal volnys@lsi.usp.br Laboratório de Sistemas Integráveis http://www.lsi.usp.br/ Volnys Bernal 1998-2017 2 Sumário Objetivos
Leia maisDisciplina: Introdução aos Sistemas Operacionais Professor: Fernando H. Santorsula
Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando H. Santorsula E-mail: fernando.santorsula@esamc.br Aula 2 (Teórica & Prática): Conteúdo programático Teórica Processos e Threads Apresentação
Leia maisINSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem
Leia maisSistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios
1ª Questão : Com base na figura ao lado, extraída do livro SISTEMAS OPERACIONAIS MODERNOS, de Andrew S. Tanenbaum, assinale cada uma das afirmações abaixo como (C)erta ou (E)rrada. No caso da afirmativa
Leia mais13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica
13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física
Leia maisProcessos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo. http://www.dei.isep.ipp.pt/~orlando/so2/processos.
Página 1 de 5 Processos Consiste num método de descrição das actividades de um sistema operativo; Todo o software incluído no sistema operativo é organizado num grupo de programas executáveis. Cada um
Leia maisSistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana e Prof. Dra. Regina Helena Carlucci Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum Tipos e Estrutura System
Leia maisSinais. Sinais e fork. Sinais e exec. Segunda aula. Chamada ao sistema fork Chamada ao sistema execve. José Pedro Oliveira
e chamadas ao sistema fork e exec Segunda aula (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho Sistemas Operativos I 2006-2007 1
Leia maisConceitos básicos e serviços dos Sistemas Operacionais
Conceitos básicos e serviços dos Sistemas Operacionais Prof. Marcos Ribeiro Quinet de Andrade Instituto de Ciência e Tecnologia - ICT Universidade Federal Fluminense - UFF Tipos de serviços do S.O. Um
Leia maisSistemas Operacionais
Questões... Sistemas Operacionais Processos Implementação e estudo de casos Aula 3 Em que momentos um processo pode ser criado? Como que se cria processos? O que deve ser feito na criação? Como um processo
Leia maisSegurança em Sistemas Operativos
Segurança em Sistemas Operativos André Zúquete Segurança Informática e nas Organizações 1 Sistema Operativo Servidor Aplicação Função no núcleo do sistema operativo (kernel) Virtualizar o hardware Modelo
Leia maisControlo de Execução. K&R: Capitulo 3
Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010
Leia maisUNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ISABELLE NEDILHA OKUMA LUIZ RODOLFO MACHADO MECANISMOS DE MANIPULAÇÃO DE PROCESSSOS EM WINDOWS
Leia maisProgramação de Sistemas em Tempo Real
BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa
Leia maisUnix: Processos e o Kernel. Sistemas Operacionais
Unix: Processos e o Kernel O Kernel É um programa especial, uma parte privilegiada do sistema operacional, que roda diretamente sobre o hardware. Ele implementa o modelo de processos do sistema. O kernel
Leia maisUnix: Processos e o Kernel
O Kernel Unix: Processos e o Kernel É um programa especial, uma parte privilegiada do sistema operacional, que roda diretamente sobre o hardware. Ele implementa o modelo de processos do sistema. O kernel
Leia maisSumário. Ficheiros. Ficheiros
Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções
Leia maisSegurança em Sistemas Operativos
Segurança em Sistemas Operativos André Zúquete Segurança Informática e nas Organizações 1 Sistema Operativo Servidor Aplicação modo utilizador: Execução no modo normal do CPU, sem acesso a instruções privilegiadas
Leia maisProcessos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Leia maisSISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Conteúdo Introdução ao S.O Gerenciamento de processos. Gerenciamento de memória. Dispositivos de Entrada/Saída. Sistemas de arquivos. Gerenciamento de processos Processos Um processo
Leia maisExercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
Leia mais3 CONCEITOS DE SISTEMAS OPERACIONAIS
3 CONCEITOS DE SISTEMAS OPERACIONAIS 3.1 COMPONENTES DO SISTEMA Os Sistemas Operacionais são divididos em algumas partes básicas, conforme ilustrado na Figura 3.1. 1. Gerente de Processos; 2. Gerente de
Leia maisEstrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional é formado
Leia mais