Você está na página 1de 75

Introduction to Operating systems & RTOS

MRS. HAZEL B. FRANCE IT Department

Prologue
A computer is a complex system with many resources like CPU, I/O devices, disk, memory etc For any common user it is always a confusion about the using of the resources effectively. Because, unless otherwise the system is user-friendly, the user cannot use the computers effectively.

So we always require a system software which can take care of all the hardware complexities and shoulder the responsibility of resource allocation such that the user can work with the computer more effectively. This was realised by the people very long back and they tried to develop a software to shield the programmers from the complexity of the hardware.

The result is, a layer of software on the top of the hardware, to manage all parts of the system and present the user with an interface or Virtual machine that is easier to understand the program. This layer of the software has become our so-called OPERATING SYSTEM.

Now Lets answer the question What is an Operating System?

A more formal definition!


OS is A collection of software modules to assist programmers in enhancing the system efficiency , flexibility and robustness. Or Operating system is a piece of software which controls all the computers resources and provides the base upon which the application programs can be written

From the user point of view


OS is An extended machine (virtual) and

From the systems view point


It is a resource manager.

Let us substantiate !


The operating system shields the programmer from the disk hardware and provides a simple file oriented interface. It also conceals a lot of unpleasant business concerning interrupts, timers, memory management and other low level features. So the function of the OS is to present the user with the equivalent of an extended machine or virtual machine.

Contd


A computer is provided with processors, memories, timers, disks, terminals, drives, printers, network interfaces and a wide variety of the other devices. The operating system provides an orderly and controlled allocation of the processors, memories and I/O devices among the various programs competing for them. It also keep track of, who is using which resource, to grant resource requests, to account for usage and to mediate conflicting requests from different users and programs.

Contd. Provides an environment in which programs can be executed. Makes efficient use of computer hardware and peripherals. Hide the peculiarities of the disks and other I/O devices.Hence the OS is also treated as a resource manager

So,Where your OS sits in your System?

compilers databases word processors

CPU memory I/O devices

Evolution of OS


The next slide shows the evolution of OS . Actually Prof.E.W.Dijsktra is considered as the father of Operating system.

Generation First

Era 1945-55 Vacuum tubes ENIAC EDVAC Analog computers 1955-65 IBM 1401, 7094 1965-80 IBM 360 1980-90 IBM 360 No O/S

O/S used

Feature Plug in boards Jumper wired

Second

Batch O/S (Not interact system) Time sharing O/S (many at the same time PDP-II MS-DOS UNIX

Paper tape Punched cards Offline printing Spooling (On-line) Multiprogramming User friendly. He need not know about computer More advanced

Third

Fourth

Fifth

1990 KBCS Distributed O/S (Knowledge Network O/S based computer system)

The basic requirements of OS:


Usability (Robustness) OS should accept all valid inputs ,even with errors and gracefully handle all invalid inputs .It should not be crashed under any circumstances ,and could be recovered,even we remove any hardware while they are running .


Facilities:
It should provide every facility for the efficient development of application software and should not leave out any part of the facility.

Adaptability :
Should support necessary activities,and not to impose unnecessary restrictions.Adapt as needs and resources change.

Cost: Low maintenance cost and the system should not require constant attention.Efficient service and good algorithms must be provided at low cost

OS Components
  

Kernel: Core components of the OS Process scheduler :




Determines when and for long each process executes Determines when and how memory is allocated to processes Decides what to do when main memory is full Organizes named collections of data in persistent storage Enables processes to communicate with one another

Memory manager :
 

 

File system :


Networking :


The primary functions of an operating system


  

  

Multiplexing the processor(s) Scheduling the processes Coordinating interaction among processes,interprocess communication and Synchronization. Managing the system resources(I/O,memory,data files) Enforcing acess control and protection Maintaining the system integrity and performing error recovery Providing an interface to the users

TYPES OF OPERATING SYSTEMS


There are three types of Operating systems based on their application

StandStand-Alone Operating system Network Operating systems Embedded Operating systems

StandStand-Alone Operating system


It is a complete operating system that works on a desktop or notebook computer. Examples of stand-alone operating systems are: stand DOS  Windows 2000 professional  Mac OS X

Network Operating systems




It is an operating system that provides extensive support for computer networks. A network operating system typically resides on a server. Examples of a network Operating system are: Windows 2000 server Unix Linux Solaris

Embedded Operating system




o o o

You can find this operating system on handheld computers and small devices. It resides on a ROM chip. Examples of embedded operating systems are : Windows CE Pocket PC 2002 Palm OS

Now Lets see various Operating systems and their features

Operating systems market share


S.No Operating system
1 2 3 4 5 6 7 8 9
10 11

Market share
81.94% 4.52% 4.00% 3.52% 2.48% 1.14% 0.71% 0.66% 0.59% 0.17% 0.20%

Windows XP Windows Vista Windows 2000 Mac OS MacIntel Windows 98 Linux Windows NT Windows Me Ninendo Wii Other

REAL- TIME OPERATING REALSYSTEM (RTOS) :




The ability of the operating system to provide a required level of service in a bounded response time. Or The Real time operating system is an operating system that make it suitable for building real time computing applications also known as real time systems(RTS).

What is a real time system(RTS)?


A RTS is a system where correctness of computing depends not only on the correctness of the logical result of the computation but also on the result of delivery time. In a well designed RTS each individual dead line should be met.But in practice it is not possible and also costly to achieve this requirement.So, people classified the real time systems in to the following types.

Hard Real time: time:


Here missing an individual deadline results in catastrophic failure of the system which also causes a great financial loss .
The examples for Hard real time systems are: are:
 

Air traffic control Nuclear power plant control

Firm Real time


In this, missing a deadline results in unacceptable quality reduction. Technically there is no difference with hard Real time, but economically the disaster risk is limited. Examples for Firm real time are : Failure of Ignition of a automobile Failure of opening of a safe

o o

Soft real time: time:


Here the dead line may not be fulfilled and can be recovered from. The reduction in system quality and performance is at an acceptable level. Examples of Soft real time systems :  Multimedia transmission and reception  Networking, telecom (Mobile) networks  websites and services  Computer games

Components of an RTOS


Process (task) management


 

Scheduler Synchronization mechanism


 Interprocess  Semaphores

communication (IPC)

     

Memory management Interrupt service mechanism I/O management , H.A.Layer Development Environments Communication subsystems (Option) Board Support Packages (BSP)

Features of RTOSs
    

Predictability Timeliness Reliability Fault tolerant Efficiency of System Components

Resource Allocation. Interrupt Handling. Other issues like kernel size.

Types of RTOS
Commercial RTOSs  VxWorks  QNX  MicroC/OS-II MicroC/OS RTLinux  Windows CE ( www.microsoft.com)

VxWorks
   

This is from Wind River (www.windriver.com). (www.windriver.com). One of the most popular real time operating system This has been used in the Mars pathfinder It supports a number of processors including Power Pc, Intel strong ARM,ARM,Hitachi SuperH, Motorola ColdFire etc It supports multiple scheduling algorithm and also priority inheritance

QNX Neutrino
   

It is a popular real time operating system from QNX software systems limited (www. qnx.com) It supports a number of Processors namely ARM,MIPS,Power PC,SH-4,X86 &Pentium PC,SHIt has support for C,C++ and Java languages and TCP/IP protocol stack. This supports multiple scheduling algorithms and up to 65,535 tasks. My SQL can be integrated with this OS to create embedded database applications. Even small embedded systems can use this OS as it requires 64K Kernel ROM and 32K kernel RAM

MicroC/OS-II MicroC/OS

 

Microcontroller operating system version II is developed by Jean J.Labrosse(www.ucosJ.Labrosse(www.ucosII.com)is a preemptive real-time operating realsystem which is popular in academic institutions for teaching RTOS concepts. It can support only 64 tasks out of which eight are system tasks RoundRound-robin scheduling algorithm is not supported by this OS

RTLinux


This OS was developed by FSM Labs(www.fsmlabs.com) Labs(www.fsmlabs.com) and available in two versions RTLinux Pro and RTLinuxFree. The RTLinux Pro is the priced edition and RTLinux Free is the free open source release. RTLinux is a hard real-time operating system realwith support for many processors such as x86,Pentium,PowerPC,ARM,Fujitsu,MIPS and Alpha It does not support priority inheritance.

Windows CE


Windows CE (also known officially as Windows Embedded Compact and sometimes abbreviated WinCE) is an operating system developed by Microsoft for minimalistic computers and embedded systems. Windows CE is optimized for devices that have minimal storagea Windows CE kernel may storage run in under a megabyte of memory

The system supports 256 priority levels and uses priority inheritance for dealing with priority inversion. The fundamental unit of execution is the thread. This helps to simplify the interface and improve execution time. A distinctive feature of Windows CE compared to other Microsoft operating systems is that large parts of it are offered in source code form.

Programming languages Used




C is most widely used in RTOS programming C++ and Ada are the next more popular for large projects. Assembly languages for increasing efficiency and reusing the previous code Java may also be a choice for some applications

Which is the Best?




It is always very difficult to judge which RTOS is the best and which is the worst.It depends on the application and interests of the user. Among the above, Linux is royalty free but it has serious drawbacks if it comes to real-time realbehavior. The VxWorks is a very old and stable RTOS. Similarly Windows CE 5.0 version RTOS is a robust and stable regarding the realrealtime behavior.

REFERENCES
  

Modern Operating Sytems- Andrew S. Tanenbaum (PHI) SytemsOperating Systems W. Stallings (PHI) Operating system Concepts-Avi Silberschatz & Peter ConceptsBaer Galvin. Operating Systems-D. M. Dhamdhere- TMH SystemsDhamdhere-

THANK YOU!

Você também pode gostar