Sistemas Operacionais: FreeBSD e Linux

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais Gerência de Processador
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Noções de Sistemas Operacionais
Sistemas operacionais
Sistemas operacionais
Profa. Priscila Facciolli
Gerência de Processos no Linux Prof. Antônio Rogério Ramos Pelo menos esse, fui eu que fiz!!!
Sistemas Operacionais
Gerenciamento de memória
Processos no Unix e Linux
Escalonamento Linux.
Arquitetura de Sistemas Operacionais
Sistemas Operacionais
SSC SISTEMAS OPERACIONAIS I Aula 12 – Gerenciamento de Memória 3
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Estudo de Caso 1: UNIX e LINUX
Concepts and Capabilities
Estruturas de Controle
SVCs para Controle de Processos no Unix
Arquitetura de Computadores
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Threads.
Sistemas Operacionais I
Arquitectura de Computadores II
Sistemas Operacionais Gerenciamento de Memória
Sistemas Operacionais Aula 4
SISTEMAS OPERACIONAIS
Unidade 1-1 Processos e Threads
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Gerência de Memória Fundamentos Swapping Alocação Contígua de memória
SISTEMAS OPERACIONAIS
Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia de Telecomunicações Sistemas de Computação para Telecomunicações Autores:
Gerência de Memória Virtual
SISTEMAS OPERACIONAIS
Sistema Operacional FreeBSD.
Processos.
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
SISTEMAS OPERACIONAIS I
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
Capítulo 8: Memória principal
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
SISTEMAS OPERACIONAIS I
Escalonamento de Processos e Threads
Prof. Werley T. Reinaldo 26/05/  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;
8088 Assembly Software Básico Mitsuo Takaki.
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Sistemas de Arquivos- Tipo de arquivos – Cap
Gerenciamento de Memória
SISTEMAS OPERACIONAIS MACH EPOS
OpenBSD * A sigla BSD “ Berkeley Software Distributions”, na verdade é referente ao UNIX desenvolvido pela Universidade da Califórnia, em Berkeley; * Criado.
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Aula – Sistemas Operacionais
Elementos de Informática
Administração de Sistemas Operacionais 1 -Windows
Sistemas Operacionais
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Sistemas Operacionais Linha de tempo Microsoft Marcelo Josué Telles Timeline and File Systems of Microsoft Operations System.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

Sistemas Operacionais: FreeBSD e Linux Daniel Ribeiro Juliana Lee

História do FreeBSD BSD, ou "Berkeley Software Distribution", surgiu como um conjunto de ‘patches’ e ferramentas para o Unix feitos pelo Computer Systems Research Group (CSRG) da Universidade de Berkeley na Califórnia. Quando o CSRG foi extinto, grupos de seus ex membros continuaram desenvolvendo o código. Um desses grupos desenvolveu o 386BSD, que rodava na plataforma Intel i386. Em 1993, este projeto se dividiu em outros dois: o FreeBSD e o NetBSD. Em 1996, um projeto posterior, o OpenBSD, originou-se à partir do NetBSD.

Diferenças entre os BSDs O FreeBSD tem como propósito principal ter alta performance e facilidade de uso para usuários finais. É o BSD mais utilizado. A principal preocupação do NetBSD é portabilidade. O OpenBSD tem enfoque em questões de segurança e correção formal. BDS não livres: Darwin (usado no Mac OS X) e BSD/OS (é bastante similar ao FreeBSD).

História do Linux 1991 - Surgiu a 1ª versão como um clone do UNIX, com 9.300 linhas em C e 950 linhas em Assembler. 1996 - 2ª versão, com 470.000 linhas em C e 8.000 linhas em Assembler, suporte para arquiteturas de 64 bits, novos protocolos e várias outras características. Apesar de livre, a GPL (GNU Public License) é maior que a Licença do Windows 2000 da Microsoft e especifica o que o usuário pode ou não fazer com o código.

Processos Ciclo de vida igual ao Unix. Os processos são organizados em grupos. São usados para controlar acesso a terminais e prover meios de distribuição de sinais para processos correlatos. Jobs = processos de um mesmo grupo. Filhos de um processo herdam o grupo do pai. Um processo pode alterar o seu grupo, ou o de seus descendentes, mas a alteração deve seguir algumas regras.

Processos (cont.) Pipe: processos envolvidos sofrem um fork e estes são colocados num mesmo grupo. Grupos podem ser todos manipulados juntos por alguns mecanismos. Sessões: agrupamentos de grupos de processos Principais usos das sessões: criar ambientes isolados para um daemon e seus filhos, e coletar de uma vez o shell login e os jobs que esta shell cria.

Processos Processos e Threads Executável, Dormente, Zumbi, Parado No Linux, as propriedades de um processo são agrupadas em: – identidade do processo - PID, Credenciais que definem os direitos de acesso a ficheiros e outros recursos do sistema – ambiente (environment) - Composto por 2 vetores de apontadores para caracteres – contexto - É o estado de um programa em execução num dado instante de tempo (muda constantemente)

Escalonamento de processos Todo processo possui uma prioridade de escalonamento a ele associada: quanto maior o número, menor a prioridade. Processos fazendo I/O de disco ou outras funções importantes possuem prioridades menores do que “pzero” e não podem ser mortos por sinais. Processos de usuários comuns possuem prioridades positivas, e portanto são menos propensos a rodar do que qualquer processo do sistema. Processos de usuário podem setar sua precedência um sobre ou outro, através do comando nice. Quanto mais tempo de CPU um processo acumula, menor (mais positiva), sua prioridade se torna.

Escalonamento de processos Linux usa dois algoritmos de escalonamento: – Um para processos interativos (time sharing) – Um para processos de tempo real (real time) - FIFO - Round Robin Cada processo tem o campo counter que é número de jiffies que lhe restam para correr. É decrementado a cada tick do relógio. Quando chega a zero, é chamado o escalonador. O escalonador examina os descritores de todos os processos prontos, calculando o goodness para cada um; escolhe para correr o processo que tiver o goodness mais alto.

Memória Virtual Esquema de paginação simples. Compilação padrão seta a prepaginação (raramente não se habilita esta opção). Reposição: Usa esquema FIFO 2 chance modificado. Libera páginas marcadas livres (em fila). Se o frame não estiver marcado livre e não estiver em uso (ex: I/O está sendo feito), a entrada na tabela de páginas que referencia o frame é buscado. Se for ‘inválida’, a página é adicionada à fila de páginas livres. Senão, a página é marcada ‘inválida’.

Memória Virtual (cont.) Se o bit de referência existir, ele é usado ao invés de tais marcações. Existem verificações para garantir que o número de páginas válidas apontadas por um processo não fica num nível baixo. Existe um mecanismo que um processo pode limitar a quantidade de memória principal que ele utiliza. O padrão é que o segmento de dados de cada processo seja compartilhado e somente para leitura

Memória Memória Real e Virtual Swapping Tabela de segmentos converte o endereço virtual, composto pelo par <nº do segmento, deslocamento>, num endereço físico. Ponto importante: as páginas virtuais só são copiadas para memória física quando são referenciadas.

Memória (cont.) Páginas: Estratégias de escolha - Demanda Estratégias de colocação - first-fit / best-fit / worst-fit / random-fit Estratégias de reposição - Randômico, FIFO, LRU, LFU, NUR, WS

Abstract model of Virtual to Physical address mapping

Sistemas de Arquivos Alguns sistemas de arquivos do FreeBSD possuem dois tamanhos de blocos para inodes sem indiretos. Todos os blocos excepto o último possuem o mesmo tamanho. O último bloco é um múltiplo apropriado de um menor tamanho de fragmento (ex 1k) apropriado para completar o arquivo. Ex: um arquivo de 18,000 bytes teria dois blocos de 8K e um fragmento de 2K (que não seria completo totalmente). Muitos arquivos pequenos – tamanho de framento pequeno. Tamanho de bloco / tamanho de fragmento: no máximo 8:1. Menor tamanho de um bloco: 4K.

Sistemas de Arquivos Muito flexível e capaz de coexistir com muitos SO, já que suporta 15 file systems: ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs and ufs, além de outros que serão adicionados com o tempo. 1992 – Surge o 1º file system designado especialmente para Linux, o Extended File system, ou EXT. 1993 – Surge o Second Extended File system, ou EXT2. Cada arquivo no EXT2 file é descrito por um simples inode e cada inode tem um único nº que o identifica.

Sistemas de Arquivos EXT2 Inode

Sistemas de Arquivos EXT2 Inode (cont.) mode – dividido em 2 pedaços: o que este inode descreve e as permissões que usuários tem para ele. Owner Information – tipo de usuário e grupo a que os donos deste arquivo ou diretório pertencem. Size – o tamanho do arquivo em bytes. Timestamps – a hora em que o inode foi criado e a útlima hora em que foi modificado. Datablocks – ponteiros para os blocos que contém os dados que este inode está descrevendo.

Fim