Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin

Slides:



Advertisements
Apresentações semelhantes
TRATAMENTO DE ARQUIVOS EM C
Advertisements

Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais Aula II
Python: Entrada e Saída
Prof.: Sergio Pacheco Linguagem PHP Prof.: Sergio Pacheco 1.
Sistema Operacional Introdução
Noções de Sistemas Operacionais
1 Exercício prático 7 Private Sub cmdExecutar_Click() If optLer Then frmLer.Show Else frmEscrever.Show End If End Sub Private Sub cmdSair_Click() End End.
Sistemas operacionais
Arquitetura e organização de computadores
Informática Aplica Prof.: Bruno Rafael de Oliveira Rodrigues.
Profa. Priscila Facciolli
Assembly MAC-1 Implementação de ciclos Ciclo ‘while’ // Em Java : ...
Sistemas Operacionais
Processos no Unix e Linux
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Arquitetura de Sistemas Operacionais
Sistemas Operacionais
SSC SISTEMAS OPERACIONAIS I
SSC SISTEMAS OPERACIONAIS I
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
SSC SISTEMAS OPERACIONAIS I Aula 4 – Conceitos Básicos
Introdução à Informática
Modificadores de tipos e Arquivos
“Programação de Periféricos”
Estudo de Caso 1: UNIX e LINUX
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
UNIX.
Arquivos. 2 Namespace System.IO Toda as classes relacionadas com dispositivos de entrada e saída encontram-se em System.IO Incluir no início do programa:
09/03/10 20:13 Claudio de Oliveira – 1/21.
Tratamento de Ficheiros
Sistemas Operacionais SISTEMA DE ENTRADA E SAÍDA
Revisão da Linguagem C.
Sistemas Operacionais
Prof. André Leon S. Gradvohl, Dr.
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Linguagem de Montagem Vetores.
O que é Sistema Operacional?
PROGRAMAÇÃO ESTRUTURADA II
DAVID ANDERSON CARDOSO DANTAS
Linguagem de Montagem PROVA 4 – 3/12.
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin
Processo Entidade dinâmica e efêmera
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin
Sistemas Operacionais
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Introdução aos Sistemas Operacionais
Sistemas Operacionais
Introdução a Sistemas Operacionais. SISTEMAS COMPUTACIONAIS HARDWARESOFTWARE USUÁRIOS.
Profa. Patrícia A. Jaques
Sistemas Operacionais
2.5 Processos no Minix 1. gerenciamento de processos:
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Programação de Computadores I – Arquivos
Infra-Estrutura de Software
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner FATEC-PB.
Transcrição da apresentação:

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 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)

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 Embarcados SOs Videogames História do Unix História do Windows Distribuições Linux Histórico principais falhas de segurança em SO

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

Conceitos Básicos

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.

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) ; 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)

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) Microprocessadores Enfim... PCs... MSDos, Windows, Mac, Linux...

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

Conceitos Básicos Processador

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

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 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

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

Conceitos Básicos Barramentos

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

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

Conceitos Básicos DeadLock

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

Gerenciamento de Memória 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

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

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

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

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

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

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.

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

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

Duvidas? ricardi@gmail.com