Você está na página 1de 37

Mac OS

Sistemas Operacionais
Alunos: Cristiane Ribeiro Rocha Rhandy Rafhael de Carvalho Diego Costa Alves

Tpicos

Viso Geral Gerenciamento de Processos Gerenciamento de Memria Gerenciamento de Arquivos

Viso Geral Mac OS

Macintosh Operating System - padro dos computadores Macintosh produzidos pela Apple. Utilizao exclusiva em hardwares desenvolvidos pela prpria Apple. A Apple Computers (1976) fundada por Steven Wozniak e Steven Jobs. Surgiram aproximadamente na mesma poca que os PC's.

Viso Geral Mac OS


Verso atual - Mac OS X (Mac OS Ten). Foi o primeiro sistema grfico amplamente usado em computadores a usar cones para representar os itens do computador. Na sua dcima verso, o sistema foi remodelado como um todo, inclusive o ncleo que passou a ser baseado no do UNIX BSD.

Viso Geral

Power PC criada em 1991 (Intel, IBM, Motorola) - suporta tanto 32 quanto 64 bits, tem um design superescalar simplificado e suporta sistemas de multiprocessamento simtrico (SMP). Intel x86 - Em 2005, no entanto, a Apple anunciou que passaria a utilizar os mesmos processadores que equipam mquinas da plataforma PC, mudando para a plataforma x86.

Viso Geral

Apple precisou adicionar componentes de hardware e software que preveniriam o uso de seus produtos livremente. Uso de componentes como o EFI (Extended Firmware Interface) faz com que o sistema operacional tenha rotinas diferentes em seu boot loader para cada arquitetura, e o torna incompatvel com um PC comum dotado de BIOS.

Gerncia de Processos
Kernel

Criado a partir do sistema operacional 4.4BSD e do microkernel Mach 3.0 Considerado um ncleo hbrido em seu projeto, por possuir diferentes partes (monoltico e microkernel) interagindo na utilizao do sistema. Visto como um ncleo em camadas quando analisamos a interao entre os subsistemas.

Gerncia de Processos

Organizao do Sistema Operacional em kernel e microkernel

Gerncia de Processos
No OSX todo o cdigo especfico de arquitetura est no microkernel, o que facilita a portabilidade.

Organizao das camadas do Mac OS X

Gerncia de Processos
Escalomamento de Processos: O escalonador escalona os processos baseado numa variante do algoritmo de mltiplas filas com realimentao; Divide as filas de prioridades em 4 grupos de processos, agrupados de acordo com suas caractersticas.

Gerncia de Processos

Normal: Prioridade das aplicaes normais do usurio; Sistema: Prioridade das aplicaes do sistema, com prioridade superior as threads normais de usurio; Kernel: Classe reservada para threads em espao de kernel que necessitam rodar em uma prioridade superior as threads de sistema; Tempo Real: Threads nas quais a prioridade est baseada na necessidade de reservar uma frao pr-definida de ciclos de clock, independente de outras atividades sendo executadas no sistema.

Gerncia de Processos
Comunicao Interprocessos:
Tarefas clientes acessam tarefas servidoras por meio de um canal de comunicao (ports). As tarefas mantm, repassam e obtm direitos sobre os ports. Os port-rights denotam as permisses para usar estes canais. Ter um right ter a capacidade de acessar ou manipular um objeto.

Gerncia de Processos

A comunicao feita atravs de: filas de mensagens, semforos, notificaes, lock sets e RPCs (Remote Procedure Calls). Mensagens podem ser dados puros, cpias de memory ranges, direitos de ports, e outros. So assncronas. Lock Sets correspondem ao mutex sobre uma seo crtica.

Gerncia de Memria

Mac OS X possui poderoso gerenciamento de memria; Cada processo tem o seu prprio conjunto (32bits ou 64 bits) de espao de endereo virtual; 32 bits pode enderear at 8 gb. 64 bits pode enderear at 18 exabytes.

Gerncia de Memria
Subsistema VM (Virtual Memory)

O subsistema VM do kernel mach consiste do mdulo machine-dependent phisical map (pmap) e outros mdulos independentes para gerenciar a estrutura de dados, tais como os Virtual Address Space Maps (VM maps). O kernel exporta diversas rotinas para o Espao do Usurio (user space) como parte da Mach VM API.

Gerncia de Memria

O Kernel usa o UPL (Universal Page List): Estrutura de Dados para descrever como delimitar um conjunto de pginas fsicas; O UPL criado baseado na associao das pginas (pages) com o Objetos VM (objects VM); O Kernel inclui 3 paginadores internos: o paginador padro (annimo), o paginador para dispositivos e o paginador para vnode (pode mapear um processo para um objeto em qualquer tipo de sistema de arquivo. Assim, uma chamada de sistema no precisa entender qual objeto est sendo manipulado, somente como fazer uma chamada orientada objetos usando a interface vnode); Estes paginadores tratam operaes de entrada e sada sobre regies da memria.

Gerncia de Memria

Ao contrrio da maioria dos sistemas operacionais baseados em UNIX, o Mac OS X no usa um pr-partio swap para a memria virtual. Em vez disso, ele usa todo o espao disponvel na mquina da partio de boot.

Gerncia de Memria
Memria compartilhada:

Memria que pode ser escrita ou lida a partir de dois ou mais processos. Pode ser herdada a partir de um processo-me, criado por um servidor de memria compartilhada, ou explicitamente criado por um pedido de exportao para outras aplicaes.

Gerncia de Memria
O uso da memria compartilhada/partilhada inclui: Compartilhando grandes recursos, como cones ou sons Rpida a comunicao entre um ou mais processos Endereamento virtual nico e linear.

Gerncia de Memria
Ao lanar um programa, o Mac OS destina automaticamente um espao especfico de memria para o aplicativo, isolando-o. As linhas de controle de um determinado processo no precisam de nenhum mecanismo especial para compartilhar objetos: todas elas vem automaticamente o mesmo espao de endereamento.

Gerncia de Memria
Wired Memory

Wired memory armazena cdigo kernel e estruturas de dados, que nunca deve ser paginada para o disco. Aplicaes, frameworks e outros softwares da camada de usurio (user level) no podem ser alocados na wired memory, mas estes podem afetar a quantidade de Wired memory existente num dado momento. VM Objects I/O Buffer Cache Condutores

Gerncia de Arquivos

EFI (Interface de Firmware Extensvel).

Firmware inclui uma aplicao chamada boot manager, que pode rodar bootloaders, drivers e outras aplicaes EFI. Na plataforma PC a MBR esta localizado no incio do disco apenas para fins de compatibilidade. EFI acionado durante o processo de boot, aps o POST, e a partir dele definida a partio que ser carregada atravs de arquivos de configurao .EFI, como por exemplo boot.efi para o sistema operacional Mac OS X ou elilo.efi para sistemas Linux.

Glossario

Firmware: Software escrito em memria que no pode ser modificada. Muitos perifricos, como impressoras, utilizamse destes programas para operarem. Bootloaders: uma pequena pea de software responsvel pelo BOOT. ele quem chama o Sistema operacional e prepara a lgica para que o mesmo se torne operacional. MBR: Parte do disco rgido que contm a inicializao do sistema operativo. POST: (Power On Self Test) uma sequncia de testes ao hardware de um computador, realizada pela BIOS, responsvel por verificar preliminarmente se o sistema se encontra em estado operacional.

A primeira partio do HD o mapa de parties que contm meta-dados relacionados s parties. Os meta-dados consistem de referncias ao mapa de partio, cada um descrevendo uma partio.

O tamanho do mapa de 63 blocos, cada um com 512 bytes. Os primeiros dois bytes do primeiro bloco contm a assinatura do esquema de particionamento da Apple. Os dois bytes seguintes representam o tamanho do bloco fsico do disco. O nmero total de blocos no disco se localiza nos quatro bytes posteriores.

Os 63 blocos seguintes so o mapa de parties. Cada bloco representa uma entrada do mapa que descreve uma partio. Aps os dois bytes iniciais identificadores seguem as informaes de incio da partio, tamanho e tipo.

Glossario

Meta-dado:

Conjunto de caractersticas e atributos que representam ou descrevem um objeto. Os metadados geralmente tm a finalidade de se localizar, avaliar, descobrir, analisar ou citar o objeto a que se referem.

O sistema de arquivos padro do Mac OS X

HFS (Sistema de Arquivos Hierrquico Mais). Sua instncia fundamental o volume. Os blocos de alocao so a unidade elementar onde so alocados os arquivos, e seu tamanho corresponde a um mltiplo do tamanho do setor do dispositivo utilizado, sendo o mais comum 512 bytes, O bloco de alocao padro do Mac OS X, de 4KB, sendo que este pode chegar a 1MB. O espao de armazenamento usa nmeros de bloco de alocao de 32 bits com alocao postergarda de blocos fsicos.

Fragmentao

A implementao do UFS herdada do sistema BSD presente no HFS+ emprega uma unidade adicional.

Bloco, chamado fragmento, que uma frao deste a ser compartilhada entre arquivos. Benefcios quanto ao aproveitamento de espao de disco. Custo de uma lgica de sistema de arquivos muito mais complexa.

Para minimizar os seus efeitos, aumentando o desempenho no acesso a arquivos pequenos e frequentemente acessados,e empregado Clustering, e a realocao dinmica destes pequenos arquivos para promover sua continuidade(Hot File).

Glossario

UFS:O Sistema de Arquivos Unix, do ingls Unix File System (UFS), um sistema de arquivos usado por muitos sistemas operacionais Unix e assemelhados. BSD: um Sistema Operacional UNIX desenvolvido pela Universidade de Berkeley Clustering: uma tcnica de Data Mining para fazer agrupamentos automticos de dados segundo uma definicao prevista.

Caracteristicas

O HFS+ um sistema de arquivos que suporta nomes de arquivos e diretrios at 255 caracteres codificados em Unicode UTF-8 arquivos de at 8 exabytes e mltiplos mecanismos de referenciao atravs de aliases, hard links e links simblicos. Sistema case-insensitive com case-preserving (preserva a caixa-alta quando presente),

no podem co-existir num mesmo diretrio.

h suporte no sistema de arquivos para case-sensitivity.

Controle de Acesso e Permisses

Ha suporte pelo sistema de arquivos a ACLs (listas de controle de acesso).


Que so armazenadas como atributos estendidos, Permisses de arquivos no estilo Unix-Like e Flags de arquivo no estilo BSD (append-only, immutable, undeletable, etc.)

Todas as chamadas do gerenciador de arquivos do Mac OS X so subsidiadas pelo subsistema BSD, No prov nenhum lock para arquivos abertos por mltiplas aplicaes a respeito a proteo de escrita.

Fork de Arquivo

Sistema operacional suporta um tipo especial, chamado File Fork (Ramificao de Arquivo) Encapsula vrios arquivos dentro de um nico. Dois arquivos presentes armazenados em rvoresB separadas:

data fork resource fork.

coleo de recursos relacionados empacotados como numa hierarquica de diretrios. exemplos so os executaveis, as bibliotecas compartilhadas, plug-ins, imagens, entre outros. Seu uso visa facilitar a distribuio, manuteno e uso de software. O gerenciador de arquivos do sistema operacional trata estes pacotes como sendo arquivos nicos. Um bundle de aplicao (sufixo .app) contm, no entanto, muito mais que apenas o seu executvel, mas sim seus icones, imagens e sons da interface de usurio, alm do arquivo de lista de propriedades (sufixo .plist).

Bundles.

Desfragmentao On-theFly

Quando um arquivo de usurio aberto em um volume HFS+, o kernel verifica se ele est qualificado para ser desfragmentado on-the-fly. Uma srie de condies devem ser cumpridas para que o arquivo se torne elegvel para esta ao.

j no estar aberto. no ser um arquivo apenas-para-leitura. ser parte de um sistema de arquivos com journaling. ter o fork fragmentado em oito ou mais partes. entre outros.

Zona de meta-dados

Poltica de alocao que reserva espao para vrias estruturas de meta-dados. O volume chamado de Zona de meta-dados. Localizando, se possvel, prximo ao incio do volume. Acontecer apenas caso o espao em disco no seja escasso. Esta poltica valida apenas em volumes com journaling e maiores de 10 GB.

Journaling: Sistema Operacional de mantem um log


(journal), de todas as mudanas no sistema de arquivos antes de escrever os dados no disco.

Você também pode gostar