arquitectura de um linux
DESCRIPTION
Linux inside-out. Filosofia UNIX, conceitos principais e arquitectura.TRANSCRIPT
![Page 1: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/2.jpg)
SumárioSumário
O que é o LinuxO que é o Linux
Filosofia UNIXFilosofia UNIX
Conceitos baseConceitos base
ArquitecturaArquitectura
![Page 3: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/8.jpg)
REGRA #2REGRA #2
Escreve programas que trabalhem Escreve programas que trabalhem bem juntos.bem juntos.
![Page 9: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/10.jpg)
Há três conceitos importantes...Há três conceitos importantes...
![Page 11: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/11.jpg)
UtilizadoresUtilizadores
![Page 12: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/12.jpg)
ProcessosProcessosFicheirosFicheiros
ee
![Page 13: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/13.jpg)
UtilizadoresUtilizadores
rootrootum utilizador para cada serviçoum utilizador para cada serviço
e... e... os humanosos humanos
![Page 14: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/15.jpg)
![Page 16: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/16.jpg)
![Page 17: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/21.jpg)
ArquitecturaArquitectura
KERNELKERNELLIBCLIBC
APLICAÇÕESAPLICAÇÕES
![Page 22: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/22.jpg)
![Page 23: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/24.jpg)
APLICAÇÕESAPLICAÇÕES
![Page 25: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/25.jpg)
![Page 26: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/26.jpg)
![Page 27: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/28.jpg)
![Page 29: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/29.jpg)
![Page 30: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/31.jpg)
![Page 32: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/32.jpg)
![Page 33: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/33.jpg)
![Page 34: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/34.jpg)
![Page 35: Arquitectura De Um Linux](https://reader034.vdocuments.pub/reader034/viewer/2022051608/54593d20af79594e128b4eb0/html5/thumbnails/35.jpg)