Presentation is loading. Please wait.

Presentation is loading. Please wait.

BeOS, the Be Operating System

Similar presentations


Presentation on theme: "BeOS, the Be Operating System"— Presentation transcript:

1 BeOS, the Be Operating System
Robert Robinson CS 550-1

2 What Is BeOS? Coded from scratch 1990: Be, Inc. formed
1996: 1st public release Ran on Be’s proprietary hardware, BeBox 1997: Be quits the hardware business

3 BeOS History 1998: Release 4, the money-maker
Runs on PowerPC, x86, more 2000: Release 5, “the demise” “Personal Edition”; 512MB partition limit 2001: Be bought by Palm, Inc. 2001: BeOS R5.1 leaked to public Today: Haiku (changed from OpenBeOS) and YellowTab

4 BFS, the Be File System Much of structure borrowed from UNIX
Journaling Reduces data loss Eliminates need for scandisk or fsck Rich metadata model Database-like approach to file retrieval

5 Memory Management Memory Model Implementation at the Microkernel level
Figure 3 – BeOS Architecture Memory Model Implementation at the Microkernel level

6 Memory Model Virtual Memory Addresses (mapping dynamic memory)
Shared by threads and processes Can be locked into RAM Object-Oriented Design Full Memory Protection Symmetric Multi-Processing (SMP)

7 Implementation at the Microkernel Level
BeOS Threads and Objects Communication between Threads Message Handling with BLooper Ports (FIFO message repositories) Semaphores (data protected locks) Benaphores (Increased efficiency in data protection)

8 Internal Data Structures
Structures Used in Process Management Thread creation Thread execution and control Thread termination Structures Used in Memory Management BLooper (Interface between objects & threads) Semaphores, Ports, and Images Structures Used in File Management Bfile Bdirectory

9 Threads Multi-threaded Architecture of BeOS Kinds of Threads
Pervasive multi-threading Teams Kinds of Threads Real-time & time-sharing listener and image threads

10 CPU Scheduler Thread priority numbers: 1-120.
Levels 1-99: assigned to time-sharing threads. Levels : reserved for real-time threads. Time-sharing threads are scheduled according to their priority number and a logarithmic scale of 2. So a thread with a priority number greater by 2 is four times as likely to be chosen to execute.

11 CPU Scheduler (continued)
A new time-sharing thread is given the processor after every time quantum (3 milliseconds in BeOS). Execution on multiple processors Time-sharing threads must always yield to real-time threads. This makes BeOS a streamlined OS for media applications requiring real-time performance.

12 Deadlock Problem: Dropping of messages
Solution: Port Problem: Manipulation of data by another process during execution. Solution: Semaphores Problem: Semaphores Slowness Solution: Benaphores

13 Thread States Running Thread has processor Ready
Thread is waiting for processor Receiving Thread is in receive_data() call Sleeping Thread is in snooze() call Suspended Thread is first created or suspended Waiting Thread is waiting to get processor


Download ppt "BeOS, the Be Operating System"

Similar presentations


Ads by Google