Você está na página 1de 37

Estruturas de Sistemas Operacionais

Prof. Dr. Jos Lus Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto
Faculdade de Tecnologia de Americana Centro Paula Souza

Tpicos

Componentes do Sistema Servios do Sistema Chamadas do sistema Programas do Sistema (Utilitrios) Estrutura do Sistema Projeto de Sistemas Implementao de Sistemas e Gerao do Sistema

Estruturas do Sistema de Computao

Componentes do Sistema

Gerncia de Processos Gerncia de Memria Principal Gerncia de Arquivos Gerncia do Sistema de I/O Gerncia de Armazenamento Secundrio Rede Sistema de Proteo Interpretador de Comandos do Sistema

Estruturas do Sistema de Computao

Gerncia de Processos

Processo um programa em execuo e necessita de certos recursos, como tempo de CPU, memria, arquivos e dispositivos de I/O, para completar sua tarefa. Responsabilidades do Sistema Operacional:

criar e destruir processos do usurio e do sistema; suspender e reativar processos; fornecer mecanismos para a comunicao entre processos; fornecer mecanismos para a sincronizao entre processos; fornecer mecanismos (impasses). para o tratamento de deadlocks

Estruturas do Sistema de Computao

Gerncia de Memria Principal

A memria principal um armazenador de acesso rpido e compartilhvel entre a CPU e os dispositivos de I/O, alm de ser voltil, ou seja, perder seu contedo em caso de falhas no sistema. Responsabilidades do Sistema Operacional:

conhecer quais partes da memria esto sendo usadas e por quem; decidir quais processos sero carregados quando o espao da memria torna-se disponvel; Alocar e liberar espao da memria quando for necessrio.

Estruturas do Sistema de Computao

Gerncia de Arquivos

Um arquivo uma coleo de informaes definidas pelo seu criador. Normalmente representa programas (fonte, objeto e executvel) ou dados. Responsabilidades do Sistema Operacional:

criar e remover arquivos; criar e remover diretrios; disponibilizar primitivas para manipulao de arquivos e diretrios; mapear os secundrio; arquivos no dispositivo de armazenamento

copiar arquivos entre dispositivos de armazenamento no volteis.


Estruturas do Sistema de Computao

Gerncia do Sistema de I/O

Ocultar as peculiaridades de dispositivos de hardware especficos do usurio. O subsistema de I/O consiste em:

buffering, caching e spooling; interface geral de driver de dispositivo (device-driver); drivers para dispositivos de hardware especficos.

Apenas o driver de dispositivo conhece as peculiaridades do dispositivo especfico ao qual foi atribudo.

Estruturas do Sistema de Computao

Gerncia de Armazenamento Secundrio

A memria principal (armazenamento primrio) voltil e muito pequena para armazenar todos os dados e programas permanentemente, portanto, o sistema computacional deve fornecer armazenamento secundrio para auxiliar a memria principal. Responsabilidades do Sistema Operacional:

gerenciamento de espao livre; alocao de armazenamento; escalonamento de disco (ordenao e seleo das operaes p/ o uso de discos).

Estruturas do Sistema de Computao

Rede

Coleo de computadores compartilhando recursos. Cada computador tem seu prprio processador, memria e clock, alm do sistema operacional. Os computadores so interligados atravs de um sub-sistema de comunicao e utilizam protocolos para viabilizar a comunicao. Acesso aos recursos compartilhados permitem:

speed-up computacional processamento); aumentar a confiabilidade.

(aumento

na

velocidade

de

aumentar a disponibilidade dos dados;

Estruturas do Sistema de Computao

Sistemas de Proteo

Proteo refere-se a qualquer mecanismo para controlar o acesso de programas, processos ou usurios aos recursos do sistema ou de outros usurios. O mecanismo de proteo deve:

distinguir entre uso autorizado e no autorizado; especificar o tipo de controle a ser utilizado; fornecer os meios para viabilizar estes controles.

Estruturas do Sistema de Computao

Interpretador de Comandos do Sistema

Os comandos so enviados ao sistema operacional atravs de uma interface caracter ou orientada a mouse (grfica). Comandos ORIENTADOS A TECLADO x ORIENTADOS A MOUSE Outros nomes: SHELL (casca do sistema), prompt do sistema, console texto, interpretador de linha de comando Os comandos interagem com:

o gerenciamento de processos; manipulao de I/O; gerenciamento de armazenamento secundrio; gerenciamento de memria principal; proteo; acesso arquivos do sistema; rede.
Estruturas do Sistema de Computao

Servios do Sistema Operacional

Classes de servio de um SO: Execuo de programas Operaes de I/O Manipulao do Sistema de Arquivos Comunicaes Deteco de Erros Alocao de Recursos Contabilizao Proteo

Estruturas do Sistema de Computao

Servios do Sistema Operacional

Execuo de programas:

capacidade do sistema para: carregar um programa na memria e execut-lo; termin-lo normal ou anormalmente.

Operaes de I/O:

uma vez que os programas no podem executar operaes de I/O diretamente, o sistema operacional deve fornecer algum meio para estas execues.

Manipulao do Sistema de Arquivos:

os programas necessitam ler, gravar, criar e remover arquivos.

Estruturas do Sistema de Computao

Servios do Sistema Operacional

Comunicaes

troca de informaes entre processos que esto sendo executados em um mesmo computador ou em computadores diferentes interligados por uma rede. Implementado via memria compartilhada ou troca(envio) de mensagem.

Deteco de Erros

garantir a correta computao detectando-se erros na CPU, memria, rede, dispositivos de I/O ou em programas do usurio.

Estruturas do Sistema de Computao

Servios do Sistema Operacional

Alocao de Recursos

alocar recursos para mltiplos usurios ou mltiplos processos executando concorrente ou paralelamente (execuo concorrente X execuo paralela).

Contabilizao

registrar os usurios que utilizam os recursos do computador, quais tipos de recursos, em que quantidade e como os utilizam.

Proteo

garantir que todos os acessos aos recursos do sistema sejam controlados. A resistncia de uma corrente a mesma de seu elo mais fraco.
Estruturas do Sistema de Computao

Chamadas ao Sistema

Chamadas ao sistema (system calls) fornecem uma interface entre um programa que est em execuo e operacional. o sistema

Trs mtodos podem ser utilizados para a passagem de parmetros entre a aplicao e o sistema operacional:

passagem de parmetros por meio dos registradores; armazenamento memria; dos parmetros em posies da

parmetros podem ser inseridos em uma pilha pelo programa e retirados dela pelo sistema operacional.

Estruturas do Sistema de Computao

Chamadas do Sistema

Passagem de Parmetro

Estruturas do Sistema de Computao

Chamadas do Sistema
#cpuid.s Sample program to extract the processor Vendor ID #Author: Rossano Pablo Pinto (Baseado no cdigo de Richard Blum) .section .data output: .ascii "The processor Vendor ID is 'xxxxxxxxxxxx'\n" .section .text .globl _start _start: nop mov $0, %eax cpuid movl $output, %edi movl %ebx, 28(%edi) movl %edx, 32(%edi) movl %ecx, 36(%edi) movl $4, %eax movl $1, %ebx movl $output, %ecx movl $42, %edx int $0x80 movl $1, %eax movl $0, %ebx int $0x80 # USAR SYSCALL 4 (WRITE) P/ IMPRIMIR NA TELA (OLHAR /usr/include/asm/unistd_32.h) # IMPRIMIR EM STDOUT (FD 1) # ENDERECO INICIAL DO TEXTO A SER IMPRESSO # COMPRIMENTO DO TEXTO A SER IMPRESSO # CHAMA SYSCALL DO LINUX # USAR SYSCALL 1 (EXIT) P/ FINALIZAR PROGRAMA # SAIR COM ERROR CODE = 0 # CHAMA SYSCALL DO LINUX (INTERRUPO DE SOFTWARE)

Estruturas do Sistema de Computao

Chamadas do Sistema
#ifndef _ASM_I386_UNISTD_H_ #define _ASM_I386_UNISTD_H_ /* * This file contains the system call numbers. */ #define __NR_restart_syscall #define __NR_exit #define __NR_fork #define __NR_read #define __NR_write #define __NR_open #define __NR_close #define __NR_waitpid #define __NR_creat #define __NR_link #define __NR_unlink #define __NR_execve #define __NR_chdir #define __NR_time #define __NR_mknod #define __NR_chmod #define __NR_lchown #define __NR_break #define __NR_oldstat #define __NR_lseek #define __NR_getpid #define __NR_mount #define __NR_umount #define __NR_setuid #define __NR_getuid #define __NR_stime 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #define __NR_ptrace #define __NR_alarm #define __NR_oldfstat #define __NR_pause #define __NR_utime #define __NR_stty #define __NR_gtty #define __NR_access #define __NR_nice #define __NR_ftime #define __NR_sync #define __NR_kill #define __NR_rename #define __NR_mkdir #define __NR_rmdir #define __NR_dup #define __NR_pipe #define __NR_times #define __NR_prof #define __NR_brk #define __NR_setgid #define __NR_getgid #define __NR_signal #define __NR_geteuid #define __NR_getegid #define __NR_acct #define __NR_umount2 #define __NR_lock #define __NR_ioctl #define __NR_fcntl #define __NR_mpx #define __NR_setpgid #define __NR_ulimit #define __NR_oldolduname ............................ 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

Estruturas do Sistema de Computao

Chamadas ao Sistema

5 grupos principais: Controle de Processos Gerncia de Arquivos Gerncia de Dispositivos Manuteno de Informaes Comunicaes

Estruturas do Sistema de Computao

Chamadas ao Sistema

Controle de Processos end, abort (gera dump e controle transferido p/ shell - retorna cdigo de erro - 0 == normal) load, execute (fork + exec) create process (fork), terminate process (exit/signal) get process attributes, set process attributes wait for time, event signal event (signal) allocate and free memory Gerncia de Arquivos create and delete file open and close file read, write, reposition (seek) get and set file attributes
Estruturas do Sistema de Computao

Chamadas ao Sistema

Gerncia de Dispositivos request and release device read, write, reposition get and set device attributes logically attach and detach device Manuteno de Informaes get and set time or date, get and set system data get and set process, file or device attributes Comunicaes create and delete communication connection send and receive messages transfer status information attach and detach remote devices
Estruturas do Sistema de Computao

Execuo no MS-DOS

Apenas 1programa por vez: 1 - O programa copiado p/ a memria 2 - O loader altera o PC do processador p/ apontar p/ a primeira instruo do programa recm carregado 3 - Ao final, o programa executa a chamada de finalizao do programa 4 - O controle passa p/ o shell 5 - A memria ocupada pelo programa liberada

Estruturas do Sistema de Computao

Execuo no MS-DOS

O MS-DOS no suporta multiprogramao, mas suporta um mtodo limitado de execuo concorrente: TSR (Terminate and Stay Resident) - um programa se conecta a uma interrupo e chama o servio TSR

Estruturas do Sistema de Computao

Execuo no UNIX/Linux

UNIX/Linux suportam multitarefa preemptiva. Cada novo proceso no sistema criado pela chamada fork() feita pelo prprio interpretador de comandos (shell). O shell pode tanto esperar pelo trmino do processo quanto continuar a execuo concorrente (background) - nesse caso o processo em execuo no pode obter dados do teclado, pois est sendo usado pelo shell. Um novo programa carregado pela chamada exec().

Estruturas do Sistema de Computao

Modelos de Comunicao

Estruturas do Sistema de Computao

Programas do Sistema (Utilitrios)

Os programas do sistema fornecem um ambiente conveniente para o desenvolvimento e execuo de programas. Eles podem ser divididos em:

Gerncia de Arquivos Informaes de Status Modificao de Arquivo Suporte a Linguagem de Programao Carregamento e Execuo de Programas Comunicaes

A viso que o usurio tem do sistema operacional definida pelos programas do sistema e no pelas chamadas do sistema (viso do programador).
Estruturas do Sistema de Computao

Estrutura do Sistema MS-DOS

O MS-DOS foi escrito para fornecer uma maior funcionalidade ocupando o menor espao possvel.

Estruturas do Sistema de Computao

Estrutura do Sistema Unix/Linux

O UNIX/Linux consiste de duas partes separadas:

os programas do sistema; o kernel

consiste em tudo que estiver abaixo da interface do sistema e acima do hardware fsico; fornece o sistema de arquivos, escalonamento da CPU, gerenciamento da memria e outras funcionalidades do sistema operacional.

Estruturas do Sistema de Computao

Estrutura do Sistema Unix/Linux

Estruturas do Sistema de Computao

Micro-Kernel

Esta abordagem remove todos os componentes no-essenciais do kernel e implementa-os como programas do sistema e de nvel do usurio. A comunicao entre os mdulos feita utilizando-se a passagem de mensagem. Benefcios: expanso do micro-kernel; facilidade de portabilidade; maior confiabilidade (menor qte. de cdigo); maior segurana.

Estruturas do Sistema de Computao

Mquina Virtual

O sistema operacional cria a iluso de mltiplos processos, cada um executando em seu prprio processador com sua prpria memria e seu prprio sistema operacional.

Estruturas do Sistema de Computao

Mquina Virtual (Virtualizao)

Estruturas do Sistema de Computao

Objetivos, Mecanismos e Polticas

Objetivos do Usurio: o sistema operacional deve ser conveniente para o uso, fcil de aprender, confivel, seguro e rpido. Objetivos do Sistema: o sistema operacional deve ser fcil de projetar, implementar e manter, assim como ser flexvel, confivel, livre de erros e eficiente. Os mecanismos determinam como tudo dever se feito e as polticas determinam o que dever ser feito. A separao das polticas dos mecanismos um princpio importante. Ela permite a maximizao da flexibilidade caso mudanas nas polticas venham a ocorrer.
Estruturas do Sistema de Computao

Implementao do Sistema

Os

sistemas

operacionais

atuais

so

escritos

utilizando-se

linguagens de alto nvel.

Vantagens:

rapidez na escrita do cdigo; mais compacta; facilidade de desenvolvimento e debug; portabilidade.

Estruturas do Sistema de Computao

Configurao do Sistema

Os

sistemas

operacionais

podem

ser

gerados

levando

em

considerao a plataforma destino.


Tipo de CPU Quantidade de memria Dispositivos presentes Tipo de escalonamento/uso do sistema (Servidor/Desktop) Etc..

Ex.:

Linux foi portado para vrias plataformas O processo de configurao/compilao determina qual a plataforma que o sistema vai ser executado
Estruturas do Sistema de Computao

Estruturas de Sistemas Operacionais


Prof. Dr. Jos Lus Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto
Faculdade de Tecnologia de Americana Centro Paula Souza

Você também pode gostar