1 / 13

BeOS

BeOS. AJ Schuster Robert Robinson Nicole Chung Brian Hoffman. What Is BeOS?. Not a UNIX derivative Be, Inc. formed in 1990 First public release in 1996 Ran on proprietary hardware: BeBox 1997: Be quits the hardware business. BeOS on x86. 1998: Release 4 retails for US$70

ludwig
Télécharger la présentation

BeOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BeOS AJ Schuster Robert Robinson Nicole Chung Brian Hoffman

  2. What Is BeOS? • Not a UNIX derivative • Be, Inc. formed in 1990 • First public release in 1996 • Ran on proprietary hardware: BeBox • 1997: Be quits the hardware business

  3. BeOS on x86 • 1998: Release 4 retails for US$70 • Runs on PowerPC, x86, more • 2000: Release 5 “Personal Edition” • 512MB partition limit • 2001: Be bought by Palm, Inc. • Today: OpenBeOS

  4. BFS (Be File System) • Structure based on standard *NIX hierarchy • Earliest general-purpose journaling file system • Similar to transaction support in databases • Eliminates need for scandisk or fsck

  5. Memory Management • Memory Model • Implementation at the Microkernel level Figure 3 – BeOS Architecture <jon@rupture.net>

  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 theMicrokernel 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 • Pervasive multi-threading • Teams • Kinds of Threads • Real-time & time-sharing • listener and image threads

  10. CPU Scheduler • There are two types of threads: real-time and time-sharing. • Each thread is assigned a priority number 1-120. • Levels 1-99 are assigned to time-sharing threads. • Levels 100-120 are reserved for real-time threads. • Time-sharing threads are scheduled according to their priority number and a logarithmic scale of 2. • A thread with priority number 6 would be 26 or 64. • A thread with priority number 8 would be 28 or 256. • 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 chosen every “scheduler quantum.” • A “scheduler quantum” is set to 3 milliseconds in BeOS. • Multiple processors are a little more complicated but follow the same principle. • No time-sharing thread should keep a real-time thread from executing. • A real-time thread can be executing on the first processor while a time-sharing thread executes on another processor. • If a real-time thread wakes or enters the scheduling queue if there is no processor available to it then the time-sharing thread with lowest priority is kicked back onto the queue and the real-time thread takes its place. • Time-sharing threads always yield to real-time threads. This makes BeOS a streamlined OS for media applications requiring real-time performance.

  12. Deadlock • Ports • act as a message queue • Semaphores • prevent race situations and situations where multiple instructions must execute without interference • Benaphores • combination of an atomic variable and a semaphore

  13. Thread States

More Related