INF 1019: Sistemas de Computação. Sistemas Operacionais

Tamanho: px
Começar a partir da página:

Download "INF 1019: Sistemas de Computação. Sistemas Operacionais"

Transcrição

1 INF 1019: Sistemas de Computação (Sistemas Operacionais) Markus Endler Sala RDC 503! 1 Sistemas Operacionais disponibilizam um ambiente para executar programas de forma conveniente e eficiente. garantem a operação correta de um computador, impedindo que programs do usuário interfiram no funcionamento correto do sistema. criam a abstração de máquina virtual do hardware físico, que esconde a heterogeneidade e os detalhes da arquitetura. existem para uma grande variedade de sistemas (com processamento, armazenamento e comunicação de dados) 6 1!

2 Tipos de Sistemas Mica Mote! Personal Comp.! Tablets! Mainframe Server! Process Control Board! Game Console! ipod Touch/ iphone! Cluster/ Server farm para Cloud! MP3 Player! Cell / Smart Phone! 7 Redes de Sistemas/ Sistemas em Rede Network Routers! Automotive Vehicle Network! Wireless Routers! UVA Unmanned Aerial Vehicles! Deposito operado por frota de robôs! 8 2!

3 Sistemas Emergentes Car Computer! Watch Computer! Wearable Comp.! Mini-robots! Table Computing! Nano Computers! 9 Sistemas Emergentes Smart Home! Data Centers! Networked Cloud Computing! 10 3!

4 Um S.O. para cada tipo de máquina Alguns Exemplos: PCs/Netbooks: Linux, variantes do UNIX, Windows 7, Vista, Mac OS X, Comp.em nuvem: Hadoop, Amazon EC, Xen, Smartphones/Tablets: ios, PalmOS, Android, Windows 8, BlackBerry, AlyunOS Embarcados: ios, inferno, Maemo, etc. Sistemas de Tempo Real: QNX, RT-UNIX, e muitos outros Redes de Sensores (MicaMotes): TinyOS, Contiki, Clusters/Sist. distribuídos: Mach, Plan9, Amoeba, Beowulf, Chorus.. WebOS: ChromeOS, JoliOS, DesktopTwo, EyeOS, 11 Cada Sistema com seu foco Practicidade de uso Funcionar com poucos recursos (sist. embarcados e celulares simples, feature phone ) Obter o máximo de desempenho em sistemas para processamento em grande volume (Supercomputador, Cloud, Cluster) Permitir o compartilhamento de recursos em rede Garantir reatividade para processos de tempo real (controle e automação) Sistema mono-usuário ou para múltiplos usuários Níveis de protecão e segurança específicos 12 4!

5 Conceitos centrais Apesar das diferenças, todos os SOs compartilham alguns conceitos e funções: Processos e Threads Comunicação/sincronização entre processos Sistema de Arquivos Gerenciamento de memória Subsistema de Entrada/Saida Drivers e gerenciadores de dispositivos perifericos: teclado, monitor, mouse, rede, HDs, CD/DVD, etc.) 13 O Papel do Sist. Operacional Usuário B! Aplicativo! Serviço 1! Serviço 2!! Usuário A! Aplicativo! Sistema Operacional! Processador! Memória! Disco! Disp. E/S! 14 5!

6 O que é um Sistema Operacional? É uma máquina estendida Implementa abstrações que escondem (do programador e do usuário final) os detalhes de como usar e controlar os recursos específicos; Fornece ao programador uma máquina virtual, que é mais fácil de usar (APIs simples baseada em conceitos independentes do hardware) e genérica (sem expor a diversidade dos recursos/dispositivos) É um gerenciador de recursos Garante o compartilhamento seguro de recursos pelas várias atividades (processos/tarefas) executando no sistema; Tenta maximizar a utilização dos recursos (compensando as diferenças na velocidade de acesso e manipulação de dados) 15 Hierarquia de Memória O SO precisa gerenciar a transferência transparente de dados de um nível para outro 16 6!

7 Componentes Típicos de um S.O. Programas utilitários: Auxiliam o usuário/desenvolvedor em tarefa específica Compiladores, editores, depuradores, interpretadores de comando (shell), gerenciador de janelas, browsers, clientes de , etc. Programas de sistema: São ativados automaticamente, no boot ou periodicamente São indispensáveis para a operação do sistema Permitem configuração do sistema, corrigem erros no disco,fazem back-up, gerenciam a comunicação pela rede, monitoram e colhem estatísticas sobre a ocupação de recursos, etc. Núcleo (kernel) e drivers: Executa as funções mais básicas para compartilhamento seguro dos recursos (CPU, Caches, Memória, discos) Controla todas as atividades do SO e tem acesso a todas as operações do hardware Modos Usuário e Supervisor (kernel) As arquiteturas atuais permitem a operação em dois (ou mais) modos da CPU: Modo supervisor/kernel: acesso a todas as instruções de máquina e regiões da memória Modo usuário: apenas conjunto restrito de instruções e endereçamento de apenas parte da memória Exemplo: No modo supervidor é possível trocar de modo, acessar estruturas de dados do núcleo, executar instruções de mudança de mapeamento de memória, manipular qualquer processo, desabilitar certas interruções, etc. Modo user! Modo kernel! t! 19 7!

8 Modo de Usuário e de Supervisor No Minix, há 3 modos: INTR_PRIVILEGE: para troca de contexto e tratamento de interrupções modo kernel TASK_PRIVILEGE: para escrita/leitura de portas de Entrada/Saida (E/S) modo intermediário USER_PRIVILEGE: para servidores e processos do sistema (sem acesso direto a portas de E/S) modo user 20 Três eventos que causam a troca para o modo supervisor (Kernel mode) Interrupções de um dispositivo de E/S (disco, mouse, etc.): São assíncronos, e independentes do processo em execução Por Exemplo: clock informa passagem de tempo, ou dispositivo de E/S avisa que completou operação de escrita Execução de um processo levanta uma excessão Por exemplo: divisão por zero, ou acessso a endereço inválido Núcleo precisa interromper o processo Processo em execução faz uma chamada a sistema (system call) Por exemplo: executa um read() ou write() Núcleo faz a troca de contexto e dá a outro processo que esteja disponível o controle da CPU 21 8!

9 Estrutura Tradicional do UNIX Espaço usuário! Espaço! supervisor/! núcleo! Um pouco de História A história dos sistemas operacionais acompanha a história dos computadores Avanços em termos de hardware (p.ex. processadores single- e multi-core; sistemas dedicados; memórias mais velozes e maiores, novos tipos de discos, monitores, dispositivos de entrada, acoplamento a diferentes redes, acesso a etc.) Novas formas de uso Único usuário è vários usuários è uso batch/interativo è em rede è a qualquer momento (e em movimento) Interface: console de operação è terminal texto è janelas e mouse è interface multi-touch 23 9!

10 Um pouco de História 24 Um breve resumo da Evolução 1a. geração Tubos a vácuo, plug boards 2a. geração transistores, mono-programação, Job Control Language Uso/Operação Pelo programador (um de cada vez) em linguagem de máquina Pelo operador, processamento em lotes, (batch) 3a. geração Circuitos integrados e multiprogramação 4a. geração PCs (componentes baratos) e servidores, protocolos TCP/IP Foco na usabilidade (GUI, mouses), vários periféricos 5ª. Geração: > 2000 Mobile: Mem. Flash, várias interfaces comunicação, eficiência de energia Sistemas embarcados (carros, artefatos inteligentes) com sensores, e em rede DataCenters: Multi-core, Compartilhamento de todos recursos Virtualização, eficiência de energia Cada usuário em um terminal, timesharing PC: Multi-tarefa, único usuário Interface gráfica, em rede Servidores: multi-usuário, alta vazão, alta disponibilidade, acesso via rede Multi-tarefa, único usuário (sempre conectado), com localização/ mapas, updates automáticos do sistema. Usuário só configura (rede de sist. embarcados) e usa naturalmente Operação autônoma em data centros, Service Computing, SLAs 25 10!

11 Unix: um breve apanhado da sua evolução Os criadores: Ken Thomspon e Dennis Ritche! 31 Unix: um breve apanhado da sua evolução A partir do fracasso do Projeto MULTICS (= um projeto de computador para atendimento da população de uma cidade inteira),... Em 1969 Dennis Ritchie e Ken Thomspon desenvolveram versão 1 do UNIX no Bell Telephone Labs (depois AT&T) como ambiente de desenvolvimento para um jogo Space Travel: Para mini-computador, o PDP-7, e depois para o PDP-11 Em 1971 grande parte escrita foi re-escrita em C, o que facilitou muito a portabilidade Posteriormente, evoluiu para um sistema multi-tarefa, multi-usuário. Em 1979 já foi portado para uma grande variedade de arqiteturas PDP-7: 18 bits, $ ! PDP-11/70! 32 11!

12 Unix: um breve apanhado da sua evolução Em 1978, a Berkeley Software Distribution (BSD) foi lançada (licença vendida a US$ 50), para o VAX (32 bits), que permitia um espaço de endereçamento de 4 GB, mas com memória RAM de 2 MB. 4.3 BSD UNIX apresentava diversas inovações: Memória virtual, protocolos TCP/IP, Fast File System (FFS), sinais confiáveis e sockets Em paralelo, AT&T desenvolveu o UNIX System V ( ) cujo release mais conhecido é o SVR3, com as seguintes novidades: Memória virtual, inter-process communication, remote file sharing, shared libraries, STREAMS para device drivers, vários protocolos de rede Em seguida, surgiram várias versões de UNIX comerciais (AT&T, AIX da IBM, SunOS e Solaris, da Sun, XENIX da Microsoft/SCO, etc.) e outras de open source/freeware (e.g. Minix da Vrije Universität, Linux, etc.) Para garantir que aplicativos pudessem executar em diferentes versões do Unix, em 1986 a IEEE criou um comitê para a padronização da API, o POSIX 33 Versões do Unix no tempo BSD! Minix! Linux! System V! Mach 3.0! 34 12!

13 Unix: um breve apanhado da sua evolução À medida que novas funcionalidades foram sendo incorporadas, o núcleo se tornou muito grande e complexo (núcleo monolítico) Entre , pesquisadores na Carnegie-Mellon-University desenvolveram o Mach, uma vers ao do Unix baseada em um micro-kernel bem enxuto que só realizaria as funções mais básicas, deixando todas os outros serviços na forma de processos em modo usuário. Principais funções do micro-kernel: gerenciamento de processos, tratamento de interrupções, mapeamentos de memória, comunicação entre processos (messagepassing) O sucesso da arquitetura (Mach 3.0) levou a várias outras implementações: OSF/1, NextStep, Minix 3.0, e serviu de base para outros sistemas: MacOS X, Andoid, QNX, Solaris (Sun) 35 Sistemas Operacionais em Rede O mico-kernel e novos protocolos de rede criaram a possibilidade de sistemas em que os recursos fossem acessíveis através de redes locais (LANs) Exemplo: compartilhamento de servidores, impresoras, etc. Programa! cliente! Servidor A!! Servidor B!! Micro-kernel! Micro-kernel! Exemplo2: Network File System e Samba Micro-kernel! 37 13!

14 Sistemas de Arquivo em rede, usando NSF e Samba Servidores de arquivos exportam partes da árvore de diretórios local, que são referenciados em outros sistemas de arquivos como se fossem parte deste, no mesmo disco.!! NSF e Samba têm uma arquitetura Cliente-servidor! Fonte: technet.microsoft.com! 38 Virtualização A ideia é permitir a execução de vários sistemas operacionais (simultaneamente e independentemente) em um único computador. A máquina virtual (monitor, ou VM) permite compartilhar os recursos (CPU, memória, disco, etc.) e multiplexar o uso dos demais dispositivos, com total isolamento. Monitor implementa - em software - exatamente as instruções da máquina hospedeira, e traduz essas para as instruções da máquina física. É como se fosse um micro-kernel, mas sem qualquer função de comunicação entre os Vantagens: Melhor utilização dos recursos de HW (usado em data centers) Evita que um sistema operacional possa bloquear uma máquina Desvantagens: Torna mais lenta a execução de cada sistema hospedado Exemplos: VMware, Bochs, Xen, VrrtualBox 14!

15 Máquinas Virtuais Máquinas virtuais emulam o hardware, e virtualizam os recursos físicos de uma máquina.!! Consistem de um monitor que isola os núcleos de diversos S.O.! e uma camada de virtualização (hypervisor)!! Todas as instruções de máquina são interceptados pelo monitor, e o hypervisor multiplexa a utilização dos recursos físicos.! Máquinas Virtuais Se usados em um cluster, data centro ou rede local, podem também virtualizar conjuntos de processadores, discos, etc !

16 Máquinas Virtuais Toda MV term os seus drivers, cujas operacões de I/O são mapeadas através do hypervisor - para comandos dos drivers do sistema hospedeiro. Fonte: blogs.vmware.com/virtualreality! 42 Arquiteturas típicas de Sistemas Operacionais 43 16!

17 Estrutura Tradicional de UNIX Estrutura do Linux User Processes Scheduler Syscalls VM Traps Process Manager Socket Manager VFS Memory Allocator Math Support Network Protocols File Systems Char Devices Block Devices Packet Requestor IO Requestor Net Devices usa/ atua sobre! 45 17!

18 Estrutura do ios (Apple) Frameworks: UI Kit, Map Kit, Push Notification Service,! AddressBook., Game Kit., Event Kit.! Frameworks: Video, Text, Graphics,! OpenGL ES,! Audio, Media Player, Midi.! Espaço usuário! Espaço! supervisor/! núcleo! AddressBook Framework, Cora Data Fr.,! Core Media Fr., Core Telephony Fr.,! Events, Core Location Fr.,! Mobile Core services, SQLite, Quick LookFr.,! Low-level networking, gerenc. de memória,! sistema de arquivos, sockets, Bonjour! e threads.(maseado em Mach)! Fonte:! Estrutura de micro-núcleo (microkernel) Tarefas do Micro-núcleo: Troca de contexto Tratamento de interrupções E/S básica, e.g. envio de dados de controle a dispositivos Comunicação entre processos (como E/S) Vantagens: Boa parte dos drivers executa em modo usuário Menor trabalho de portar o S.O. para outra arquitetura 47 18!

19 Estrutura de Sistemas Operacionais Fig.: O modelo cliente-servidor em um sistema distribuído Micro-núcleo também facilita a criação de sistemas operacionais em rede, onde determinados servidores podem ser acessados remotamente. 48 Estrutura do Android 50 19!

20 Estrutura do Windows NT 4.0 Arquitetura do MINIX 3 Nível User processes Server Processes Drivers Init Process Manager Disk Driver Kernel User Process TTY Driver User Process File Server Ethernet Driver User Process Netw. Server XYZ Driver Clock Task Inform. Server Reincarn.. Server System Task 1. Kernel: troca de contexto, escalonamento & envio de mensagens 2. System Task: interface para operações priveligiadas (portas de I/O cópia de dados entre áreas da memória) 3. Clock Task: driver para interagir com o relógio do HW 4. Process Manager: trata de sys.calls de processos: fork, exec, brk, singnal, kill, etc. e faz alocação de memória para processos 5. FileServer: trata de sys.calls para arquivos/diretórios: read, mount, chdir,.. 6. Information Server & Reincarnation Server: para depuração e reativação automática de drivers e servidores 59 20!

21 Tendências em Arquiteturas de S.O. Hierarquia de vários níveis garantem maior isolamento e reduzem complexidade Executar drivers e servidores em modo usuário Reduzir ao máximo parte dependente do Hardware (micro-núcleo) Virtualização do Hardware Sistemas de Arquivos heterogêneos e distribuídos Conceitos básicos de sistemas tipo UNIX 61 21!

22 Conceitos básicos (UNIX) Usuário invoca comandos (i.e. executa programas) através de interpretador de comandos em linha de comando (shell). Comandos podem ser executados em 1 o ou 2 o plano Shell tem o terminal como entrada e saida padrão (STDIN e STDOUT) A shell e os comandos herdam o UserID e um GroupID do programa login Programas acessam, criam e modificam arquivos, e têm associados a eles atributos e permissões. Dispositivos de E/S (impressora, pen-drive, cdrom ) são representados como arquivos Pode-se alterar permissões dos próprios arquivos e diretório 62 Processos Um processo é um programa em execução. Cada comando da shell é um programa. Na inicialização do sistema, alguns processos do sistema são criados (mas executam em modo usuário). Processo pai pode ou não esperar pelo término do processo filho (se não esperar, diz-se que processo filho executa em 2º. plano) Exemplo: A = init, B = /etc/rc (script que inicia diversos drivers) C= login shell comandos do usuário Maioria dos S.O. executa vários processos concorrentes 63 22!

23 Redirecionamento de E/S Todos os processos em primeiro plano possuem: STDOUT (standard output), default é a tela STDIN (standard input), default é o teclado STDERR (standard error), default é também a tela Redirecionamento de STDIN/STDOUT. Exemplos: who > file, date >> arq, sort < infile > outfile Pipe é uma conexão entre STDOUT e STDIN de dois processos filho Ex: who sort - saida de who será exibida ordenada na tela 64 Variáveis de Ambiente Cada processo tem associado a ele uma série de variáveis do ambiente, que definem o seu ambiente de execução no sistema. Uma das principais é a $PATH, $CLASSPATH >echo $PATH /home/d/da/darin/bin:/opt/local/bin:/opt/local/bin/pbmutils:/usr/bin:/usr/sbin:/opt/ SUNWspro/bin:/usr/ccs/bin:/opt/local/X11/bin:/usr/dt/bin:/usr/openwin/bin:/opt/ local/gnu/bin:/opt/local/games/bin:/usr/ucb:./ Outras variáveis: HOST em qual computador o usuário está logado PAGER programa para exibir man pages PWD directorio corrente GROUP em qual grupo o usuário se encontra USER login name Através da shell, é possível criar novas variáveis e/ou modifica-las usando. Programas podem consultar e modificar as variáveis através de getenv(), putenv(), setenv(). Consultas também podem ser feitas através da variável global environ. Shared libraries não têm acesso a environ, mas apenas o carregador (loader ld), quando um novo programa é carregado para execução !

24 Sistema de Arquivos Arquivo = conceito abstrato para repositório durável de informação binária, que é independente do meio Além do conteúdo, arquivo possui uma série de atributos (metadados) Diretórios/Pastas: agrupamentos arquivos e sub-diretórios 66 Sistema de Arquivos: alguns comandos pwd mostra o diretório corrente cd <dir> troque o diretorio corrente ls <dir> - lista os arquivos do diretório corrente ls -a/l - lista tb os arquivos escondidos dot-files (-a), lista todos os detalhes (-l) cp <old file> <new file> - cópia mv <old file> <new file> - move (renomeia) rm <file> -remove um arquivo mkdir <new dir name> -cria um diretório rmdir <dir> -remove um diretório vazio rm -r <dir> remoção recursiva cp r <dir> - cópia recursiva Filosofia UNIX é de ser um SO extensível: quase todos os comandos são programas utilitários 67 24!

25 Usuários & Grupos Unix permite o cadastro de vários usuários, através do administrador (username root) Lista de usuários contida em /etc/passwd com senha cifrada Cada user pode pertencer a 1 ou mais grupos useradd, groupadd, groupmod, grouprem A cada instante, um usuário está em um grupo, e pode trocar usando newgrp groups user lista todos os grupos aos quais user pertence Ex: root pertence aos grupos root, bin, daemon, sys, adm, disk,... Permissões sobre os arquivos estão definidas em termos do dono, seu grupo corrente e os outros (bits rwx) Cada processo criado recebe o userid e grpid do seu processo pai 68 Permissões de Arquivos e Diretórios Cada arquivo/diretório tem atributos de controle de acesso: Bits rwx rwx rwx (relativos ao dono, seu grupo e outros), onde 1/0 significam com/sem permissão chmod g+r <filename> - acrescentando direto de leitura aos membros do grupo chmod 744 <filename>- direitos plenos apenas para dono, demais apenas leitura chown <user> <filename> - mudando o dono do arquivo chgrp <group> <filename> - alterando a qual grupo o arquivo pertence 69 25!

26 Outros comandos úteis grep <expr> <arq> - busca as linhas que contém <expr> no arquivo diff <arq1> <arq2> - mostra as diferenças entre o conteúdo dos dois arquivos vi ou pine - editores simples de arquivos sed, awk filtros/ processadores de texto perl - linguagem para scripts make automatizar a geração de programas a partir de várias componentes interdependentes (dependências em Makefile), e verificando se alguma foi modificada man <termo> manual on-line ftp transferência de arquivos rsh - login remoto 72 Para mais detalhes sobre o uso de Unix consulte o livro: The Unix Programming environment, Kerninghan & Pike (ou páginas similares na Web) 73 26!

27 Princípios básicos de funcionamento Interrupções de hardware Execução de uma Chamada de Sistema Alocação de memória Chamadas de Sistema típicas!! 74 Visão simplificada do Hardware Monitor Através do barramento trafegam: Dados Endereços (Memória e portas de E/S) Instruções de máquina (p. CPU controladores de E/S) Bus 76 27!

28 Arquitetura Típica do Hardware Barramentos com diferentes velocidades Interação Dispositivos-CPU através de Interrupções de HW 77 CPU: Uma revisão Registradores! de Propósito geral! Processor Status Word! Stack Pointer! ProgramCounter! Registrador de Instrução! Executa cada instrução: micro-código! 78 28!

29 Processamento de Interrupções Interrupção é a forma do hardware avisar o núcleo que alguma ação precisa ser tomada. Existem tb interrupções originadas por software (Trap) e interrupções de relógio (para time-sharing) O processo atual é interrompido e um tratador de interrupção (Interrupt service) é executado. Iniciando uma E/S (a)! e obtendo uma interrupção de hardware! (b)! Fluxo de controle no tratamento de uma interrupção pelo núcleo! 79 Níveis de Interrupção O tratador de interrupção executa em modo kernel, e tem acesso a todas as estruturas de dados do núcleo. Existem 4 tipos de ineterrupção de hardware: RESET processador entra em processo de inicializacão NMI não marcarável (que não pode ser postergada) IRQ nr interrupções mascaráveis ABORT redireciona execução se uma excecão de hardware é detecada (violação de acesso a memória) Algumas interrupções IRQ são mais prioritárias do que outras (clock interrupt mais prioritário do que network interrupt) !

30 Níveis de Interrupção Unix define até 32 níveis de prioridade de interrupção (ipl). Por isso, uma interrupção pode preemptar (suspender) o tratamento de outra, e kernel precisa manter uma pilha de tratamentos pendentes. A cada momento, o kernel está executando em um ipl. No entanto, como tratadores podem precisar acessar concorrentemente estruturas de dados do núcleo (p.e. a tabela de processos), o kernel também pode desabilitar todas as interrpções para evitar ser interrompido durante o salvamento e restauração do estado de execucão dos processos. 81 Chamadas de Sistema System Calls É o conjunto de procedimentos disponibilizadas pelo núcleo para acesso a serviços do núcleo e a recursos da máquina (p.ex. Entrada/Saída) As funções da System Calls fazem parte de uma biblioteca do sistema (ligada a todo programa). Cada função executa um TRAP para passar para o modo kernel. TRAP é uma interrupção usada para sinalizar uma condição excepcional: execução de um breakpoint, divisão por zero, etc. Coloca-se um número da chamada em um registrador, Esse Nr. vai determinar como a chamada deverá ser tratada. Quando um processo faz uma chamada de sistema, ele abre mão do controle, passando-o para o núcleo !

31 Etapas de uma Chamada a Sistema (interrupção por software) Exemplo: read (fd, buffer, nbytes) Fluxo de controle: programa de aplicação è biblioteca de chamadas de sistema (libc.so) è núcleo è biblioteca lib.so è programa de aplicação. 83 Uso de memória principal Para executar, um processo precisa estar (pelo menos parcialmente) na memória principal (RAM) Mas a soma dos tamanhos dos processos em execução sistema no geralmente ultrapassa o tamanho da memória Por isso, o núcleo decide, a cada momento, quais processos irá colocar ou remover da memória (isso inclui serviços e até drivers de dispositivos) Isso é feito pelo memory manager Obs: o núcleo permanece permanentemente na memória (endereços iniciais) 87 31!

32 Ocupação da Memória Cada processo é composto de segmentos que ocupam uma região própria (e isolada) na memória. e endereços de memória são traduzidos pela Memory Management Unit (MMU) controlada pelo kernel (end. lógico -> endereço físico). Segmentos podem estar em região contígua (a) ou não (b) 88 Um processo na memória Processos possuem 3 segmentos: text (instruções), dados dinâmicos, e pilha Segmentos de dados e pilha crescem em sentidos opostos Total de memória a ser alocada é definida na link-edição ou no carregamento do processo Através da chamada de sistema BRK(newDataLimitAddr) processo pode requisitar mais espaço de memória !

33 Chamadas de Sistema: Process Management 92 Exemplo de Fork/Exec O fork() cria uma copia do processo pai, que executará o mesmo programa a partir do mesmo ponto de execução (mas terá outro PID) O exec() carrega e inicia execução de um novo programa executável, com o mesmo PID 93 33!

34 Esboço de uma shell while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from terminal */ if (fork()!= 0) { /* fork off child process */ /* Parent code */ waitpid( -1, &status, 0); /* wait for child to exit */ } else { /* Child code */ execve (command, parameters, 0); /* execute command */ } } Obs: fork() retorna 0 para o processo filho (criado), e o Pid do filho para o processo pai, 94 Chamadas exit() e wait() Sinais são simples notificações entre processos, usados para sincronização e gerenciar o seu cilco de vida.! Não carregam parâmteros, e são tratados (ou ignorados) pelo processo destino independente do seu fluxo de execução.! 95 34!

35 Sinais Um sinal interrompe um processo para informá-lo da ocorrência de uma exceção. Sinais podem ser enviados: Entre processo de um mesmo grupo (com mesmo userid, real ou efetivo) ou Pelo núcleo para um processo (em resposta a uma chamada de sistema) Em Unix existem aprox. 20 signais: e.g. keyboard interrupt, erro em um processo, start/stop process, da shell, kill, eventos da rede, etc. 96 Sinais Signais podem ser ignorados, bloqueados ou tratados por um procedimento provido pelo desenvolvedor. Um processo pode bloquear um sinal através de sigblock (mascara) Diversos sinais podem ser especificados na máscara usando sigmask() mask = sigmask(sigquit) sigmask (SIGINT) sigblock(mask) Existem sinais (kill) que não podem ser bloqueados ou ignorados e invariavelmente causam o terminação do processo alvo. Sinais podem ser perdidos: se vários sinais são enviados para processo antes de serem tratados, o último sobre-escreve os anteriores 97 35!

36 Chamadas de Sistema: File Management 98 Chamadas de Sistema: Directory Management 99 36!

37 Chamadas de Sistema: Outras tarefas !

INF 1019: Sistemas de Computação (Sistemas Operacionais)

INF 1019: Sistemas de Computação (Sistemas Operacionais) INF 1019: Sistemas de Computação (Sistemas Operacionais) Markus Endler Sala RDC 503! endler@inf.puc-rio.br!! http://www.inf.puc-rio.br/~endler/courses/inf1019/!! 1 Introdução 2 O Que é um Sistema Operacional?

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software Resumo até aqui Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma máquina estendida abstrações SO como um

Leia mais

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955 O que vimos Infraestrutura de Software Introdução (cont.) Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma

Leia mais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola SO - Conceitos Básicos Introdução ao Computador 2010/01 Renan Manola Definição de SO É uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. É uma estrutura

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Infra-Estrutura de Software. Introdução. (cont.)

Infra-Estrutura de Software. Introdução. (cont.) Infra-Estrutura de Software Introdução (cont.) O que vimos Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Sistema Operacional (S.O.) Aplicativos Formado por um conjunto de rotinas que oferecem serviços aos usuários, às aplicações

Leia mais

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br Sistemas Operacionais Alexandre Meslin meslin@inf.puc-rio.br Ementa Apresentação do curso Cap1 - Visão Geral Cap2 - Conceitos de Hardware e Software Cap3 - Concorrência Cap4 - Estrutura do Sistema Operacional

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille, da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta 1 Mono e multiprogramação Introdução Classificação (Aula 2) Recap Sistemas Máquina Profa. Patrícia Gerenciador D. CostaLPRM/DI/UFES Provê Fornece Compartilhamento programador máquina justa recursos Operacionais

Leia mais

SISTEMAS OPERACIONAIS 2007

SISTEMAS OPERACIONAIS 2007 SISTEMAS OPERACIONAIS 2007 VISÃO GERAL Sumário Conceito Máquina de Níveis Conceituação de SO Componentes do SO Visões do SO Conceito de Sistemas O que se espera de um sistema de computação? Execução de

Leia mais

Fundamentos de Sistemas Computacionais Introdução

Fundamentos de Sistemas Computacionais Introdução Fundamentos de Sistemas Computacionais Introdução Prof. Eduardo Alchieri Sistema Computacional Hardware Software Usuários Um ou mais processadores, memória, discos, impressoras, teclado, mouse, monitor,

Leia mais

Sistemas Operativos 2001/2002

Sistemas Operativos 2001/2002 Sistemas Operativos 2001/2002 1. Introdução 2. Gestão de Processos Concorrentes 3. Gestão de Memória 4. Gestão de Entradas/Saídas 5. Sistema de Ficheiros Sistemas Operativos Introdução 1. O que é um sistema

Leia mais

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Conceitos de um Sistema Operacional Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas

Leia mais

UNIX & Linux. Histórico, distribuição licença, características. Taisy Weber

UNIX & Linux. Histórico, distribuição licença, características. Taisy Weber UNIX & Linux Histórico, distribuição licença, características Taisy Weber História de UNIX 1969 - Ken Thompson Bell Laboratories, PDP-7 Dennis Ritchie logo juntou-se a Thompson Ritchie havia trabalhado

Leia mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

Estrutura de S.O. Roteiro. BC1518 - Sistemas Operacionais. Prof. Marcelo Z. do Nascimento. Aula 02 2 Quadrimestre. de 2010

Estrutura de S.O. Roteiro. BC1518 - Sistemas Operacionais. Prof. Marcelo Z. do Nascimento. Aula 02 2 Quadrimestre. de 2010 BC1518 - Sistemas Operacionais Estrutura de S.O. Aula 02 2 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br Roteiro Serviço do sistema operacional Interface Chamadas

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

SO Sistemas Operacionais

SO Sistemas Operacionais GOVERNO DO ESTADO DO RIO DE JANEIRO FUNDAÇÃO DE APOIO A ESCOLA TÉCNICA ESCOLA TÉCNICA ESTADUAL REPÚBLICA SO Sistemas Operacionais Curso de Informática ETE REPÚBLICA - Rua Clarimundo de Melo, 847, Quintino

Leia mais

Programação de Sistemas

Programaçã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 mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Conceitos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Arquitetura de Sistema Operacional Chamadas de sistema. Processos Basicamente, um

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

1 http://www.li.facens.br/eletronica

1 http://www.li.facens.br/eletronica UNIX...2 1. HISTÓRICO...2 2. CARACTERÍSTICAS...3 3. ESTRUTURA DO SISTEMA...4 HARDWARE...4 KERNEL...4 BIBLIOTECA...4 UTILITÁRIOS...5 4. PROCESSO...5 5. SISTEMAS DE ARQUIVOS...6 ARQUIVOS E PATHNAMES...8

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Sistema computacional Sistemas feitos para resolver problemas Problema: como obter determinado resultado, com base em dados

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos UFRJ IM - DCC Sistemas Operacionais I Unidade I Introdução 11/02/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Introdução Conceituação de SO Funções Básicas Breve Histórico Tipos de SO Fundamentos

Leia mais

Sistemas Operacionais I. Introdução

Sistemas Operacionais I. Introdução Sistemas Operacionais I Prof. Fernando Freitas Introdução 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.4 O zoológico de sistemas operacionais 1.5 Conceitos sobre sistemas

Leia mais

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT

Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais. Prof. Dr. Ruy de Oliveira CEFET-MT Pós-Graduação, Maio de 2006 Introdução aos Sistemas Operacionais Prof. Dr. Ruy de Oliveira CEFET-MT O que é um Sistema Operacional? Um software que abstrai as complexidades do hardware de um usuário/programador

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc.

Usuários. Aplicativos e programas dos usuários. Kernel gerenciamento de processos, memória, sistema de arquivos, I/O, etc. 1 1.0 Kernel O kernel (núcleo) representa o coração do Sistema Operacional. Atribuições do kernel: - gerenciamento dos arquivos em disco; - inicializar programas e executá-los; - alocar e gerenciar memória

Leia mais

Ciclo de Vida de um Processo

Ciclo de Vida de um Processo Nas aulas anteriores Ciclo de Vida de um Processo Marcelo Johann Conceito de Processo Mecanismo de Programação em C/UNIX Continuando Interrupções TRAP Chaveamento de Contexto Chamadas de Sistema INF01142

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I

UFRJ IM - DCC. Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade I 18/9/2009 Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1 ORGANIZAÇÃO DA UNIDADE Conceituação de SO Funções Básicas Breve Histórico Tipos

Leia mais

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano Sistemas Operacionais Marcos Laureano 1/25 Roteiro Estrutura de um sistema operacional Interrupções Proteção do núcleo Níveis de privilégio Chamadas de sistema 2/25 Mono-processadores atuais seguem um

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus

Leia mais

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC Prof. Almeida Jr ESTRUTURA DE SISTEMA COMPUTACIONAL 2 O QUE FAZ UM SISTEMA OPERACIONAL? Ponto de Vista

Leia mais

Conceitos Básicos sobre Sistemas Operacionais

Conceitos Básicos sobre Sistemas Operacionais Conceitos Básicos sobre Sistemas Operacionais Ivanovitch Medeiros Dantas da Silva Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação DCA0800 - Algoritmos e

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Sistemas Operacionais. Introdução

Sistemas Operacionais. Introdução Sistemas Operacionais Introdução Informações Gerais Site http://www.inf.ufes.br/~rgomes/so.htm Email soufes@gmail.com Sistemas Operacionais Objetivo do Curso Apresentar os fundamentos teóricos dos sistemas

Leia mais

7 Processos. 7.1 Introdução

7 Processos. 7.1 Introdução 1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa

Leia mais

1.2 Tipos de Sistemas Operacionais

1.2 Tipos de Sistemas Operacionais 1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Tipos de Sistemas Operacionais Com o avanço dos computadores foram surgindo alguns tipos de sistemas operacionais que contribuíram para o desenvolvimento do software. Os tipos de

Leia mais

Sistemas Operacionais - Prof. Fabricio Alessi Steinmacher - email:fsteinmacher@gmail.com OBJETIVOS OPERACIONAIS. fsteinmacher@gmail.

Sistemas Operacionais - Prof. Fabricio Alessi Steinmacher - email:fsteinmacher@gmail.com OBJETIVOS OPERACIONAIS. fsteinmacher@gmail. SISTEMAS Introdução a Sistemas Operacionais Prof. Fabricio Alessi Steinmacher - email: OBJETIVOS Identificar as funções e os componentes de um Sistema Operacional; Diferenciar os tipos de Sistemas Operacionais

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Dr. Márcio Andrey Teixeira Estrutura de sistemas operacionais Estruturas de sistemas operacionais A estrutura e o funcionamento de um SO são tópicos de difícil compreensão.

Leia mais

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Operacionais Estruturas de SO Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Estrutura do SO Chamadas ao Sistema Sistemas Monolíticos Sistemas em Camadas Sistemas Cliente-Servidor 2

Leia mais

Sistemas Operacionais 2010/1 - Prof. José Gonçalves 1

Sistemas Operacionais 2010/1 - Prof. José Gonçalves 1 Informações Gerais Introdução Site http://www.inf.ufes.br/~rgomes/so.htm Email soufes@gmail.com Objetivo do Curso Apresentar os fundamentos teóricos dos sistemas operacionais modernos, enfatizando os seus

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 1 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Vicente Amorim vicente.amorim.ufop@gmail.com Sumário

Leia mais

Sistemas Operacionais Introdução

Sistemas Operacionais Introdução Sistemas Operacionais Introdução Adriano J. Holanda http://holanda.xyz 3/8/2015 Sistemas de computação teclado mouse impressora disco rígido monitor processador controladora de disco controladora USB placa

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010)

Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010) 1 Apresentação e objectivos Introdução à Programação Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010) Introdução

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Aspectos de Sistemas Operativos

Aspectos de Sistemas Operativos Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Serviços de um sistema operativo Interface com o utilizador Chamadas ao sistema Programas de sistema

Leia mais

Módulo 4: Processos. Conceito de Processo. Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos

Módulo 4: Processos. Conceito de Processo. Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos Módulo 4: Processos Conceito de Processo Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos 4.1 Conceito de Processo Um Sistema Operacional executa uma

Leia mais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Objetivos Instalação Gerência de Pacotes UNIX Shell. Curso UNIX. Matheus Braun Magrin Felipe dos Santos Silveira

Objetivos Instalação Gerência de Pacotes UNIX Shell. Curso UNIX. Matheus Braun Magrin Felipe dos Santos Silveira Curso UNIX Matheus Braun Magrin Felipe dos Santos Silveira Universidade Federal de Santa Catarina 25 de Setembro de 2010 CHAMADA Objetivos Instalação do sistema Ubuntu 10.04 Conhecer a origem do sistema

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br

Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br Sistemas Operacionais valnaide@dca.ufrn.br kliger@dca.ufrn.br affonso@dca.ufrn.br INTRODUÇÃO O que é um sistema operacional? História dos sistemas operacionais Conceitos dos Sistemas Operacionais Estrutura

Leia mais

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt)

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt) Sistemas Operativos Princípios de sistemas operativos Rui Maranhão (rma@fe.up.pt) Agenda objectivos de um computador objectivos de um sistema operativo evolução dos sistemas operativos tipos de sistemas

Leia mais

VI - Introdução aos Sistemas Operacionais

VI - Introdução aos Sistemas Operacionais VI - Introdução aos Sistemas Operacionais Consiste de um ou um conjunto de programas que compõem o software básico do computador e cuja finalidade é a de executar os programas aplicativos e de servir de

Leia mais

Nível do Sistema Operacional

Nível do Sistema Operacional Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/1 Introdução Hardware Provê os recursos básicos

Leia mais

Capítulo 1. Introdução

Capítulo 1. Introdução Capítulo 1 Introdução 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Revisão sobre hardware de computadores 1.5 Conceitos sobre sistemas

Leia mais

Chamadas de Sistema e Processo

Chamadas de Sistema e Processo Andrique Amorim www.andrix.com.br professor@andrix.com.br Chamadas de Sistema e Processo Estrutura do Computador Sistemas Operacionais Estrutura do Computador Sistemas Operacionais Modos de Acesso ao S.O.

Leia mais

Sistemas Operacionais. (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Sistemas Operacionais. (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto Sistemas Operacionais (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Classificações 3. CPU 4. Memória 5. Utilitários O que se

Leia mais

Mecanismo de Interrupção

Mecanismo de Interrupção Mecanismo de Interrupção Paralelismo de Operação Num sistema multiprogramado a CPU está sempre apta a compartilhar o seu tempo entre os vários programas e os diferentes dispositivos periféricos que necessitam

Leia mais

P5 P3. interrupçãocorrespondente. Sistemas Operacionais 2008/1 Profa. Patricia D. CostaLPRM/DI/UFES 3 Sistemas Operacionais 2008/1

P5 P3. interrupçãocorrespondente. Sistemas Operacionais 2008/1 Profa. Patricia D. CostaLPRM/DI/UFES 3 Sistemas Operacionais 2008/1 Conceitos Processos Básicos (Aula 4) Profa. É Provoca Constitui Mecanismo Patricia informa evento controle, a multiprogramação. Ex: rotina um a base de Interrupção de um (1) sistema de D. CostaLPRM/DI/UFES

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 4 Tipos de SO Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Os Sistemas Operacionais podem ser assim classificados: SO - Prof. Edilberto Silva

Leia mais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Introdução. Professora: Michelle Nery Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas

Leia mais

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Sistemas Operacionais Entrada / Saída Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Tópicos Princípios do hardware de E/S Princípios do software de E/S Camadas do software

Leia mais

LISTA DE COMANDOS DO LINUX 1

LISTA DE COMANDOS DO LINUX 1 LISTA DE COMANDOS DO LINUX 1 Comandos para manipulação de diretório 1. ls Lista os arquivos de um diretório. 2. cd Entra em um diretório. Você precisa ter a permissão de execução para entrar no diretório.

Leia mais

Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas

Apresentação da disciplina. Sistemas Operacionais I N. A disciplina. O Professor. Áreas de atuação na pesquisa. Referências bibliográficas básicas 1 Apresentação da disciplina Sistemas Operacionais I N Prof. Marcelo Johann 2009/2 O professor A disciplina Bibliografia Cronograma Avaliação Trabalhos Regras do jogo Introdução: Sistemas Operacionais

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

Leia mais

Sistemas Operacionais. Introdução

Sistemas Operacionais. Introdução Sistemas Operacionais Prof. Fernando Freitas Introdução O que é um sistema operacional História dos sistemas operacionais Tipos de sistemas operacionais Conceitos sobre sistemas operacionais Chamadas de

Leia mais

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux SOFTWARE LIVRE A liberdade de executar o programa, para qualquer propósito. A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito

Leia mais

Sistemas Operacionais

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 quem implementa o modelo de processos do sistema.

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema Operacional (SO) é um programa colocado entre o hardware do

Leia mais

Introdução. Sistemas Operacionais

Introdução. Sistemas Operacionais FATEC SENAC Introdução à Sistemas Operacionais Rodrigo W. Fonseca Sumário Definição de um S.O. Características de um S.O. História (evolução dos S.O.s) Estruturas de S.O.s Tipos de Sistemas Operacionais

Leia mais

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32

Leia mais

S.O.: Conceitos Básicos

S.O.: Conceitos Básicos S.O.: Conceitos Básicos Camada de software localizada entre o hardware e os programas que executam tarefas para o usuário; Acessa os periféricos Entrada e Saída Esconde os detalhes do hardware para o programador

Leia mais

Hardware e Software. Exemplos de software:

Hardware e Software. Exemplos de software: Hardware e Software O hardware é a parte física do computador, ou seja, é o conjunto de componentes eletrônicos, circuitos integrados e placas, que se comunicam através de barramentos. Em complemento ao

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Operating System Concepts, Abraham Silberschatz, Peter Baer Galvin, 6ª Ed., Addison-Wesley, 2002 [cap.1, 2 e 3] Operating Systems, Third Edition Harvey M. Deitel, Prentice

Leia mais

ENDEREÇOS DE REDE PRIVADOS. 10.0.0.0 até 10.255.255.255 172.16.0.0 até 172.31.255.255 192.168.0.0 até 192.168.255.255. Kernel

ENDEREÇOS DE REDE PRIVADOS. 10.0.0.0 até 10.255.255.255 172.16.0.0 até 172.31.255.255 192.168.0.0 até 192.168.255.255. Kernel ENDEREÇOS DE REDE PRIVADOS Foram reservados intervalos de endereços IP para serem utilizados exclusivamente em redes privadas, como é o caso das redes locais e Intranets. Esses endereços não devem ser

Leia mais