BeOS, the Be Operating System

Slides:



Advertisements
Similar presentations
Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Advertisements

Threads, SMP, and Microkernels
CSC 360- Instructor: K. Wu Overview of Operating Systems.
CAS3SH3 Midterm Review. The midterm 50 min, Friday, Feb 27 th Materials through CPU scheduling closed book, closed note Types of questions: True & False,
Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü Multithreading the SunOS Kernel J. R. Eykholt, S. R. Kleiman, S. Barton, R. Faulkner,
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Process Management. External View of the OS Hardware fork() CreateProcess() CreateThread() close() CloseHandle() sleep() semctl() signal() SetWaitableTimer()
© 2004, D. J. Foreman 2-1 Concurrency, Processes and Threads.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
The Mach System "Operating Systems Concepts, Sixth Edition" by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presentation by Jonathan Walpole.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Palm OS Jeremy Etzkorn Paul Rutschky Adam Lee Amit Bhatia Tony Picarazzi.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
© 2004, D. J. Foreman 2-1 Concurrency, Processes and Threads.
111 © 2002, Cisco Systems, Inc. All rights reserved.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
The Linux Operating System C. Blane Adcock Bryan Knehr Kevin Estep Jason Niesz.
Scott Ferguson Section 1
Kernel Architecture Process Management Memory Management.
BeOS AJ Schuster Robert Robinson Nicole Chung Brian Hoffman.
Amanda Johnson Hannah Young Josh Taylor Rich Carroll Troy Gladhill Saunders Roesser.
The VMS Operating System CS 351: Operating Systems Spring 2001 Section 1 Chad Cruys, Joshua Krug, William Menke, Matt Stehle, Kenneth Ward.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution-
Threads, SMP and Microkernels Process vs. thread: –Unit of resource ownership (process has virtual address space, memory, I/O channels, files) –Unit of.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
OPERATING SYSTEMS STRUCTURES Jerry Breecher 2: Operating System Structures 1.
Introduction to Operating Systems Concepts
Chapter 3: Windows7 Part 5.
REAL-TIME OPERATING SYSTEMS
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Process Management Process Concept Why only the global variables?
The Mach Operating System
The Mach System Sri Ramkrishna.
Outline Other synchronization primitives
Concurrency, Processes and Threads
Other Important Synchronization Primitives
Unit OS4: Scheduling and Dispatch
Operating Systems: A Modern Perspective, Chapter 6
CS490 Windows Internals Quiz 2 09/27/2013.
KERNEL ARCHITECTURE.
Threads and Locks.
COP 4600 Operating Systems Fall 2010
Chapter 3: Windows7 Part 5.
Mach Kernel Kris Ambrose Kris Ambrose 2003.
Threads, SMP, and Microkernels
CGS 3763 Operating Systems Concepts Spring 2013
Operating System Concepts
CS703 - Advanced Operating Systems
Slides for Chapter 6: Operating System support
Operating Systems.
OS/2 Warp Chris Algire Jonathan Depner Daniel Kvitko Jason Shifflett
Lecture 4- Threads, SMP, and Microkernels
B.Ramamurthy Chapter 2 : Appendix
Operating Systems : Overview
Threads and Concurrency
Threads Chapter 4.
Operating Systems Lecture 1.
Operating Systems : Overview
Concurrency, Processes and Threads
Operating Systems : Overview
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Operating Systems : Overview
The VMS Operating System
Chapter 2 Operating System Overview
Concurrency, Processes and Threads
Michael Blinn Ben Hejl Jane McHugh Matthew VanMater
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

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

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

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

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

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

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)

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)

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

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

CPU Scheduler Thread priority numbers: 1-120. Levels 1-99: assigned to time-sharing threads. Levels 100-120: 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.

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.

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

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