A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UNIX na Apple: Mac OS X Fabio Ribeiro Developer Relations - Apple.

Apresentações semelhantes


Apresentação em tema: "UNIX na Apple: Mac OS X Fabio Ribeiro Developer Relations - Apple."— Transcrição da apresentação:

1 UNIX na Apple: Mac OS X Fabio Ribeiro Developer Relations - Apple

2

3

4 = UNIX

5 Estratégia: um único OS

6 24 de março de 2001

7 Apple e UNIX Mac OS X = Mac OS + OPENSTEP System / Mac OS Rhapsody Mac OS X Server 1.x Mac OS X Fusão Apple/NeXT Lançamento Macintosh 24/03/2001 Lançamento Mac OS X Lançamento Mac OS X Server 1.x OPENSTEP

8 Apple e UNIX De onde vem o Mac OS X BSD System V.3 Mach OPEN STEP Free BSD BSD/ OS Sun OS Linux DEC OSF/1 AIX HP-UX Solaris IRIX SCO UNIX Mac OS X NeXT Step OSF/1 System V.4

9 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) APIs de sistema GUI (Aqua)

10 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) APIs de sistema GUI (Aqua) I/O Kit Baseado no trabalho desenvolvido pela CMU/OSF Multitarefa Preemptiva Multiprocessamento Simétrico Memória Protegida Alocação Dinâmica de Memória Suporte a Tempo Real Arquitetura de Drivers Drivers para periféricos, sistemas de arquivos e para protocolos de rede (NKEs) Orientado a Objetos (eC++)

11 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) APIs de sistema GUI (Aqua) Camada de Personalidade do sistema operacional Baseada no FreeBSD 3.2 Políticas de acesso ao sistema Serviços de base Aplicações de linha de comando

12 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) APIs de sistema GUI (Aqua) Renderização de gráficos em tela Arquitetura de impressão

13 Estrutura Operacional Organização do sistema operacional CoreGraphics (tela/impressão) QuickTime (multimídia) OpenGL (Gráficos 3D) Mach Microkernel Core Services APIs de sistema GUI (Aqua)

14 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) APIs de sistema GUI (Aqua) Interfaces de programação para o sistema operacional

15 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) GUI (Aqua) Classic CarbonCocoa Java2

16 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) APIs de sistema GUI (Aqua)

17 Estrutura Operacional Organização do sistema operacional Mach Microkernel Core Services Servidor Gráfico (Quartz) APIs de sistema GUI (Aqua)

18

19

20 Darwin for Intel Pentium III Motherboard Intel 440 BX Controladora IDE (Trabalho no Athlon em andamento)

21 Como estar envolvido

22 Desenvolvimento: Ferramentas

23 As ferramentas padrão estão no Mac OS X Ferramentas Javac (Java) cc (GCC: C, C++ e Objective- C) Compilador Fortran Chegando Gdb, jdb, etc…

24 Ambientes de desenvolvimento no Mac OS X IDEs JBuilder (Borland) Project Builder (Apple) NetBeans (Sun) CodeWarrior (Metrowerks) JRun (Macromedia)

25 Linguagens para desenvolvimento Linguagens & APIs Cocoa (Objective-C ou Java Bridge) Java Puro Aplicações UNIX (C, C++, Perl, Obj-C, Obj-C++, etc…)

26 Desenvolvimento: Cocoa

27 A API do Mac OS X Cocoa Ferramentas excelentes Fácil Totalmente OOP e MVC 10 anos de maturidade Disponível em Objective-C e Java Bridge

28 Desenvolvimento: Java

29 Performance de Java

30 VM com Hot Spot Gráficos acelerados para Altivec Shared VM (7MB/aplicação) Swing to Native Acelerações realizadas no Mac OS X Performance de Java

31 Java2D 5X mais rápido que numa Sun/Solaris Mantemos compatibilidade do bytecode Diminuimos drasticamente o uso de memória O Que conseguimos com isso? Performance de Java

32 GNUStep

33 Project Center (Project Builder) Gorm (Interface Builder) Estão mantento a API atualizada com Cocoa Ferramentas e APIs semelhantes a Cocoa GNUStep

34

35

36 = RISC

37 Macintosh Plataforma RISC de Baixo Custo

38 Apple, IBM & Motorola Versão Pessoal da arquitetura Power Processador de 32-bits Unidades internas entre 32 em 128 bits Em todos os Macintoshes Arquitetura RISC

39

40 Informações e recursos para os desenvolvedores Apple Developer Connection Documentação Ferramentas Seeding Recursos de Markerting Suporte no desenvolvimento

41 Road Map Apple-Dev (Lista) Começe Hoje!

42 Demonstração

43 Q&A Fabio Ribeiro Developer Relations - Apple

44 Think different. © 2001 and TM Apple Computer, Inc. All rights reserved.

45 Mais Slides

46 Serviços de Base Componentes Darwin Serviços das Aplicações Classic Carbon Cocoa Sistema De Arquivos Redes AppleTalk Kernel BSD IP Mach Kernel I/O Kit Drivers

47 Características Darwin Arquitetura Única - Construído a partir das melhores tecnologias Centenas (talvez milhares) de horas investidos em desenvolvimento e teste Potencial ainda não explorado - Estamos possibilitando o desenvolvimento futuro de aplicações inovadoras

48 Características Darwin Fornece preempção e proteção Múltiplos endereços de memória Suporta diversos ambientes de aplicação - Carbon, Cocoa, Classic… Independente de processador Alto desempenho Flexível Escalável

49 Mach: a fundação do OS Gerencia recursos do processador e da memória - Threading - Proteção de memória, gerenciamento de memória Arquitetura baseada em mensagens (IPC/RPC) Não fornece: - I/O, redes, Sistemas de Arquivos, Políticas de Segurança, APIs etc…

50 Mach Mac OS X: Mach Baseado no trabalho das equipes da CMU e OSF/RI - + trabalho desenvolvido pela Apple Suporte nativo para SMP/Real Time Arquitetura modular

51 I/O Kit Framework para desenvolvimento fácil de drivers - Plug-and-play real - Gerenciamento dinâmico de dispositivos - Gerenciamento de energia - Modular e extensível Fornece abstrações para a maior parte das classes de dispositivos - Armazenamento, SCSI, ATA, USB, FireWire, audio, redes, PCI etc…

52 Kernel BSD Baseado no BSD Mais, integração com Mach e com I/O Kit - Mais, um cache de memória unificado Fornece APIs e serviços de personalidade para o sistema operacional - Modelo de processos - Política básica de segurança - Arquitetura do Sistema de Arquivos - Arquitetura de redes

53 System Framework Expõe as APIs POSIX/BSD do sistema Serviços adicionais: - ptheads - Biblioteca matemática - Biblioteca C

54 Ambiente do Usuário (BSD) Linha de comando (shells) Ferramentas-cliente para redes - telnet, finger, ftp, … Ferramentas para arquivos - cp, ls, mkdir, tar, … Ferramentas do sistema - ps, kill, nice, shutdown, … Serviços do sistema - NetInfo, BIND(DNS), NTP, …

55 Sistemas de Arquivos Componente do ambiente do kernel BSD Virtual File System (VFS) - Interface POSIX++ - Arquitetura em camadas Capaz de suportar diversos sistemas de arquivos - HFS, UFS, ISO 9660, NFS, … Parte do Kernel Development Kit (KDK)

56 Redes Componente do ambiente do kernel BSD Stack TCP/IP (BSD 4.4), sincronizada c/ FreeBSD 3.2 Recursos principais: - Multihoming (AppleTalk e IPv6) - Roteamento completo (AppleTalk e IPv6) - Mecanismos de FireWall e NAT Parte do Kernel Development Kit (KDK)

57 Kernel Extensions (KEXTs) Um container para binários de uso do kernel - Drivers I/O Kit - Network Kernel Extensions (NKEs) - Plug-ins para Sistemas de Arquivos Stack TCP/IP (BSD 4.4), sincronizada c/ FreeBSD 3.2 KEXT Extensões do Mac OS 9 Só use quando necessário!

58 Kernel Extensions Baseado no modelo de plug-ins do Mac OS X KEXTs são bundles que contém: - Property list (.plist), no formato xml - Um arquivo binário, para uso no kernel (KMOD) KEXTManager - serviço do sistema - carregamento e descarregamento automático de KEXTs

59 Kernel Extensions Cada KMOD tem dois entry points: - Initialize - chamado no carregamento; e - Finalize - chamado instantes antes do descarregamento Todas as outras APIs são dependentes do domínio: - Drivers I/O Kit - Network Kernel Extensions (NKEs) - Plug-ins para Sistemas de Arquivos Referência: Hello Kernel (KDK) -


Carregar ppt "UNIX na Apple: Mac OS X Fabio Ribeiro Developer Relations - Apple."

Apresentações semelhantes


Anúncios Google