arquitectura de um linux

35
  Arquitectura de um Linux Arquitectura de um Linux 1 de Abril de 2009, Sapo Sessions 1 de Abril de 2009, Sapo Sessions Filosofia, Conceitos e Arquitectura Filosofia, Conceitos e Arquitectura Miguel Mascarenhas Filipe Miguel Mascarenhas Filipe

Upload: sapo-sessions

Post on 02-Nov-2014

2.445 views

Category:

Technology


0 download

Tags:

DESCRIPTION

Linux inside-out. Filosofia UNIX, conceitos principais e arquitectura.

TRANSCRIPT

Page 1: Arquitectura De Um Linux

  

Arquitectura de um LinuxArquitectura de um Linux

1 de Abril de 2009, Sapo Sessions1 de Abril de 2009, Sapo Sessions

Filosofia, Conceitos e ArquitecturaFilosofia, Conceitos e Arquitectura

Miguel Mascarenhas FilipeMiguel Mascarenhas Filipe

Page 2: Arquitectura De Um Linux

  

SumárioSumário

O que é o LinuxO que é o Linux

Filosofia UNIXFilosofia UNIX

Conceitos baseConceitos base

ArquitecturaArquitectura

Page 3: Arquitectura De Um Linux

  

O que é um Linux ?O que é um Linux ?

Linux é um Sistema Operativo UNIXLinux é um Sistema Operativo UNIX

É software Open SourceÉ software Open Source

Linux é Linux é apenasapenas o núcleo ( o núcleo (kernelkernel))

Page 4: Arquitectura De Um Linux

  

O que é um SO UNIX?O que é um SO UNIX?

Criado em 1969 por Ken ThomsonCriado em 1969 por Ken Thomson(e outros da Bell Labs)(e outros da Bell Labs)

Multi TarefaMulti Tarefa

Multi UtilizadorMulti Utilizador

Page 5: Arquitectura De Um Linux

  

UNIX é ...UNIX é ...

… … SimplesSimples

O nome parodiava o O nome parodiava o MulticsMultics,,SO altamente sofisticado e complexo,SO altamente sofisticado e complexo,

desenhado por comité, que foi um fracasso. desenhado por comité, que foi um fracasso. (No qual Thompson também esteve envolvido)(No qual Thompson também esteve envolvido)

Page 6: Arquitectura De Um Linux

  

Filosofia UNIXFilosofia UNIX

É um conjunto de normas culturais e abordagens É um conjunto de normas culturais e abordagens filosóficas para o desenvolvimento de software...filosóficas para o desenvolvimento de software...

Page 7: Arquitectura De Um Linux

  

REGRA #1REGRA #1

Escreve programas que façam apenas Escreve programas que façam apenas uma coisauma coisa

mas que a façam bem feito.mas que a façam bem feito.

Page 8: Arquitectura De Um Linux

  

REGRA #2REGRA #2

Escreve programas que trabalhem Escreve programas que trabalhem bem juntos.bem juntos.

Page 9: Arquitectura De Um Linux

  

REGRA #3REGRA #3

Escreve programas que manipulemEscreve programas que manipulemstreamsstreams de texto, de texto,

pois esta é uma interface universal.pois esta é uma interface universal.

Page 10: Arquitectura De Um Linux

  

Há três conceitos importantes...Há três conceitos importantes...

Page 11: Arquitectura De Um Linux

  

UtilizadoresUtilizadores

Page 12: Arquitectura De Um Linux

  

ProcessosProcessosFicheirosFicheiros

ee

Page 13: Arquitectura De Um Linux

  

UtilizadoresUtilizadores

rootrootum utilizador para cada serviçoum utilizador para cada serviço

e... e... os humanosos humanos

Page 14: Arquitectura De Um Linux

  

FicheirosFicheiros

●Organizados numa única àrvore hierarquica.Organizados numa única àrvore hierarquica.●Existem vários tipos de ficheiros:Existem vários tipos de ficheiros:

● De dadosDe dados● Block devicesBlock devices● Character devicesCharacter devices● VirtuaisVirtuais

Page 15: Arquitectura De Um Linux

  

Page 16: Arquitectura De Um Linux

  

Page 17: Arquitectura De Um Linux

  

Controlo de AcessoControlo de Acesso

Aceder a → ficheirosAceder a → ficheirosQuem → processosQuem → processos

Em nome de → utilizadoresEm nome de → utilizadores

Page 18: Arquitectura De Um Linux

  

Permissões de FicheirosPermissões de Ficheiros

Cada ficheiro pertence a:Cada ficheiro pertence a:● Um utilizador,Um utilizador,● Um grupo.Um grupo.

Define permissões para:Define permissões para:● Leitura,Leitura,● Escrita,Escrita,● ExecuçãoExecução

Page 19: Arquitectura De Um Linux

  

ProcessoProcesso● Entidade de execução no SOEntidade de execução no SO

● Corre em nome de um utilizadorCorre em nome de um utilizador

(e portanto, com os previlégios desse utilizador).(e portanto, com os previlégios desse utilizador).

● Para comunicar com o exterior utiliza Para comunicar com o exterior utiliza

file descriptorsfile descriptors

● Existe uma relação de Pai-Filho entre processos.Existe uma relação de Pai-Filho entre processos.

● Os processos Os processos herdamherdam propriedades do seu pai propriedades do seu pai

Page 20: Arquitectura De Um Linux

  

pipe(); fork(); exec();pipe(); fork(); exec();

pipe() → canal de comunicação bidireccionalpipe() → canal de comunicação bidireccional

fork() → criação de processo filhofork() → criação de processo filho

(igualzinho ao pai)(igualzinho ao pai)

exec() → executar um programaexec() → executar um programa

Page 21: Arquitectura De Um Linux

  

ArquitecturaArquitectura

KERNELKERNELLIBCLIBC

APLICAÇÕESAPLICAÇÕES

Page 22: Arquitectura De Um Linux

  

Page 23: Arquitectura De Um Linux

  

GNU LIBCGNU LIBC

Interface com as Interface com as System CallsSystem Calls do Linux do LinuxImplementa Implementa interfacesinterfaces normalizadas: normalizadas:●POSIXPOSIX●C99C99●SysV UNIXSysV UNIX●BSDBSD

Page 24: Arquitectura De Um Linux

  

APLICAÇÕESAPLICAÇÕES

Page 25: Arquitectura De Um Linux

  

Page 26: Arquitectura De Um Linux

  

Page 27: Arquitectura De Um Linux

  

Layout de Linux na ConsolaLayout de Linux na Consola

KernelKernelmount da raiz: /mount da raiz: /InitInit

ShellShellSistema de arranque:Sistema de arranque:

Lançamento de daemons (uids)Lançamento de daemons (uids)Login managerLogin manager

User login → shell (uid)User login → shell (uid)

Page 28: Arquitectura De Um Linux

  

Page 29: Arquitectura De Um Linux

  

Page 30: Arquitectura De Um Linux

  

Layout de Linux Layout de Linux GráficoGráfico

Linux de ConsolaLinux de Consola

XserverXserver (programa servidor gráfico) (programa servidor gráfico)

Login managerLogin manager

Gestor de Janelas (Gestor de Janelas (Window ManagerWindow Manager))

Ambiente DesktopAmbiente Desktop

Page 31: Arquitectura De Um Linux

  

Page 32: Arquitectura De Um Linux

  

Page 33: Arquitectura De Um Linux

  

Page 34: Arquitectura De Um Linux

  

Page 35: Arquitectura De Um Linux