Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIan Capote Alterado mais de 10 anos atrás
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?
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.