haiku os presentation

55
Laurențiu Cristian Ion December 14 th , 2011

Upload: laawrence

Post on 09-May-2015

741 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Haiku OS Presentation

Laurențiu Cristian IonDecember 14th, 2011

Page 2: Haiku OS Presentation

What is HAIKU?

Page 3: Haiku OS Presentation

Haiku is an open source operating system currently in development that specifically targets

personal computing. Inspired by the Be Operating System, Haiku aims to become a fast,

efficient, simple to use, easy to learn and yet very powerful system for computer users of all levels.

Page 4: Haiku OS Presentation

A story about BeOS

Page 5: Haiku OS Presentation

Jean-Louis Gassée wants to start a new company, so he needs a name.

He grabs a dictionary, randomly picks Be

Page 6: Haiku OS Presentation

Be, Inc.

Page 7: Haiku OS Presentation

Wants To Build a New Computer,With No Legacy Cruft,

BeBox:

Page 8: Haiku OS Presentation

Couldn't Find a Good OS,So Decided to Build It,

Alas, BeOS:

Page 9: Haiku OS Presentation

Time Goes By,Apple Offers Be $120 Million,

Then $200 Million,Gassee Wants $400 Million,

Bad Idea,Apple Balks,

Then Buys NeXT for $400 Million (oh the irony)

Page 10: Haiku OS Presentation

August 2001: Be, Inc. Sold to Palm for $11 Million

Page 11: Haiku OS Presentation

Hmm, Should Have Taken the $200 Million?

Page 12: Haiku OS Presentation

Also August 2001: OpenBeOS Project Started,By Michael Phipps and Other BeOS Fans

Page 13: Haiku OS Presentation

Will Rewrite BeOS As Open Source,They Need a New Name.

A Long List Is Made,A Poll Is Taken,

Haiku Is Chosen From Culled List.

Page 14: Haiku OS Presentation
Page 15: Haiku OS Presentation

Technical Features• Kernel• Modules & Drivers• OpenBFS• Queries• File System Layout• Kits• BMessage• Add-ons• Replicants• UI

Page 16: Haiku OS Presentation

Kernel

• Fork of the NewOS kernel• Preemptive Multithreading• Modular design• Native IPC– Semaphores– Ports– Areas (shared memory)

Page 17: Haiku OS Presentation

Modules & Drivers

• Busses• Module Hierarchy– get_module(''bus/usb/v1'', &m)

• Auto probing– Open(''/dev/input/foo/1'') -> rescan input drivers

• If it's supported, it just works!

Page 18: Haiku OS Presentation

OpenBFS

• 64 bit• Journaled• Built for large files (multimedia)• Extended Attributes (Meta-Data)– Typed• Icon• Int• Float• String

– Mime type

• ...

• Indexed = Searchable = Database-like

Page 19: Haiku OS Presentation

Queries

• Formula-based search on meta-data

• Live update from file-systems

• Used by applications

• Used in many places– Searching for Contacts

• ((META:email==''*foo*@bar.com''))• ((IM:status==''Online''))

– Mail files• ((MAIL:status==''New''))

– MP3• ((Audio.Year>1990)&&(Audio.Artist==''[Ee]nigma''))

– Finding Replicants– GoogleFS: 8*109 online bookmarks

Page 20: Haiku OS Presentation

File System Layout

• /boot/system– etc– bin– system• lib• add-ons

– kernel– input_server

– ...

• /boot/apps– BeAE– Paladin– WonderBrush

• /boot/{home|users/*}– mail, people

– bin

– config• lib

• add-ons– ...

• Settings

– ...

• /boot/common– bin

– lib

– Include

– ...

Page 21: Haiku OS Presentation

Kits

• Clean, Uniform C++ API• Many Kits– Kernel– Support– Storage– Interface– Media– ...

• Inheritance:• BWindow– BDirectWindow

• BView– BGLView– BTextView– ...

• BEntryList– BDirectory– BQuery

• ...

Page 22: Haiku OS Presentation

BMessage

• System-wide multi-purpose messaging– 'what' code defines the meaning– Target and sender– Typed, named fields

• Int• Float• String• BMessage :)• ...

• Used everywhere: Drag & Drop, Settings...• Even the kernel sends them.

Page 23: Haiku OS Presentation

Add-ons

• Kernel modules (bus managers, drivers)

• Graphics drivers

• Media– Drivers

– Codecs

– Nodes

• Translators– Pictures

– Text (html, ...)

• Input Devices– Drivers

– Methods

• ...

Page 24: Haiku OS Presentation

UI

• Clean• Consistent• Multi-threaded = responsiveness• Still allows for foreign frameworks– SDL– NSPR (FireFox aka BeZillaBrowser)– Qt– WxWidgets port in progress...

Page 25: Haiku OS Presentation

Drivers

• Video – ATI, nVidia, Neomagic, Intel, VESA• Audio – OSS, Creative, Echo, VIA, Maudio, HDA• Network – Most ethernet chipsets• Wireless – WEP working, WPA/WPA2 in progress• USB – support for ECHI, UHCI and OHCI• USB mice, keyboards and mass storage• Some USB webcam support• OpenGL via MESA project

Page 26: Haiku OS Presentation

Home Screen

Page 27: Haiku OS Presentation

About this system

Page 28: Haiku OS Presentation

Applications folder

Page 29: Haiku OS Presentation

Demo folder

Page 30: Haiku OS Presentation

Desktop applets folder

Page 31: Haiku OS Presentation

Preferences folder

Page 32: Haiku OS Presentation

Tracker Query

Page 33: Haiku OS Presentation

Mounting Volumes

Page 34: Haiku OS Presentation

Various Replicants

Page 35: Haiku OS Presentation

Touchpad Preferences

Page 36: Haiku OS Presentation

WonderBrush

Page 37: Haiku OS Presentation

Icon-O-Matic

Page 38: Haiku OS Presentation

Media Player

Page 39: Haiku OS Presentation

Haiku Installation

Page 40: Haiku OS Presentation
Page 41: Haiku OS Presentation
Page 42: Haiku OS Presentation
Page 43: Haiku OS Presentation
Page 44: Haiku OS Presentation
Page 45: Haiku OS Presentation
Page 46: Haiku OS Presentation
Page 47: Haiku OS Presentation
Page 48: Haiku OS Presentation
Page 49: Haiku OS Presentation
Page 50: Haiku OS Presentation
Page 51: Haiku OS Presentation
Page 52: Haiku OS Presentation
Page 53: Haiku OS Presentation
Page 54: Haiku OS Presentation
Page 55: Haiku OS Presentation

?