• Nenhum resultado encontrado

03 Introducao 2

N/A
N/A
Protected

Academic year: 2021

Share "03 Introducao 2"

Copied!
41
0
0

Texto

(1)

Infra-Estrutura de Software

Introdução

(2)

O que vimos

• 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 gerenciador de recursos • Gerenciamento • Proteção • Compartilhamento

(3)

O que vimos

• 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 gerenciador de recursos • Gerenciamento • Proteção • Compartilhamento Um pouco de hardware…

– CPU: unidade de controle e execução

• Registradores

Ciclo fetch-decode-execute

– Barramentos e dispositivos de E/S – Memória [hierarquia]

Software básico

– Linguagem de programação de alto nível  linguagem de montagem (Assembly)  linguagem de máquina – Processo: um programa em execução – Comunicação entre processos

(4)

História dos

Sistemas Operacionais

• Primeira geração: 1945 - 1955

– Válvulas, painéis de programação

• Segunda geração: 1955 - 1965

– transistores, sistemas em lote

• Terceira geração: 1965 – 1980

– CIs (circuitos integrados) e multiprogramação

• Quarta geração: 1980 – presente

– Computadores pessoais

(5)

Fonte: http://www.plyojump.com/classes/images/computer_history/eniac_with_programmers.gif

Primeira Geração: Programadoras em Ação

(6)

• Estrutura de um job típico (lote de cartões) – 2a. geração

(7)

Cartões perfurados

(8)

Processamento em Lote: A evolução

(9)

Fonte: http://www.plyojump.com/classes/mainframe_era.html

Compartilhamento de Tempo

(10)

•Três jobs na memória – 3a. geração

(11)

Diversidade de Sistemas Operacionais

• Sistemas operacionais de computadores de grande porte (mainframe)

• Sistemas operacionais de servidores / redes

• Sistemas operacionais de multiprocessadores (paralelismo) • Sistemas operacionais de computadores pessoais

• Sistemas operacionais de dispositivos portáteis/ móveis (ex. celulares)

• Sistemas operacionais de tempo-real • Sistemas operacionais embarcados

• Sistemas operacionais de cartões inteligentes • Sistemas operacionais de sensores

(12)

Estrutura de Sistemas

Operacionais: Sistema Monolítico

• Modelo simples de estruturação de um sistema monolítico

SO = um processo com n procedimentos

(13)

Estrutura de Sistemas

Operacionais: Sistema Monolítico

• Modelo simples de estruturação de um sistema monolítico SO = um processo com n procedimentos Executam as System Calls Ajudam os Procedimentos de Serviços

(14)

Estrutura de Sistemas

Operacionais: Sistema em Camadas

• Estrutura em camadas • Modularidade • Hierarquia • Facilita evolução e adaptação a novos ambientes (Flexibilidade)

(15)

Estrutura de Sistemas

Operacionais: Sistema em Camadas

• Modularidade • Hierarquia • Facilita evolução e adaptação a novos ambientes (Flexibilidade)

(16)

16

Camadas em Linux

(17)

17

Camadas em Linux

(18)

18

Arquitetura Linux - Outra Visão

User applications

System libraries(e.g., libc)

Architecture-independent (portable)portion of kernel Architecture-dependent (nonportable)portion of kernel Hardware User applications

System libraries(e.g., libc)

System call interface

I/O Process Control Process Scheduler Interprocess Communication Memory Management Hardware

(19)

19

Arquitetura do Kernel do Linux

Hardware

Network Process

Management IPC ManagementMemory SystemFile

Device Driver

System Call Interface

(20)

Uma arquitetura de micro-núcleo: MINIX 3

• Núcleo responsável por escalonamento, passagem de

(21)

21

Arquitetura de Micro-Núcleo

• Quem usa micro-núcleo?

– Mac OS X, MINIX, Symbian, QNX Neutrino, entre outros

• Mais informações:

– http://oreilly.com/catalog/opensources/book/appa.html

– http://www.cs.vu.nl/~ast/reliable-os

(22)
(23)

23

(24)

Estrutura de Sistemas

Operacionais: Cliente-Servidor

(25)

Estrutura de Sistemas

Operacionais: Cliente-Servidor (2)

• O modelo cliente-servidor em um

(26)

Estrutura de Sistemas

Operacionais: Máquina Virtual (Virtualização)

Hardware

Hardware

Virtual Machine Monitor

Virtual Machine Monitor

Linux

(27)

Estrutura de Sistemas

Operacionais: Máquina Virtual (Virtualização)

Hardware

Hardware

Virtual Machine Monitor

Virtual Machine Monitor

Linux

Linux (devel)(devel)Linux Linux XPXP VistaVista MacOSMacOS

VMM opera na interface de hardware, fornecendo uma interface idêntica para os SOs acima

(28)

28

Virtualização em vários níveis

• De dispositivo

– RAID

• De sistema

– VMware,QEMU, VirtualBox

“Paravirtualização”

A máquina subjacente não é simulada

Aplicações rodam em seus próprios domínios

(29)

29

Arquitetura Hosted Monitor

• Executa como uma aplicação em um SO existente

Hardware

Hardware

Virtual Machine Monitor

Virtual Machine Monitor

Guest OS

Guest OS (Linux)(Linux)

Host OS

Host OS (Window XP)(Window XP) User App User App Kernel Kernel Module Module

(30)

Conceito Básico: Processo

(um programa em execução)

• Contexto de processo Vídeo Teclado CPU CPU Memória E/S outros dispositivos • CPU: Registradores

• Memória: Posições em uso

• Dentro de seu espaço de endereçamento

• E/S: Estado das requisições

• Estado do processo: Rodando, Bloqueado, Pronto • Outras informações

(31)

Processo • Estados de um processo Pronto Criar ID do Processo Estado Program Counter Ponteiros da Memória Contexto (outros regs.)

I/O Status Prioridade

Informações gerais

• tempo de CPU

• limites, usuário, etc.

(32)

Processo • Estados de um processo Pronto Rodando Criar ID do Processo Estado Program Counter Ponteiros da Memória Contexto (outros regs.)

I/O Status Prioridade

Informações gerais

• tempo de CPU

• limites, usuário, etc.

Contexto

(33)

Processo • Estados de um processo Pronto Rodando Criar ID do Processo Estado Program Counter Ponteiros da Memória Contexto (outros regs.)

I/O Status Prioridade

Informações gerais

• tempo de CPU

• limites, usuário, etc.

Contexto

executar

suspender (tempo)

(34)

Processo • Estados de um processo Pronto Rodando Bloqueado Criar Terminar bloquear (I/O) desbloquear ID do Processo Estado Program Counter Ponteiros da Memória Contexto (outros regs.)

I/O Status Prioridade

Informações gerais

• tempo de CPU

• limites, usuário, etc.

Contexto

executar

suspender (tempo)

(35)

Criação de Processos

• Principais eventos que levam à criação de processos

– Início do sistema

– Execução de chamada ao sistema de criação de processos

– Solicitação do usuário para criar um novo processo

(36)

Término de Processos

• Condições que levam ao término de processos

– Saída normal (voluntária) – Saída por erro (voluntária) – Erro fatal (involuntário)

– Cancelamento por um outro processo (involuntário)

(37)

Hierarquias de Processos

• Processo “pai” cria um processo “filho”,

processo filho pode criar seu próprio processo …

• Formando uma hierarquia

– UNIX chama isso de “grupo de processos”

• Windows não possui o conceito de hierarquia de processos

– Todos os processos são criados iguais (sem conceito de “pai” e “filho”)

(38)

Exemplo de criação de processo

#include<stdio.h>

int main(int argc, char* argv[]) { int pid = fork();

if (pid == 0) { for (int c = 0; c < 100000; c++ ) { printf("P1\n"); } } else { for (int c = 0; c < 100000; c++ ) { printf("P2\n"); } } }

(39)

Conceito: Multiprogramação

a) Multiprogramação de quatro programas

b) Modelo conceitual de 4 processos sequenciais, independentes, mas

c) Somente um programa está ativo a cada momento =>

(40)

Escalonamento de processos

• Se há processos prontos para ser executados, o sistema operacional decide qual será executado primeiro

• A parte do sistema operacional responsável por essa decisão é chamada escalonador

• O algoritmo usado para tal é chamado de algoritmo de escalonamento

• Para que um processo não execute tempo demais, praticamente todos os computadores possuem um

(41)

O que vamos ver sobre Sistemas Operacionais?

• Gerenciamento de Processos / Escalonamento • Gerenciamento de Entrada e Saída

• Gerenciamento de Memória / Memória Virtual • Gerenciamento de Disco / Sistemas de Arquivos

• Gerenciamento de Processos / Escalonamento • Gerenciamento de Entrada e Saída

• Gerenciamento de Memória / Memória Virtual • Gerenciamento de Disco / Sistemas de Arquivos

Referências

Documentos relacionados

The aim of this study was to obtain MRI from patients with supination- external rotation type bimalleolar ankle fractures in order to assess the frequency of concomitant

Dois outros membros da família – Bartholomeu de Assis Brasil e José de Assis Brasil – também tiveram sua ação política (e mesmo profissional, no caso do

Estaca de concreto moldada in loco, executada mediante a introdução no terreno, por rotação, de um trado helicoidal contínuo. A injeção de concreto é feita pela haste

Entende-se que os objetivos desta pesquisa foram alcançados, uma vez que a medida de polaridade conseguiu captar espaços com maiores potenciais de copresença (espaços

17.1 A Alfa Seguradora se reserva o direito de a qualquer tempo, durante a vigência deste contrato, proceder inspeção no local do Seguro, devendo o Segurado proporcionar todos

ABNT NBR 14725-3: Produtos químicos: Informações sobre segurança, saúde e meio ambiente: Parte 3: Rotulagem. ASSOCIAÇÃO BRASILEIRA DE

Nesse contexto, o presente trabalho tem como objetivo realizar testes de tração mecânica e de trilhamento elétrico nos dois polímeros mais utilizados na impressão

Finally,  we  can  conclude  several  findings  from  our  research.  First,  productivity  is  the  most  important  determinant  for  internationalization  that