590 likes | 784 Views
UNIX na Apple: Mac OS X Fabio Ribeiro Developer Relations - fribeiro@apple.com Apple = UNIX Estratégia: um único OS 24 de março de 2001 Apple e UNIX Mac OS X = Mac OS + OPENSTEP OPENSTEP 1999 1984 1997 2001 Mac OS X Rhapsody Mac OS X Server 1.x System / Mac OS Lançamento
E N D
UNIX na Apple:Mac OS X Fabio Ribeiro Developer Relations - fribeiro@apple.com Apple
Apple e UNIX Mac OS X = Mac OS + OPENSTEP OPENSTEP 1999 1984 1997 2001 Mac OS X Rhapsody Mac OS X Server 1.x System / Mac OS Lançamento Macintosh Lançamento Mac OS X Server 1.x 24/03/2001 Lançamento Mac OS X Fusão Apple/NeXT
Apple e UNIX De onde vem o Mac OS X BSD Mach System V.3 NeXT Step OSF/1 System V.4 SCO UNIX OPEN STEP IRIX Free BSD Mac OS X BSD/ OS Solaris Sun OS HP-UX Linux AIX DEC OSF/1
Estrutura Operacional Organização do sistema operacional GUI (Aqua) APIs de sistema Servidor Gráfico (Quartz) Core Services Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional GUI (Aqua) Arquitetura de Drivers Drivers para periféricos, sistemas de arquivos e para protocolos de rede (NKEs) Orientado a Objetos (eC++) APIs de sistema 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 Servidor Gráfico (Quartz) Core Services I/O Kit Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional 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 APIs de sistema Servidor Gráfico (Quartz) Core Services Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional GUI (Aqua) Renderização de gráficos em tela Arquitetura de impressão APIs de sistema Servidor Gráfico (Quartz) Core Services Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional GUI (Aqua) APIs de sistema CoreGraphics (tela/impressão) QuickTime (multimídia) OpenGL (Gráficos 3D) Core Services Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional GUI (Aqua) APIs de sistema Servidor Gráfico (Quartz) Interfaces de programação para o sistema operacional Core Services Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional GUI (Aqua) Carbon Cocoa Java2 Classic Servidor Gráfico (Quartz) Core Services Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional GUI (Aqua) APIs de sistema Servidor Gráfico (Quartz) Core Services Mach Microkernel 3.0++
Estrutura Operacional Organização do sistema operacional GUI (Aqua) APIs de sistema Servidor Gráfico (Quartz) Core Services Mach Microkernel 3.0++
Darwin for Intel • Pentium III • Motherboard Intel 440 BX • Controladora IDE • (Trabalho no Athlon em andamento)
Como estar envolvido http://publicsource.apple.com
Ferramentas As ferramentas padrão estão no Mac OS X • Javac (Java) • cc (GCC: C, C++ e Objective-C) • Compilador Fortran Chegando • Gdb, jdb, etc…
IDEs Ambientes de desenvolvimento no Mac OS X • JBuilder (Borland) • Project Builder (Apple) • NetBeans (Sun) • CodeWarrior (Metrowerks) • JRun (Macromedia)
Linguagens & APIs Linguagens para desenvolvimento • Cocoa (Objective-C ou Java “Bridge”) • Java Puro • Aplicações UNIX (C, C++, Perl, Obj-C, Obj-C++, etc…)
Cocoa A API do Mac OS X • Ferramentas excelentes • Fácil • Totalmente OOP e MVC • 10 anos de maturidade • Disponível em Objective-C e Java “Bridge”
Performance de Java Acelerações realizadas no Mac OS X • VM com Hot Spot • Gráficos acelerados para Altivec • Shared VM (7MB/aplicação) • “Swing to Native”
Performance de Java O Que conseguimos com isso? • Java2D 5X mais rápido que numa Sun/Solaris • Mantemos compatibilidade do bytecode • Diminuimos drasticamente o uso de memória
GNUStep Ferramentas e APIs semelhantes a Cocoa • Project Center (Project Builder) • Gorm (Interface Builder) • Estão mantento a API atualizada com Cocoa • http://www.gnustep.org/
Arquitetura RISC Em todos os Macintoshes • Apple, IBM & Motorola • Versão Pessoal da arquitetura Power • Processador de 32-bits • Unidades internas entre 32 em 128 bits
Apple Developer Connection Informações e recursos para os desenvolvedores • Documentação • Ferramentas • Seeding • Recursos de Markerting • Suporte no desenvolvimento
Road Map Começe Hoje! • http://connect.apple.com • Apple-Dev (Lista) • http://developer.apple.com • desenvolvedor@apple.com.br • http:// www.cocoadevcentral.com • http:// www.cocoadev.com • http://www.gnustep.org/
Q&A Fabio Ribeiro Developer Relations - fribeiro@apple.com Apple
Think different. © 2001 and TM Apple Computer, Inc. All rights reserved.
Darwin Componentes Cocoa Classic Carbon Serviços das Aplicações Serviços de Base Sistema De Arquivos Redes Kernel BSD AppleTalk IP I/O Kit Mach Kernel Drivers
Darwin Características • 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
Darwin Características • 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
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…
Mach • Mac OS X: Mach 3.0+ • Baseado no trabalho das equipes da CMU e OSF/RI • + trabalho desenvolvido pela Apple • Suporte nativo para SMP/Real Time • Arquitetura modular