! Os primeiros computadores permitiam a execução de apenas um programa de cada vez, com acesso completo aos recursos do sistema

Documentos relacionados
Complementos de Programação. Engenharia Electrotécnica - Electrónica e Computadores. Ano Lectivo: 2005/2006. Ana Madureira. Gestão de Processos

Sistemas Operacionais. Conceito de Processos

3. Criação e terminação de processos

Na Aula Anterior... Interrupções por software e hardware; Temporizadores; RTC; Temporizadores via software. Relação Processos Multiprogramação

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos

Processos. Programas e Processos. Aula 1 - Chamadas ao sistema. José Pedro Oliveira fork exit getpid, getppid wait, waitpid

Davidson Rodrigo Boccardo

Processos. Conceitos Básicos

Prof. Kleber R. Rovai

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Conceitos Básicos

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Processos. Conceitos Básicos

Sistemas de Computação. Processos e escalonamento

SOP - TADS Processos. Revisão Ultima aula

SVCs para Controle de Processos no Unix

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Sistemas Operacionais

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Processos em Unix. Conteúdo: Definição de Processos em Unix Estrutura, tipo e escalonamento de processos em Unix Processos, Pai, Filho e Zumbi.

SISTEMAS OPERATIVOS I

Técnicas Avançadas de Programação

Sistemas Operativos: Processos

Criação de Processos Fork( ) Exec( )

Sistemas Operativos. (ano letivo ) Laboratório 2

LABORATÓRIO SISTEMAS OPERACIONAIS

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento

Sistemas Operacionais

E.E.E.P. Dr. Solon Tavares Sistemas Operacionais Prof. Henrique Cordeiro. Programação Concorrente em Linux

LABORATÓRIO SISTEMAS DE TEMPO REAL

Processos. (c) 2005 Volnys B. Bernal Versão de 15/3/2006. Agenda. Processos. Introdução aos Processos. Introdução aos Processos

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos

Sistemas Operacionais

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Processos no UNIX. Walter Fetter Lages

Processos Volnys B. Bernal Versão de 20/03/2015. Agenda. Processos. Programa x Processo. Programa x Processo. Programa.

Processos. Um SO executa uma multiplicidade de programas, em batch ou time-sharing, que se designam por: ÈÖÓ Ó é um programa em execução.

Introdução aos Sistemas Operativos

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1

Sistemas Operacionais I

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Processos. Prof. Gustavo Leitão

Carlos Eduardo Batista Centro de Informática - UFPB

SISTEMAS OPERACIONAIS

Sistemas Operacionais I

Universidade Federal do ABC MCTA Sistemas Operacionais 2019.Q1


Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Técnicas Avançadas de Programação

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Processos. Estruturas de Controle

Sistemas Operacionais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Programação de Sistemas em Tempo Real

Programação de Sistemas

Capítulo 3: Processos

Processos. Adão de Melo Neto

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ

Sistemas Operacionais

Manipulação de processos

Sistemas Operativos. Processos, threads e eventos. Rui Maranhão

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

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.

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade

Processos ao nível do SO

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo.

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

EEL770 Sistemas Operacionais

Unidade 2. Processos Threads Concorrência em Java

Programação Estruturada

SVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais

Estruturas de Sistemas Operacionais

Na Aula Anterior... O Conceito de Threads

Sistemas Operacionais

Arquitetura de Computadores Sistemas Operacionais II

Sistemas de Computação O Sistema Operacional Unix

Introdução a Arquitetura de Sistemas Operacionais. Parte 01

Laboratório de Introdução à Ciência da Computação I

SVCs para Controle de Processos no Unix (cont.) Sistemas Operacionais

Aula 10: Escalonamento da CPU

Eventos. Rotinas Assíncronas

Sistemas Operacionais II

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais

Transcrição:

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 em memória e a sua execução concorrente 1 Conceitos básicos sobre sistemas operativos - Processos 2 1

Processo! Um processo é uma instância de um programa em execução, constituído pelo: Código executável, Dados, Pilha de execução, Valor do contador de programa (registo PC), etc.! Também os S.O. multiprogramados, desde os sistemas mono utilizador até aos sistemas que suportam centenas de utilizadores, são construídos à volta do conceito de processo. 3 Chamadas ao sistema! Os programas do utilizador solicitam serviços do sistema operacional através da execução de chamadas ao sistema.! Os programadores ao solicitarem estes serviços estão a estender as capacidades das linguagens de programação sequenciais.! As chamadas ao sistema criam, apagam e usam processos que são geridos pelo S.O. 4 2

Estados de um processo! Ao longo da sua vida, um processo percorre vários estados: Novo o processo está a ser criado Pronto o processo aguarda atribuição de CPU Em execução as instruções do processo estão a ser executadas Bloqueado o processo espera por acontecimentos Concluído o processo terminou e os seus recursos foram libertados! Cada processo é representado no S.O por um bloco de controlo do processo (PCB Process Control Block) que contém informação associada a um processo específico 5 Diagrama de transição de estados fim de instruções novo processo criado seleccionado para execução pronto em execução fatia de tempo expirou bloqueado concluído operação de E/S 6 3

Escalonamento de processos! Filas de escalonamento - Fila de jobs Fila de dispositivo Fila de processos prontos! A selecção de um processo de uma fila é feita por um escalonador (sheduler) Tipos de escalonadores: escalonador de longo prazo (ou escalonador de jobs), escalonador de cuto prazo (ou escalonador de CPU) 7 Filas de escalonamento fila de jobs fila de prontos CPU fila de E/S 8 4

Expedidor (dispatcher) de processos! Processo que permuta o processo corrente 9 Operações realizadas por processos! Criação de outros processos Um processo pai cria um ou mais filhos que, por sua vez, poderão criar novos processos Pai e filhos executam concorrentemente! Execução de programas diversos durante o seu tempo de vida! Terminação de processos 10 5

Primitivas em Unix 11 Primitiva fork e primitivas exec! Através da utilização da primitiva fork, um processo pai (processo invocador) cria um filho, que prossegue a execução do mesmo programa O filho herda do pai: uma cópia do segmento de dados e de código (nalguns sistemas este último é partilhado), etc. Após fork, o filho difere do pai: no PID (Process ID), o segmento de dados não é partilhado, etc.! Através da utilização das primitivas exec, qualquer processo pode substituir o programa actual por outro Após exec, o processo conserva: o PID, etc. 12 6

Exemplo #include <stdio.h> # include <unistd.h> main() int x; x=0; fork(); x=1; printf( X=%d\n,x); } 13 Primitivas! fork #include <unistd.h> pid_t fork (void);! getpid e getppid #include <unistd.h> pid_t getpid(void); pid_t getppid(void); 14 7

Primitivas! exit void exit (int status);! exec #include <unistd.h> Int execl(const char *path, const char * arg,...); Int execlp(const char *file, const char * arg,...);...! wait e waitpid #include<sys/types.h> #include <sys/wait.h> pid_t wait (int *status); pid_t waitpid(pid_t pid, int *status, int options); 15 8