Apresentação da aula de sistemas operacionais

50
Apresentação da aula de Sistemas Operacionais Docente: Carlos Eduardo Bognar

Transcript of Apresentação da aula de sistemas operacionais

Page 1: Apresentação da aula de sistemas operacionais

Apresentação da aula de

Sistemas Operacionais

Docente: Carlos Eduardo Bognar

Page 2: Apresentação da aula de sistemas operacionais

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.

Page 3: Apresentação da aula de sistemas operacionais

História do Mac OS

SurgimentoO 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.

Page 4: Apresentação da aula de sistemas operacionais

História do Mac OS

SurgimentoA 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.

Page 5: Apresentação da aula de sistemas operacionais

História do Mac OS

A cara do primeiro Mac OS

Page 6: Apresentação da aula de sistemas operacionais

História do Mac OS

A cara do primeiro Mac OS

Page 7: Apresentação da aula de sistemas operacionais

Principais Versões

System 1 Data de lançamento:

24 de Janeiro de 1984

Destaques:Versão Inicial, responsávelpela 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

Page 8: Apresentação da aula de sistemas operacionais

Principais Versões

System 1 Data de lançamento:

24 de Janeiro de 1984

Destaques:Versão Inicial, responsávelpela 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

System 2 Data de lançamento:

Abril 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.

Page 9: Apresentação da aula de sistemas operacionais

Principais Versões

System 2 Data de lançamento:

Abril 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.

System 2.1

System 3

Data de lançamento:

Setembro de 1985

Destaques:Suporte para o Hard Disk 20

Data de lançamento:

16 de Janeiro de 1986

Destaques:Introduzino no novo modelo do Mac, o Macintosh Plus

Page 10: Apresentação da aula de sistemas operacionais

Principais Versões

System 4Janeiro de 1987

System 5Outubro de 1987

Syste 6Abril de 1988

System 713 de Maio de 1991

Data de lançamento:

Abril 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.

System 2.1

System 3

Data de lançamento:

Setembro de 1985

Destaques:Suporte para o Hard Disk 20

Data de lançamento:

16 de Janeiro de 1986

Destaques:Introduzino no novo modelo do Mac, o Macintosh Plus

System 4Janeiro de 1987

System 5Outubro de 1987

System 6Abril de 1988

System 713 de Maio de 1991

Page 11: Apresentação da aula de sistemas operacionais

System 7.6A última versão do System 7, foi a últimaa ser chamada de System e a última versão a usar a arquitetura Motorola 68k. Mas também teve uma versão adaptada para a proxima geração de processadores que iria comportar os Macs, o PowerPC, porém apresentava algumas falhas.

Principais Versões

Data de lançamento:

Setembro de 1985

Destaques:Suporte para o Hard Disk 20

Data de lançamento:

16 de Janeiro de 1986

Destaques:Introduzino no novo modelo do Mac, o Macintosh Plus

8System 4Janeiro de 1987

System 5Outubro de 1987

Sstem 6Abril de 1988

System 713 de Maio de 1991

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.

Page 12: Apresentação da aula de sistemas operacionais

Principais Versões

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.

8

Principais Versões

Page 13: Apresentação da aula de sistemas operacionais
Page 14: Apresentação da aula de sistemas operacionais

SurgimentoMac 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.

Principais Versões

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).

Surgimento

Page 15: Apresentação da aula de sistemas operacionais

Principais Versões

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).

Surgimento

Page 16: Apresentação da aula de sistemas operacionais

Principais Versões

Mac OS X 10.1 – PumaLançado como uma macroatualização gratuita da versão 10.0 – 25 de outubro de 2001

Mac OS X 10.2 – JaguarLançado em 23 de agosto de 2002 em disco pelo preço de US$ 129

Mac OS X 10.3 – PantherLançado dia 24 de Outubro de 2003 também como disco por US$ 129

Page 17: Apresentação da aula de sistemas operacionais

Principais Versões

Mac OS X 10.1 – PumaLançado como uma macroatualização gratuita da versão 10.0 – 25 de outubro de 2001

Mac OS X 10.2 – JaguarLançado em 23 de agosto de 2002 em disco pelo preço de US$ 129

Mac OS X 10.3 – PantherLançado dia 24 de Outubro de 2003 também como disco por US$ 129

Mac OS X 10.4 Tiger 29 de Abril de 2005

Sendo a quinta versão do Mac OS, o 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 2 milhões de cópias, o Tiger foi o Mac OS mais bem sucedido até então.

Page 18: Apresentação da aula de sistemas operacionais

Mac OS X 10.5 Leopard

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.

Page 19: Apresentação da aula de sistemas operacionais

Principais VersõesPrincipais Versões

Mac OS 10.6Snow Leopard

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.

Page 20: Apresentação da aula de sistemas operacionais

Mac OS 10.6Snow Leopard

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.

Principais Versões

Mac OS 10.7Lion

Lançado no dia 29/7/2011, o Lion chegou em forma de atualização do Snow Leopard por U$29. O Lion trouxe 250 novos recursos, mas basicamente são recursos de acessibilidade e que proporcionam maior interação do usuário com o sistema, como por exemplo, a otimização dos comandos multi-gestos, o Launchpad e o Mission Control.

Page 21: Apresentação da aula de sistemas operacionais

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.

Page 22: Apresentação da aula de sistemas operacionais

Requisitos do Sistema

Page 23: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

Visão GeralTecnicamente 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.

Darwin é um sistema operacional completo Open Source do qual o ambiente 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

BSD Mach

XNUX-is-Not-Unix

I/O KIT

Page 24: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

XNUX-is-Not-Unix

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.

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.

BSD Mach I/O KIT

Page 25: Apresentação da aula de sistemas operacionais

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.

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.

Darwin

Application FrameworkCocoa Carbon Java

Arquitetura do Mac OS

XNU BSD Mach I/O Kit

Page 26: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

Características do XNU

X

N

U

• Considerado como robusto e estável

• 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

Page 27: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Gerência dos processosUm processo é um programa em execução. Para cada processo é atribuído um valor único chamado de Identificador de Processo (PID). Este valor é usado pelo kernel do sistema. O kernel notifica o usuário quando o status do processo é alterado.

• São providos recursos para garantir a consistência para acessar dados que estão 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.

• Um processo pode terminar pela execução de um sistema de saída. Um processo pode suspender a execução qualquer processo filho usando sistema de espera, que retorna o PID e retorna o status de processo terminado.

O sistema operacional FreeBSD suporta multiprogramação, ou seja, a ilusão de execução simultânea de múltiplos processos ou programas.

Page 28: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Ciclo de vida do processo

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.

Processo Pai

Processo Pai

ProcessoFilho

ProcessoFilho

ProcessoZumbi

Execução

Espera

Saída

Deslocador

Page 29: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Escalonamento

O escalonador de processos do Mac OS X é derivado do escalonador OSFMK, porém várias modificações foram feitas para o tratamento de interatividade no projeto de escalonador base.Assim como o kernel do FreeBSD (5.0BSD), o escalonador de processos do Mac OS X escalona os processos baseado numa variante do algoritmo de múltiplas filas com realimentação, porém divide as filas de prioridades em 4 grupos de processos, agrupados de acordo com suas características.

• Normal: Prioridade das aplicações normais do usuário.

• Sistema: Prioridade das aplicações do sistema, com prioridade superior as threads normais de usuário.

• Kernel: Classe reservada para threads em espaço de kernel que necessitam rodarCom uma prioridade superior às threads de sistema.

• Tempo real Threads nas quais a prioridade está baseada na necessidade de reservar uma fração pré-definida de ciclos de clock, independente de outrasatividades sendo executadas no sistema.

Page 30: Apresentação da aula de sistemas operacionais

Gerenciamento da memória

O gerenciamento de memória do Mac OS X é um pouco diferente do Windows.

No windows você tem a memória usada pelo sistema operacional, pelos programas e a memória livre.

No OS X existe uma quarta categoria. A memória inativa.

Arquitetura do Mac OS

X

N

U

MemóriaInativa

Memória Livre

Memória Ativa

MemóriaResidente

É usada pelo OS X. Essa memória nunca irá para disco.

É usada pelos programas que estão abertos. Caso seja necessário ela pode ser paginada em disco.

É a memória que não está sendo usado.

É a memória que foi usada pelo programa mas não foi liberada. Apenas marcada como inativa

Page 31: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Gerenciamento da memória

Como funciona essa memória inativa?

Page 32: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

Page 33: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

Memoria VirtualCada 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 machine-dependent phisical map (pmap) e outros módulos independentes para gerenciar a estrutura de dados, tais como os Virtual Address Space Maps (VM maps).

Page 34: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Paginadores Internos

Kernel inclui 3 paginadores internos: • O paginador padrão (Anônimo) • O paginador para Dispositivos • O paginador para vnode (pode mapear um processo para um 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 Mach-VM utilizando interfaces UPL e derivadas do paginador do Mach

• UBC (Unified Buffer Cache) Consitui um conjunto de páginas para armazenar (caching) o conteúdo dos arquivos e a porção anônima do espaço de endereços. O exemplo mais comum é a memória dinamicamente

Page 35: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Swap

Ao contrário da maioria dos sistemas Unix, o Mac OS não utiliza uma pré-partição Swap para memória virtual. Em vez disto ele usa todo o espaço disponível na máquina da partição de boot

Espaço deUsuário

SistemaOperacional

1- Swap out (P1)

2- Swap in (P2)

Processo P1

Processo P2

Page 36: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Sistemas de arquivos

O HFS+ (Hierarchical File System Plus) lançado 1998, é o nome do sistema de arquivos padrão do Mac OS X

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.

Page 37: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Alocação de Arquivos

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.

Page 38: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Gerência de Espaço Livre

Qual espaço livre gerenciar?

• O disco é organizado em setores;

• O arquivo é organizado em registros (HFS+)

– O registro contém (endereços de) blocos.

– 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

Page 39: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

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.

Há um par de casos em que a despesa de alcançar o ideal, não vale a pena ser perfeito.

Preempção

Page 40: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

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.

Process Block Control (PCB)

Page 41: Apresentação da aula de sistemas operacionais

Arquitetura do Mac OS

X

N

U

Principais características:

• Interface gráfica intuitiva e bonita

• 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?

Page 42: Apresentação da aula de sistemas operacionais

X

N

UDarwin

Application FrameworkCocoa Carbon Java

User ExperienceAqua Dashboard Spotlight Finder

XNU BSD Mach I/O Kit

Arquitetura do Mac OS

Graphic and MediaCore Audio Core Image Core Vídeo

Page 43: Apresentação da aula de sistemas operacionais

Graphic and MediaCore Audio Core Image Core Vídeo

X

N

U

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

Arquitetura do Mac OS

Page 44: Apresentação da aula de sistemas operacionais

Windows84%

Mac OS6%

iOS6%

Android2%

Linux1%Outros

1%

Marketing Share Mundialhtt p://marketshare.hitslink.com

Relatório de 21/10/12

Windows Mac OS iOS Android Linux Outros

Aspéctos do Mercado

Page 45: Apresentação da aula de sistemas operacionais

America do Norte

Oceania / Australia

Europa

Asia

Africa

América do Sul

0%2%

4%6%

8%10%

12%14%Market Share Continental

Sales

Aspéctos do Mercado

Page 46: Apresentação da aula de sistemas operacionais

Marketing Share Mundialhtt p://marketshare.hitslink.com

Relatório de 21/10/12

Principais Aplicações

Suite iWork

Keynote Numbers Pages

Final Cut

Pro Tools iLife

Safari

Garage Band

iPhoto

Page 47: Apresentação da aula de sistemas operacionais

Principais Concorrentes

Page 48: Apresentação da aula de sistemas operacionais

Opinião do Mercado.

Page 49: Apresentação da aula de sistemas operacionais

Mensões

Sites

https://developer.apple.com/http://www.freebsd.org/http://en.wikipedia.org/wiki/Main_Pagehttp://marketshare.hitslink.com/

Bibliografia:

A Cabeça de Steve JobsSistemas Operacionais Modernos - Tenembaum - 3ª EdiçãoSistemas Operacionais – Silberschatz

Agradecimento:Docente Carlos Eduardo Bognar

Page 50: Apresentação da aula de sistemas operacionais