A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin

Apresentações semelhantes


Apresentação em tema: "Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin"— Transcrição da apresentação:

1 Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin

2 Sumário 1 – Apresentação da Disciplina e Plano de Ensino 2 – Apresentação dos Temas de Seminário e Divisão de Grupos 3 – Matéria

3 Disciplina e Plano de Ensino
O que vamos ver? 1 – Conceitos Básicos de SO 2 – Processos e Threads 3 – Deadlocks e Gerenciamento de Memória 4 – Entrada e Saída 5 – Sistemas de Arquivos 6 – SMP 7 – Segurança 8 – Estudo de Caso (Linux)

4 Disciplina e Plano de Ensino
Como seremos cobrados? 02 Provas Valendo 10 pontos cada uma. 1 Trabalho valendo 20 pontos (sendo 60% trabalho escrito e 40% apresentação) Pontos de participação e trabalhos em sala valendo 10 pontos. Média 50/5.

5 Quem somos nós? Quem somos nós? O que fazemos? Já participamos de algum incidente de segurança?

6 Temas para Trabalho SOs Embarcados SOs Videogames História do Unix História do Windows Distribuições Linux Histórico principais falhas de segurança em SO

7 O que é um Sistema Operacional?
Conceitos Básicos O que é um Sistema Operacional?

8 Conceitos Básicos

9 Conceitos Básicos Maquina Estendida Abstrair a camada de hardware para facilitar a Programação. Ex: Slides a Seguir. Gerenciador de Recursos Compartilhar tempo e espaço. Ex: TimeSharing da CPU e Alocação de espaços de memória.

10 Conceitos Básicos section .data ; MAX_LINHA equ 1000
fich db "calculos.txt",0 ;Nome do arquivo flagLer dd 00q ; O_RDONLY numFich dd 0 ; guarda o numero do arquivo nLidos dd 0 num1 dd 0 num2 dd 0 num3 dd 0 operacao dd 0 operacao2 dd 0 tamstr dd 0 section .bss ; Secao BSS linha resb MAX_LINHA section .text ; Secao TXT global _start _start: ; Abrir o arquivo e guardar o handle em numFich mov ecx,[flagLer] ;segundo argumento: flags mov ebx,fich ;primeiro argumento: nome do arquivo mov eax,5 ;Numero da SysCall (sys_open) int 0x ;chama Kernel mov [numFich], eax

11 Conceitos Básicos ; Ler no arquivo cujo handle está em numFich
leitura: mov edx,MAX_LINHA ;tamanho da linha a ler mov ecx,linha ;apontador para a variavel a ler mov ebx,[numFich] ;apontador para o arquivo mov eax,3 ;system call number (sys_read) int 0x ;call kernel mov [tamstr], eax ;guarda num. de bytes lidos xor eax, eax xor ebx, ebx mov esi,linha cld mov ecx, [tamstr] ciclonum1: lodsb cmp al, 0xa je imprime cmp al, '9' jg letra1 and al, 0xF jmp fim1

12 Conceitos Básicos letra1: and al, 0xF add al, 9 fim1: shl ebx,4
add ebx, eax loop ciclonum1 mov [num1], ebx ; Escrever linha na tela imprime: mov edx,[tamstr] ;third argument: message length mov ecx,esi ;second argument: pointer to message to write mov ebx, ;first argument: file handle (stdout) mov eax,4 ;system call number (sys_write) int 0x ;call kernel ; Fechar o arquivo cujo handle está em numFich fim: mov ebx,[numFich] ;apontador para o ficheiro mov eax,6 ;system call number (sys_close) ; Sair do programa passando o controle ao sistema operacional mov ebx,0 ;first syscall argument: exit code mov eax,1 ;system call number (sys_exit)

13 Histórico dos Sistemas Operacionais
- A 1.a Geração (1945 – 1955) Válvulas e Painéis

14 Histórico dos Sistemas Operacionais
- A 1.a Geração (1945 – 1955) Válvulas e Painéis

15 Histórico dos Sistemas Operacionais
A 2.a Geração (1955 – 1965) Transistores e Sistemas em Lote

16 Histórico dos Sistemas Operacionais
A 2.a Geração (1955 – 1965) Transistores e Sistemas em Lote 7094 1401

17 Histórico dos Sistemas Operacionais
- A 3.a Geração (1965 – 1980) CIs e Multiprogramacao (OS 360, CTSS, Multics e... UNIX!)

18 Histórico dos Sistemas Operacionais
- A 3.a Geração (1965 – 1980) CIs e Multiprogramacao (OS 360, CTSS, Multics e... UNIX!)

19 Histórico dos Sistemas Operacionais
- A 3.a Geração (1965 – 1980) CIs e Multiprogramacao (OS 360, CTSS, Multics e... UNIX!) PDP7 Ken Thompson

20 Histórico dos Sistemas Operacionais
- A 4.a Geração (1980 – Presente) Microprocessadores Enfim... PCs... MSDos, Windows, Mac, Linux...

21 Conceitos Básicos Revisao de Hardware Processadores Memória Dispositivos de E/S Barramentos

22 Conceitos Básicos Processador

23 Processador Conceitos Básicos
LOADA mem - Load register A from memory address LOADB mem - Load register B from memory address CONB con - Load a constant value into register B SAVEB mem - Save register B to memory address SAVEC mem - Save register C to memory address ADD - Add A and B and store the result in C SUB - Subtract A and B and store the result in C MUL - Multiply A and B and store the result in C DIV - Divide A and B and store the result in C COM - Compare A and B and store the result in test JUMP addr - Jump to an address JEQ addr - Jump, if equal, to address JNEQ addr - Jump, if not equal, to address JG addr - Jump, if greater than, to address JGE addr - Jump, if greater than or equal, to address JL addr - Jump, if less than, to address JLE addr - Jump, if less than or equal, to address STOP - Stop execution

24 Processador Fatorial 5 Conceitos Básicos a=1; f=1; while (a <= 5) {
// Assume que a esta no endereco 128 // Assume que F esta no endereco 129 0 CONB // a=1; 1 SAVEB 128 2 CONB // f=1; 3 SAVEB 129 4 LOADA // if a > 5 jump to 17 5 CONB 5 6 COM 7 JG 17 8 LOADA // f=f*a; 9 LOADB 128 10 MUL 11 SAVEC 129 12 LOADA // a=a+1; 13 CONB 1 14 ADD 15 SAVEC 128 16 JUMP // loop back to if 17 STOP Fatorial 5 a=1; f=1; while (a <= 5) { f = f * a; a = a + 1; }

25 Conceitos Básicos Memória

26 Conceitos Básicos Memória

27 Dispositivos de Entrada e Saida
Conceitos Básicos Dispositivos de Entrada e Saida

28 Conceitos Básicos Barramentos

29 Conceitos Básicos Conceitos de SO Processos DeadLocks Gerenciamento da Memória Arquivos Segurança Shell

30 Processo é um programa em execução.
Conceitos Básicos Processos Processo é um programa em execução.

31 Conceitos Básicos DeadLock

32 DeadLock Conceitos Básicos
Processos A e B tentam alocar os mesmos recursos ao mesmo tempo B2 – Aloca CDRW Processo B B1 – Aloca TL A1 – Aloca CDRW Processo A A2 – Aloca TL

33 Gerenciamento de Memória
Conceitos Básicos Gerenciamento de Memória Gerenciamento de Memória RedHat

34 Conceitos Básicos Entrada e Saída Normalmente Drivers.

35 Conceitos Básicos Arquivos Arquivo: Blocos de informações gravadas em algum tipo de armazenamento, normalmente persistente.

36 Conceitos Básicos Shell Shell: Interface do SO para recebimento de comandos. Ex: Bash, Ksh, Prompt Dos, Etc.

37 Conceitos Básicos Segurança Segurança em FS - Segurança no Kernel - Segurança na Rede - Segurança em Processos

38 System Calls (Chamadas de Sistema)
Conceitos Básicos System Calls (Chamadas de Sistema)

39 Conceitos Básicos Chamadas de (ao) Sistema Gerenciamento de Processos Gerenciamento de Arquivos Gerenciamento de Sistema de Diretorio e Arquivos Outras Estudaremos o padrao POSIX

40 Chamadas de Sistema - Processos
Conceitos Básicos Chamadas de Sistema - Processos Chamada Descrição pid = fork() Crie um processo filho idêntico ao processo pai pid = waitpid(pid, &statloc, options) Aguarde um processo filho terminar s = execve(name, argv, environp) Substitua o espaço de endereçamento do processo exit(status) Termine a execução do processo e retorne o estado

41 Chamadas de Sistema - Arquivos
Conceitos Básicos Chamadas de Sistema - Arquivos Chamada Descrição fd = open(file, how, ...) Abra um arquivo para leitura, escrita ou ambas. s = close(fd) Feche um arquivo aberto n = read(fd, buffer, nbytes) Leia dados de um arquivo para um buffer n = write(fd, buffer, nbytes) Escreva dados de buffer para um arquivo position = lseek(fd, offset, whence) Mova o ponteiro de posição do arquivo s = stat(name, &buf) Obtenha a informação de estado do arquivo

42 Chamadas de Sistema – Diretório e Arquivo
Conceitos Básicos Chamadas de Sistema – Diretório e Arquivo Chamada Descrição s = mkdir(name, mode) Crie um novo diretório s = rmdir(name) Remova um diretorio vazio s = link(name1, name2) Crie uma nova entrada, name2, apontando para name1. s = unlink(name) Remova uma entrada de diretório s = mount(special, name, flag) Monte um sistema de arquivo s = umount(special) Desmonte um sistema de arquivo

43 Chamadas de Sistema – Diversas
Conceitos Básicos Chamadas de Sistema – Diversas Chamada Descrição s = chdir(dirname) Altere o diretório de trabalho s = chmod(name, mode) Altere os bits de proteção do arquivo s = kill(pid, signal) Envie um sinal a um processo seconds = time(&seconds) Obtenha o tempo decorrido desde 1.o de Janeiro de 1970.

44 Estruturas de Sistemas Operacionais
Conceitos Básicos Estruturas de Sistemas Operacionais Sistemas Monolíticos - Sistemas de Camadas - Maquinas Virtuais - Exonúcleos - Modelo Cliente-Servidor

45 Estruturas de Sistemas Operacionais
Conceitos Básicos Estruturas de Sistemas Operacionais Sistemas Monolíticos - Sistemas de Camadas - Maquinas Virtuais - Exonúcleos - Modelo Cliente-Servidor

46 Duvidas?


Carregar ppt "Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin"

Apresentações semelhantes


Anúncios Google