460 likes | 562 Views
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin. 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. Disciplina e Plano de Ensino.
E N D
Disciplina: Sistema OperacionalProfessor: Luciano Ricardi Scorsin
Sumário1 – Apresentação da Disciplina e Plano de Ensino2 – Apresentação dos Temas de Seminário e Divisão de Grupos3 – Matéria
Disciplina e Plano de Ensino O que vamos ver?1 – Conceitos Básicos de SO2 – Processos e Threads3 – Deadlocks e Gerenciamento de Memória4 – Entrada e Saída5 – Sistemas de Arquivos6 – SMP7 – Segurança8 – Estudo de Caso (Linux)
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.
Quem somos nós? Quem somos nós?O que fazemos?Já participamos de algum incidente de segurança?
Temas para Trabalho SOs EmbarcadosSOs VideogamesHistória do Unix História do WindowsDistribuições LinuxHistórico principais falhas de segurança em SO
Conceitos Básicos O que é um Sistema Operacional?
Conceitos Básicos Maquina EstendidaAbstrair a camada de hardware para facilitar a Programação. Ex: Slides a Seguir. Gerenciador de RecursosCompartilhar tempo e espaço. Ex: TimeSharing da CPU e Alocação de espaços de memória.
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 0x80 ;chama Kernel mov [numFich], eax
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 0x80 ;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
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,1 ;first argument: file handle (stdout) mov eax,4 ;system call number (sys_write) int 0x80 ;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) int 0x80 ;call kernel ; 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) int 0x80 ;call kernel
Histórico dos Sistemas Operacionais - A 1.a Geração (1945 – 1955) Válvulas e Painéis
Histórico dos Sistemas Operacionais - A 1.a Geração (1945 – 1955) Válvulas e Painéis
Histórico dos Sistemas Operacionais A 2.a Geração (1955 – 1965) Transistores e Sistemas em Lote
Histórico dos Sistemas Operacionais A 2.a Geração (1955 – 1965) Transistores e Sistemas em Lote 7094 1401
Histórico dos Sistemas Operacionais - A 3.a Geração (1965 – 1980) CIs e Multiprogramacao (OS 360, CTSS, Multics e... UNIX!)
Histórico dos Sistemas Operacionais - A 3.a Geração (1965 – 1980) CIs e Multiprogramacao (OS 360, CTSS, Multics e... UNIX!)
Histórico dos Sistemas Operacionais - A 3.a Geração (1965 – 1980) CIs e Multiprogramacao (OS 360, CTSS, Multics e... UNIX!) PDP7 Ken Thompson
Histórico dos Sistemas Operacionais - A 4.a Geração (1980 – Presente) MicroprocessadoresEnfim... PCs... MSDos, Windows, Mac, Linux...
Conceitos Básicos Revisao de HardwareProcessadoresMemóriaDispositivos de E/SBarramentos
Conceitos Básicos Processador
Conceitos Básicos Processador 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
Conceitos Básicos Processador // Assume que a esta no endereco 128 // Assume que F esta no endereco 129 0 CONB 1 // a=1; 1 SAVEB 128 2 CONB 1 // f=1; 3 SAVEB 129 4 LOADA 128 // if a > 5 jump to 17 5 CONB 5 6 COM 7 JG 17 8 LOADA 129 // f=f*a; 9 LOADB 128 10 MUL 11 SAVEC 129 12 LOADA 128 // a=a+1; 13 CONB 1 14 ADD 15 SAVEC 128 16 JUMP 4 // loop back to if 17 STOP Fatorial 5 a=1; f=1; while (a <= 5) { f = f * a; a = a + 1; }
Conceitos Básicos Memória
Conceitos Básicos Memória
Conceitos Básicos Dispositivos de Entrada e Saida
Conceitos Básicos Barramentos
Conceitos Básicos Conceitos de SOProcessosDeadLocksGerenciamento da MemóriaArquivosSegurançaShell
Conceitos Básicos Processos Processo é um programa em execução.
Conceitos Básicos DeadLock
Conceitos Básicos DeadLock 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
Conceitos Básicos Gerenciamento de Memória Gerenciamento de Memória RedHat
Conceitos Básicos Entrada e Saída Normalmente Drivers.
Conceitos Básicos Arquivos Arquivo:Blocos de informações gravadas em algum tipo de armazenamento, normalmente persistente.
Conceitos Básicos Shell Shell:Interface do SO para recebimento de comandos.Ex: Bash, Ksh, Prompt Dos, Etc.
Conceitos Básicos Segurança • Segurança em FS- Segurança no Kernel- Segurança na Rede- Segurança em Processos
Conceitos Básicos System Calls (Chamadas de Sistema)
Conceitos Básicos Chamadas de (ao) SistemaGerenciamento de ProcessosGerenciamento de ArquivosGerenciamento de Sistema de Diretorio e ArquivosOutras Estudaremos o padrao POSIX
Conceitos Básicos Chamadas de Sistema - Processos
Conceitos Básicos Chamadas de Sistema - Arquivos
Conceitos Básicos Chamadas de Sistema – Diretório e Arquivo
Conceitos Básicos Chamadas de Sistema – Diversas
Conceitos Básicos Estruturas de Sistemas Operacionais • Sistemas Monolíticos- Sistemas de Camadas- Maquinas Virtuais- Exonúcleos- Modelo Cliente-Servidor
Conceitos Básicos Estruturas de Sistemas Operacionais • Sistemas Monolíticos- Sistemas de Camadas- Maquinas Virtuais- Exonúcleos- Modelo Cliente-Servidor
Duvidas? ricardi@gmail.com