Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.