O documento fornece um resumo da história do sistema operacional Mac OS X, começando com seu surgimento em 1984 e descrevendo suas principais versões ao longo do tempo, incluindo detalhes técnicos sobre sua arquitetura.
2. Introdução
O Macintosh Operating System, mais conhecido como Mac OS, é o sistema
operacional proprietário dos computadores Macintosh baseado em um kernel Unix
titulado de OpenDarwin e desenvolvido pela empresa norte americana Apple Inc.
O projeto Macintosh começou em 1979 com Jef Raskin, funcionário da Apple que
previu um computador fácil de usar voltado para o consumidor médio.
3. História do Mac OS
Surgimento
O Mac OS foi lançado em conjunto aos
computadores Macintosh em 24 de
Janeiro de 1984, e foi o grande
responsável pela pela popularização de
um sistema operacional usar uma GUI
(Graphic User Interface) fazendo tudo
em analogia a um escritório real.
4. História do Mac OS
Surgimento
A princípio, o Mac OS era conhecido
apenas como System (System 1, System 2,
System 3....) E começou a ser chamado
por Mac OS a partir da sua versão 8. E
hoje, em sua versão mais recente, a 10.8
Mountain Lion, começou a ser chamado
por apenas OSX.
7. Principais Versões
System 1
Data de lançamento:
24 de Janeiro de 1984
Destaques:
Versão Inicial, responsável
pela popularização do
conceito GUI
System 1.1
Data de Lançamento:
5 de Maio de 1984
Destaques:
Versão de manutenção,
Comando Clean Up
8. Principais Versões
System 1
Data de lançamento:
System 2
Data de lançamento:
24 de Janeiro de 1984
Abril 1985
Destaques:
Destaques:
Localizador Update:
Introduzido várias
pastas, Comando de
"Shut Down“ e
instalação de um
"MiniFinder" podendo
rapidamente abrir
qualquer das aplicações
escolhidas.
Versão Inicial, responsável
pela popularização do
conceito GUI
System 1.1
Data de Lançamento:
5 de Maio de 1984
Destaques:
Versão de manutenção,
Comando Clean Up
9. Principais Versões
System 2
Data de lançamento:
System 2.1
Data de lançamento:
Abril 1985
Setembro de 1985
Destaques:
Localizador Update:
Introduzido várias
pastas, Comando de
"Shut Down“ e
instalação de um
"MiniFinder" podendo
rapidamente abrir
qualquer das aplicações
escolhidas.
Destaques:
Suporte para o Hard Disk
20
System 3
Data de lançamento:
16 de Janeiro de 1986
Destaques:
Introduzino no novo
modelo do Mac, o
Macintosh Plus
10. Principais Versões
lançamento:
ues:
ador Update:
zido várias
Comando de
own“ e
ão de um
nder" podendo
ente abrir
r das aplicações
das.
System 2.1
Data de lançamento:
Setembro de 1985
Destaques:
Suporte para o Hard Disk
20
System
System 44
Janeiro de 1987
Janeiro de 1987
System
System 55
Outubro de 1987
Outubro de 1987
System 3
Data de lançamento:
System
Syste 6 6
16 de Janeiro de 1986
Abril de 1988
Abril de 1988
Destaques:
Introduzino no novo
modelo do Mac, o
Macintosh Plus
System
System 77
13 de Maio de 1991
13 de Maio de 1991
11. Principais Versões
lançamento:
de 1985
ues:
para o Hard Disk
System 4
Janeiro de 1987
System 5
Outubro de 1987
lançamento:
Sstem 6
ro de 1986
Abril de 1988
ues:
no no novo
do Mac, o
h Plus
System 7
13 de Maio de 1991
System 7.6
A última versão do System 7, foi a
última
a ser chamada de System e a
última versão a usar a arquitetura
Lançado também teve
Motorola 68k. Masno dia 26 de julho de 1997,
uma versão adaptadarepresentou a maior
Mac OS 8 para a
proximareformade processadores trabalhava
geração no sistema, já
que iria comportar os Macs, o
nativamente com os processadores
PowerPC, porém apresentava
algumasPowerPC e com o novo sistema de
falhas.
8
arquivos HFS Plus.
o
12. Principais Versões
8
Lançado no dia 26 de julho de 1997, o
Mac OS 8 representou a maior
reforma no sistema, já trabalhava
nativamente com os processadores
PowerPC e com o novo sistema de
arquivos HFS Plus.
13.
14. Principais Versões
Surgimento
Mac OS X é a atual geração de Sistemas
Operacionais dos computadores
Macintosh. Lançada em 24 de março de
2001, a nova versão do sistema chama a
atenção por sua interface bonita e o
curioso fato de cada versão ser intitulada
com o nome de um felino.
15. Principais Versões
Surgimento
O Mac OS X é um sistema operacional
baseado em Unix. E em linhas grossas,
o sistema é uma combinação do Darwin
(Um sistema operacional derivado do
Microkernel Mach) e da renovada GUI
chamada de Aqua. Tudo sobre o Kernel
XNU (X-is-Not-Unix).
16. Principais Versões
Mac OS X 10.1 – Puma
Lançado como uma macroatualização
gratuita da versão 10.0 – 25 de outubro de 2001
Mac OS X 10.2 – Jaguar
Lançado em 23 de agosto de 2002 em
disco pelo preço de US$ 129
Mac OS X 10.3 – Panther
Lançado dia 24 de Outubro de 2003
também como disco por US$ 129
17. Principais Versões
Mac OS X 10.1 – Puma
Lançado como Mac OS X 10.4
uma macroatualização
gratuita da versão 10.0 – 25 de outubro de 2001
Tiger
29 de Abril de 2005
Mac OS X 10.2 – Jaguar
Lançado quinta versão do Mac OS,em
Sendo a em 23 de agosto de 2002 o
disco pelo preço de US$ 129
Tiger foi o que trouxe mais mudanças e
novidades desde a versão 10.0. O Tiger
também foi o primeiro a ter uma versão
que usa arquitetura Intel. Vendendo
Mac OS X 10.3 –foi o Mac2OS
Panther
milhões de cópias, o Tiger
Lançado dia 24 de Outubro de 2003
mais bem sucedido até então.
também como disco por US$ 129
18. Principais Versões
Lançado em 26 de Outubro de
2007,
30 meses após o Tiger, o Lepard
é a evolução do Mac OS que mais
se aproxima do que temos hoje.
Com a melhoria da GUI Aqua e
com mais de 300 alterações e
melhorias, abrangendo desde o
núcleo, ferramentas de
desenvolvimento, indo até a
interface, o Leopard sem dúvida
representa o maior redesenho do
Mac OS.
19. Principais Versões
Com seu lançamento em 2009,
o Snow Leopard representa
mais uma otimização do
Leopard do que uma mudança
do sistema. Sendo compatível
apenas com os Macs da linha
intel, o Snow Leopard é o pilar
do sistema para quem deseja
fazer uma atualização posterior.
20. Principais Versões
Lançado no dia 29/7/2011, o 2009,
Com seu lançamento em Lion
chegou em forma de atualização do
o Snow Leopard representa
Snow Leopard por U$29. O Lion
mais uma otimização do
trouxe 250 novos recursos, mas
Leopard dosão recursos de
basicamente que uma mudança
do sistema. Sendoproporcionam
acessibilidade e que compatível
apenas com osdo usuário com o
maior interação Macs da linha
sistema, Snowpor exemplo, o pilar
intel, o como Leopard é a
otimização dos comandosdeseja
do sistema para quem multigestos, o Launchpad e o Mission
fazer uma atualização posterior.
Control.
21. Principais Versões
Lançado no dia 25 de Julho de 2012
e agora sendo chamado apenas de
OS X, o Mountain Lion assim como
o Lion veio em forma de
atualização e veio com a proposta
de aumentar a integração com os
dispositivos móveis da Apple.
23. Arquitetura do Mac OS
XNU Geral
Visão
X-is-Not-Unix
Tecnicamente falando, pode-se dizer que o
Mac OS é apenas um ambiente voltado
para o usuário final do Macinstosh que
soma o Aqua GUI e o Darwin.
BSD
Darwin é um sistema operacional
completo
do qual o ambiente
Mach Open Source I/O KIT
Mac OS trabalha em cima e também é
desenvolvido pela Apple Inc. O Dawin
trabalha em cima do kernel híbrido XNU
e suporta as plataformas Power PC, Intel e
ARM
24. Arquitetura do Mac OS
XNU
XNU
BSD
Mach
X-is-Not-Unix
I/O Kit
Carga do Kernel
Mac OS X não utiliza a BIOS para se iniciar, mas, sim, a EFI. Ao ligar o seu Mac, o
código do OpenFirmware é executado, informações sobre o hardware são coletadas e
o hardware é inicializado. Após isso, o sistema operacional é selecionado para o boot,
podendo também surgir uma tela para que o usuário escolha a ação que deseja
tomar.
BSD
Mach
I/O KIT
Uma vez que o OS X tenha sido selecionado, o controle do computador passa para o
arquivo /System/Library/CoreServices/BootX, que é o bootloader que carregará o
kernel XNU.
25. Cocoa
Arquitetura do Mac OS
Carbon
Java
XNU
BSD
Mach
I/O Kit
Carga do Kernel
Mac OS X não utiliza a BIOS para se iniciar, mas, sim, a EFI. Ao ligar o seu Mac, o
código do OpenFirmware é executado, informações sobre o hardware são coletadas e
o hardware é inicializado. Após isso, o sistema operacional é selecionado para o boot,
podendo também surgir uma tela para que o usuário escolha a ação que deseja
tomar.
Darwin
Uma vez que o OS X tenha sido selecionado, o controle do computador passa para o
arquivo /System/Library/CoreServices/BootX, que é o bootloader que carregará o
kernel XNU.
26. Arquitetura do Mac OS
Características do XNU
• Considerado como robusto e estável
X
N
U
• O BSD proporciona multitasking preemptivo, uso de thread, multiprocessamento
simétrico e gerenciamento de dados com ajuste dinâmico de prioridades. Assim
como divisão suave e justa dos recursos entre os usuários, mesmo com muita carga
no sistema
• Trabalha com proteção de memória
• Kernel bem documentado. Existe documentação para criar qualquer
componente do SO (assim como boas práticas). Existe até o código fonte da
maior parte do kernel
• Muito flexível por causa das Kernel Extensions, Kexts, assim como Drivers para o
Windows. Suporte a diversos file systems. Suporte a muitos programas já escritos para
Unix
27. Arquitetura do Mac OS
Gerência dos processos
X
N
U
Um processo é um programa em execução. Para cada processo de saída. Um
• Um processo pode terminar pela execução de um sistema é atribuído um
valor único chamado de Identificador de Processoprocesso filho usando sistema
processo pode suspender a execução qualquer (PID). Este valor é usado pelo
kernel do sistema. O kernel notifica o usuário quando o status do processo é
de espera, que retorna o PID e retorna o status de processo terminado.
alterado.
O sistema operacional FreeBSD suporta multiprogramação, ou seja, a ilusão
• São providos recursos para garantir a consistência para acessar dados que estão
de execução simultânea de múltiplos processos ou programas.
compartilhados entre os processos. Cada tarefa ou thread em execução é um
processo. No contexto do XNU processo consiste em um estado de baixo-nível
incluindo espaço de endereçamento e ambiente de execução. No kernel, cada
processo inclui parâmetros de escalonamento, recursos de controle e informação
para identificação.
• O kernel controla a provisão de serviço para o processo. Usuários podem criar
processos, controlar os processos em execução, e receber notificações quando os
processos em execução sofrem mudanças.
28. Arquitetura do Mac OS
Ciclo de vida do processo
Espera
Processo
Pai
X
N
U
Processo
Pai
Deslocador
Processo
Filho
Execução
Processo
Filho
Saída
Processo
Zumbi
O kernel cria um processo através da duplicação do contexto de outro processo. O novo processo é chamado
de processo filho do original processo pai, utilizando o deslocador de chamadas do sistema. O
deslocador chamada retorna duas vezes: uma no processo pai, onde o valor de retorno é o identificador do
processo filho, e uma vez que no processo de criança, onde o valor de retorno é 0. A relação pai-filho induz
uma estrutura hierárquica no conjunto de processos no sistema. As partes do processo novos e todos os seus
recursos pai, como descritores de arquivos, manipulação de sinal de status, e layout de memória.
29. Arquitetura do Mac OS
Escalonamento
•O escalonador de processos do Mac OS do é derivado do
Normal: Prioridade das aplicações normais X usuário.
X
N
U
escalonador OSFMK, porém várias modificações foram feitas
•para o tratamento de interatividade no projeto de escalonador
Sistema: Prioridade das aplicações do sistema, com prioridade superior as
threads normais de usuário.
base.
Assim como o kernel do FreeBSD (5.0BSD), o escalonador de
• Kernel: Classe reservada para threads em espaço de kernel que necessitam
processos do Mac OS X escalona os processos baseado numa
rodar
variante prioridade superior às threads de com realimentação,
Com uma do algoritmo de múltiplas filassistema.
porém divide as filas de prioridades em 4 grupos de processos,
•agrupados de acordo com suas características.
Tempo real Threads nas quais a prioridade está baseada na necessidade de
reservar uma fração pré-definida de ciclos de clock, independente de outras
atividades sendo executadas no sistema.
30. Arquitetura do Mac OS
Gerenciamento da memória
X
N
U
Memória
O gerenciamento de memóriapelo Mac OS X memória nunca irá para
É usada do OS X. Essa é um pouco
Residente
disco.
diferente do Windows.
No windows você tem a memória usada peloque estão abertos. Caso
É usada pelos programas sistema
Memória
operacional, pelos programas e a memória livre.
seja necessário ela pode ser paginada em disco.
Ativa
No OS X existe uma quarta categoria.nãomemória inativa.
É a memória que A está sendo usado.
Memória
Livre
Memória
Inativa
É a memória que foi usada pelo programa mas não
foi liberada. Apenas marcada como inativa
31. Arquitetura do Mac OS
Gerenciamento da memória
Como funciona essa memória inativa?
X
N
U
33. Arquitetura do Mac OS
Memoria Virtual
Cada processo tem seu próprio conjunto (32 bits ou 64 bits) de
espaço de endereço virtual. Para processos de 32 bits, cada
processo tem um espaço que pode endereçar dinamicamente
chegando ao limite de 4GB. Para processos de 64 bits, pode
endereçar até o limite de 18 exabytes.
• Subsistema VM (Virtual Memory)
O subsistema VM do kernel mach consiste do módulo machinedependent phisical map (pmap) e outros módulos independentes
para gerenciar a estrutura de dados, tais como os Virtual Address
Space Maps (VM maps).
34. Arquitetura do Mac OS
Paginadores Internos
• Kernel inclui 3 paginadores internos:
UBC (Unified Buffer Cache)
X
N
U
Consitui paginador padrão (Anônimo)
• O um conjunto de páginas para armazenar (caching)
o conteúdo dos arquivos e aDispositivos do espaço de
• O paginador para porção anônima
endereços. O exemplo mais vnode (pode mapear um processo para um
• O paginador para comum é a memória
dinamicamente
objeto em qualquer tipo de sistema de arquivo. Desta forma, uma chamada
de sistema não precisa entender qual objeto está sendo
manipulado, somente como fazer uma chamada orientada à objetos
usando a interface vnode)
O Kernel tratam operações de entrada e saída sobre regiões da
memória. Os paginadores se comunicam com o subsistema MachVM utilizando interfaces UPL e derivadas do paginador do Mach
35. Arquitetura do Mac OS
Swap
X
N
U
Ao contrário da
maioria dos sistemas
Sistema
Operacional
Unix, o Mac OS não
utiliza uma prépartição Swap para
Espaço
memória virtual. Em
de
vez disto ele usa todo
Usuário
o espaço disponível na
máquina da partição
de boot
Processo
P1
1- Swap out (P1)
2- Swap in (P2)
Processo
P2
36. Arquitetura do Mac OS
Sistemas de arquivos
O HFS+ (Hierarchical File System Plus) lançado 1998, é o nome do sistema
de arquivos padrão do Mac OS X
X
N
U
Conhecido como sistema de arquivos Mac OS X Extended, e supera o seu
antecessor em vários quesitos: pode trabalhar com endereços de bloco de
arquivos de até 32bits, contra 16bits do sistema anterior; aceita nomes de
arquivos com até 255 caracteres, em vez de apenas 31; tem formato de nome
de arquivo Unicode, em vez do já antiquado MacRoman; possibilidade de
lidar com arquivos de até 8EB (Exabytes) – um Exabyte equivale a mil
Petabytes, um milhão de Terabytes ou um bilhão de Gigabytes. Esse é um
dos motivos que faz os editores de vídeo gostarem tanto de usar um produto
Apple.
37. Arquitetura do Mac OS
Alocação de Arquivos
X
N
U
Dentre todas as estruturas de arquivos HFS + dados do
sistema, de alocação de arquivos é o mais crítico. A File
Allocation é responsável por registrar os detalhes de alocação
de blocos, como quer que eles são livres ou em uso.
Há vários sectores que se combinam para criar arquivo HFS +
volumes do sistema e, em seguida, bloco de alocação, o
grupo de um ou mais setores, é criado.
O número de blocos de alocação poderia diferentes
conforme o tamanho do volume HFS Plus.
38. Arquitetura do Mac OS
Gerência de Espaço Livre
Qual espaço livre gerenciar?
• O disco é organizado em setores;
X
• O arquivo é organizado em registros (HFS+)
– O registro contém (endereços de) blocos.
N
U
– Há uma tradução registros / blocos
• Blocos são um múltiplo de setores
– Escolha nem sempre fácil!
• Um bloco pode ter um tamanho fixo ou variável.
• Gerenciamento de espaço livre envolve 2 problemas:
– Decidir o tamanho de um bloco;
– Administrar/recuperar os blocos livres/ocupados no disco
39. Arquitetura do Mac OS
Preempção
X
Preempção do kernel XNU é bastante simples. A idéia
básica é que a CPU deve ser sempre fazendo o trabalho
mais alta prioridade disponível. Bem, isso é o ideal, pelo
menos.
N
Há um par de casos em que a despesa de alcançar o
ideal, não vale a pena ser perfeito.
U
40. Arquitetura do Mac OS
Process Block Control (PCB)
X
N
U
Cada processo é representado no Mac OS por um bloco de controle de processo
(PCB - process control block), também chamado de bloco de controle de tarefa. Ela
contém muitas informações associadas a um processo específico, incluindo
•
listado do processo: O estado pode ser novo, pronto, em execução, em
espera, suspenso, e assim por diante.
•
Contador do programai O contador indica o endereço da próxima
instrução a ser executada para esse processo.
•
Registradores de CPU: Os registradores variam em número e tipo,
dependendo da arquitetura do computador (Power PC ou Intel). Incluem
acumuladores, registradores de índice, ponteiros de pilha e registradores de uso
geral, além de informações de código de condição. Juntamente com o contador do
programa, essas informações de estado devem ser salvas quando ocorre uma
interrupção, para permitir que O processo continue corretamente depois disso.
41. Arquitetura do Mac OS
Principais características:
• Interface gráfica intuitiva e bonita
X
N
U
• Maior segurança
• Maior estabilidade
• Muito usado por pessoas que trabalham com imagem, audio e vídeo
E por que ele é tão usado
por esses profissionais?
42. Arquitetura do Mac OS
User Experience
Aqua
Dashboard
Spotlight
Finder
Graphic and Media
X
N
Core Audio
Core Image
Core Vídeo
Application Framework
Cocoa
Carbon
Java
U
Darwin
XNU
BSD
Mach
I/O Kit
43. Arquitetura do Mac OS
Graphic and Media
Core Audio
X
N
U
Core Image
Core Vídeo
Core Audio: Refere-se ao sistema de serviços do Mac OS X que agiliza o
processo de desenvolvimento que querem incorporar o áudio de seus
produtos
Core Image: faz com que a placa de vídeo trate das necessidades de imagem
e restituição do computador, para que os gráficos sejam apresentados o mais
rápido possível e o computador funcione de forma mais eficaz.
Core Vídeo: Aplica todos os benefícios de Core Image aos serviços de vídeo,
tais como o Quick Time
44. Aspéctos do Mercado
Marketing Share Mundial
http://marketshare.hitslink.com
Relatório de 21/10/12
Outros
Linux
Android
1%
iOS
2%1%
6%
Mac OS
6%
Windows
84%
Windows
Mac OS
iOS
Android
Linux
Outros
45. Aspéctos do Mercado
América do Sul
Africa
Asia
Europa
Oceania / Australia
America do Norte
0%
2%
4%
6%
8%
Market Share Continental
America do Norte
Oceania / Australia
Europa
Asia
10%
Africa
12%
América do Sul
14%