QNX® real-time operating system

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Week 12 Real time kernel Ref: Extracts from:
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Process Description and Control
1 Processes and Pipes COS 217 Professor Jennifer Rexford.
Page 1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
Introduction to Kernel
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
3.5 Interprocess Communication
Process in Unix, Linux and Windows CS-3013 C-term Processes in Unix, Linux, and Windows CS-3013 Operating Systems (Slides include materials from.
1 Chapter 4 Threads Threads: Resource ownership and execution.
Threads, SMP, and Microkernels
1 I/O Management in Representative Operating Systems.
Processes in Unix, Linux, and Windows CS-502 Fall Processes in Unix, Linux, and Windows CS502 Operating Systems (Slides include materials from Operating.
Interprocess Communication. Process Concepts Last class.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Chapter 3 Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Process in Unix, Linux, and Windows CS-3013 A-term Processes in Unix, Linux, and Windows CS-3013 Operating Systems (Slides include materials from.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
1 Real-Time Operating Systems - QNX Brett O’Neill CSE 8343 – Group A6.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
LINUX System : Lecture 7 Bong-Soo Sohn Lecture notes acknowledgement : The design of UNIX Operating System.
Processes Introduction to Operating Systems: Module 3.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Distributed System Concepts and Architectures Services
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
The Mach System Silberschatz et al Presented By Anjana Venkat.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
 Process Concept  Process Scheduling  Operations on Processes  Cooperating Processes  Interprocess Communication  Communication in Client-Server.
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 5.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Introduction to Kernel
Kernel Design & Implementation
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 3: Process Concept
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
Process Management Presented By Aditya Gupta Assistant Professor
KERNEL ARCHITECTURE.
System Structure B. Ramamurthy.
Threads, SMP, and Microkernels
Threads and Data Sharing
I/O Systems I/O Hardware Application I/O Interface
CS703 - Advanced Operating Systems
Chapter 1 Introduction to Operating System Part 5
Process Description and Control
Chapter 2: The Linux System Part 5
Operating Systems Lecture 1.
Process Description and Control
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 3: Processes.
Chapter 2 Processes and Threads 2.1 Processes 2.2 Threads
Mr. M. D. Jamadar Assistant Professor
Presentation transcript:

QNX® real-time operating system Prepared By: Farhan Saeed Submitted To: Professor Marius Soneru QNX® real-time operating system

QNX® real-time operating system OBJECTIVES INTRODUCTION MICRO KERNEL   INTERPROCESS COMMUNICATION   THE PROCESS MANAGER THE FILE SYSTEM MANAGER   THE DEVICE MANAGER THE NETWORK MANAGER  CONCLUSION QNX® real-time operating system

QNX® real-time operating system INTRODUCTION In this report I have tried to cover mostly the architectural issues of QNX RTOS V4. For over 20 years, QNX Software Systems has been setting up the standard for a real-time operating system Real-time applications, for instance, depend on the operating system to handle multiple events within fixed time constraints. QNX® real-time operating system

QNX® real-time operating system The Micro kernel IPC - the Micro kernel supervises the routing of messages Low-level network communication - the Micro kernel delivers all messages destined for processes on other nodes Process scheduling - the Micro kernel’s scheduler decides which process will execute next First-level interrupt handling - all hardware interrupts and faults are first routed through the Micro kernel, then passed on to the appropriate driver or system manager QNX® real-time operating system

Interprocess communication The QNX Micro kernel supports three essential types of IPC:   Messages - the fundamental form of IPC in QNX. They provide synchronous communication between cooperating processes where the process sending the message requires proof of receipt and potentially a reply to the message. Proxies - a special form of message. They're especially suited for event notification where the sending process doesn't need to interact with the recipient. Signals - a traditional form of IPC. They're used to support asynchronous interprocess communication. QNX® real-time operating system

QNX® real-time operating system The Process Manager The Process Manager is responsible for creating new processes in the system and managing the most fundamental resources associated with a process QNX supports three process-creation primitives:    fork()  The fork() primitive creates a new process that is an exact image of the calling process. exec()  The exec() primitive replaces the calling process image with a new process image. spawn() The spawn() primitive creates a new process as a child of the calling process. It can avoid the need to fork() and exec(), resulting in a faster and more efficient means for creating new processes. QNX® real-time operating system

QNX® real-time operating system The Process Manager The life cycle of a process CREATION : Creating a process consists of allocating a process ID for the new process and setting up the information that defines the environment of the new process. LOADING : A loader thread does the loading of process images. The loader code resides in the Process Manager, but the thread runs under the process ID of the new process. EXECUTION: Once the program code has been loaded, the process is ready for execution; it begins to compete with other processes for CPU resources. TERMINATION : A process is terminated in either of two ways: a signal whose defined action is to cause process termination is delivered to the process the process invokes exit(), either explicitly or by default action when returning from main() QNX® real-time operating system

QNX® real-time operating system The Process Manager A process is always in one of the following states READY - the process is capable of using the CPU (i.e. it isn't waiting for any event to occur). BLOCKED - the process is in one of the following blocked states: HELD - the process has received a SIGSTOP signal. Until it's removed from the HELD state, a process isn't eligible to use the CPU; WAIT-blocked - the process has issued a wait() or waitpid() call to wait for status from one or more of its child processes. DEAD - the process has terminated but is unable to send its exit status to its parent because the parent hasn't issued a wait() or waitpid(). A DEAD process is also known as a zombie process. QNX® real-time operating system

The File system Manager The Filesystem Manager (Fsys) provides a standardized means of storing and accessing data on disk subsystems. QNX implements at least six types of files; five of these are managed by Fsys: Regular files - consist of randomly accessible sequences of bytes and have no other predefined structure. Directories - contain the information needed to locate regular files; they also contain status and attribute information for each regular file. QNX® real-time operating system

The File system Manager Symbolic links - contain a pathname to a file or directory that is to be accessed in place of the symbolic link file. These files are often used to provide multiple paths to a single file. Pipes and FIFOs - serve as I/O channels between cooperating processes. Block special files - refer to devices, such as disk drives, tapes, and disk drive partitions. These files are normally accessed in a manner that hides the hardware characteristics of the device from applications. The Device Manager manages the sixth file type, the character special file. Other managers may manage other file types QNX® real-time operating system

QNX® real-time operating system The Device Manager The QNX Device Manager (Dev) is the interface between processes and terminal devices. These terminal devices are located in the I/O namespace with names starting with /dev. The Device Manager process (Dev) manages the flow of data to and from the QNX application processes. The hardware interface is managed by individual driver processes. Data flows between Dev and its drivers through a set of shared memory queues for each terminal device QNX® real-time operating system

QNX® real-time operating system The Network Manager The Network Manager (Net) gives QNX users a seamless extension of the operating system's powerful messaging capabilities. Communicating directly with the Micro kernel, the Network Manager enhances QNX's message-passing IPC by efficiently propagating messages to remote machines Network Manager responsibilities The Network Manager is responsible for propagating the QNX messaging primitives across a local area network. The standard messaging primitives used in local messaging are used unmodified in remote messaging. In other words, there's no special "network" Send(), Receive(), or Reply(). QNX® real-time operating system

QNX® real-time operating system The Network Manager TCP/IP networking QNX's inherent network support implements a LAN that relies on its own proprietary protocol and is optimized to provide a fast, seamless interface between QNX computers. But to communicate with non-QNX systems, QNX uses the industry-standard set of networking protocols collectively known as TCP/IP. TCP/IP Manager The QNX TCP/IP Manager is derived from the Berkeley BSD 4.3 stack. QNX® real-time operating system

QNX® real-time operating system The Network Manager QNX supports the following Socket API is the standard API for TCP/IP programming in the Unix world NFS you graft remote filesystems - or portions of them - onto your local namespace. Files on remote systems appear as part of your local QNX file system SMB –Sever message block which is used by a number of different servers such as Windows NT, Windows 95, and Windows for Workgroups, LAN Manager, and Samba. The SMB fsys file system allows a QNX client to transparently access remote drives residing on such servers QNX® real-time operating system

QNX® real-time operating system CONCLUSION In concluding remarks I would like to say that QNX RTOS has modern client-server architecture and is completely message-based. The system is robust. QNX also qualifies as a fault-tolerant, fully distributed operating system. QNX® real-time operating system