1. OVERVIEW OF RTLINUX
&
FEATURES
Dr. C. SARITHA
Lecturer in Electronics
SSBN Degree & PG College
Anantapur
2. OVERVIEW
• What is operating system?
• Real time operating system
• Overview of Unix/Linux
• Features of Linux
• RTLinux
3. What is an operating system?
• An operating system is a set of programs
that manage computer hardware
resources and provide common services
for application software.
• The operating system is the most
important type of system software in a
computer system.
• A user cannot run an application program
on the computer without an operating
system.
4. Types of Operating Systems
Different types of operating systems are
• Real time
• Multi user
• Multi-tasking vs -Single-tasking
• Distributed
• Embedded
5. Real-time Operating System
• A Real-time operating system is a
multitasking operating system intended for
applications with fixed deadlines.
• Applications include some small
embedded systems, automobiles engine
controllers, industrial robots, spacecraft,
industrial control, and some large-scale
computing devices.
6. Most widely deployed Real-time
operating system are
• Linux
• OSE
• QNX
• RTLinux
• VxWorks
• Windows CE
7. Categories Of Real-time Systems
There are two flavors of real-time
systems.
• Hard Real-time System
• Soft Real-time system.
8. • Hard real-time system is hardware or
software that must operate within the
confines of a stringent deadline.
• The application may be considered to
have failed if it does not completes its
function within the allotted time span.
• Hard real time systems include aircraft
control systems.
• In soft real-time systems, meeting the
deadline is important but missing the
deadline will not lead to a catastrophe.
9. Overview of Unix/Linux
• Unix stands for UNiplexed Information and
Computing
• Unix was developed by Ken Thomson and
Dennis Ritchie beginning 1969.It became
the popular operating system in the
academic community during 1970’s.
• It was commercialized in and since then
,its use in both academic and commercial
world has grown tremendously.
10. • Unix operating systems are widely used in
servers, workstation, and mobile devices.
• Unix was designed to be portable, multi-
tasking and multi-user in a time-
sharing configuration.
• Unix operating systems are not open
source operrting systems.
11. The main attractions of Unix are:
• Most of the operating system was
developed in a high level languages. This
was revolutionary during those days
because before advent of UNIX ,operating
system were developed in assembly
languages.
• The main attraction of Unix is that provide
a large number of utilities for software
debuggers, source code control systems.
12. Unix has some popular myths:
• It is a complicated operating system.
• Too many options for each command.
• Too many commands and utilities.
• Unix was not free and open source it is
commercial operating system.
13. • In April 1991, Linus Torvards, a 21-year-
old student at the University of Helsinki,
Finland started working on some simple
ideas for an operating system.
• Linux is a Unix-like computer operating
system assembled under the model of free
and open source software development
and distribution.
• Linux is the kernel of the operating
system.
14. • Linux was originally developed as a free
operating system for Intel x86-based
personnel computers.
• Linux since has been ported to more
computed hardware platforms than any
other operating systems.
• Linux also run on embedded systems.
Such as mobile phones, network routers,
televisions.
15. Features of Linux
• Linux is a multi-user operating system.
Every user is given a username or login
name.
• The heading system is organized
hierarchically. At the topmost level is the
root directory denoted by / under which
there will be sub-directories. Under each
subdirectory there can be directories or
files.
16. Important directories are
• /bin contains commonly used commands
• /usr/bin contains less commonly used
commands
• /etc contains the system administration
commands
• /dev contains device files
• /usr /spool/mail contains mail files.
17. A variety of user interfaces are available.
• The command user interfaces are shell, k-
shell, and C shell. X-windows provide the
graphical user interface.
• To provide security for user’s files, a user
will have a password.
• Every file is given protections read, write
and execute permissions are given to the
owner, group and others.
18. KERNEL:
• Kernel manages the tasks to achieve the
desired performance of the system .
• To manage the tasks, the important
requirements are to schedule the tasks
and to provide inter-task communication
facilities
• to achieve these two requirements, kernel
objects are defined such as
19. • Tasks
• Mutexes
• ISR’s
• Events
• Message boxes
• Mailboxes
• Pipes and timers
• Kernel provide the memory management
service, time management services,
interrupt handling services and device
management services.
20. LINUX KERNEL
Users Users Users Users
processors processors processors processors
System libraries
Device drivers
Unix/Linux kernel
hardware
21. RTLINUX
• RTLinux is a hard real-time RTOS
microkernel that runs the entire Linux
operating system as a fully preemptive
process.
• It was developed by Victor Yodaiken,
Michael Barabanov and others at the New
Mexico Institute of Mining and Technology
and then as a commercial product at
FSMLabs.
• FSMLabs has two editions of RTLinux.
22. • RTLinux pro and RTLinux free. RTLinux
pro is the priced edition and RTLinux is
the open source release.
• RTLinux support hard real time
applications, the Linux kernel has been
modified by adding a layer of software
between the hardware and the Linux
kernel. This additional layer is called
“virtual machine”.
• A foot print of 4MB is required RTLinux.
23. • The new layer, RTLinux layer has a
separate task scheduler. This task
scheduler assigns lowest priority to the
standard Linux kernel. Any task that has
to met real-time constraints will run under
RTLinux.
• Interrupts from Linux are disabled to
achieve real-time performance.
25. DIFFERENCESS BETWEENTHE
LINUX AND RTLINUX:
Linux
RTLinux
• Linux is not a hard
real time system. • RTLinux supports
hard real-time
• The tasks, which applications.
do not have any
time constraints. • Any task that has
real-time
constraints will run
under RTLinux.
26. In RTLinux location of the various files
are:
• RTLinux will be installed in the directory
/usr/rtlinux-xxx, where xxx is the version
name.
• /usr/rtlinux/include contains all the include
files necessary for development project.
• /usr/doc/rtlinux/man contains the manual
pages for the RTLinux.
• /usr/rtlinux/modules contains the core
RTLinux modules
27. The two important aspects while doing
programming in RTLinux are:
• By default, the RTLinux tasks do not have
access to the computer’s floating points
unit. Hence need to explicitly set the
permissions for every RTLinux task.
• Cannot pass arguments from the
command prompt.
28. RTLINUX MODULES
• RTLinux programs are not created as
stand-alone units, they are created as
modules, which are loaded into the Linux
kernel space.
• The C source files are compiled into
objects files using the gcc command with
the argument –c flag. In the C file, the
main() function gets replaced with the
fallowing lines:
29. • Int init_module();
• Void cleanup_module();
• Init_module is called when the module is
first loaded into the kernel.
• This function returns 0 if the module is
successfully loaded. It returns a negative
value in case of failure. When the module
is loaded is to be unloaded , the
cleanup_module() is called.
30. EXECUTING THE RTLINUX
MODULES
• In RTLinux load and stop user modules
using the RTLinux command. Using this
command we can obtain status
information about RTLinux modules.
• The command syntax is:
• $rtlinux start my_program
• $rtlinux stop my_program
• $rtlinux status my_program
31. CREATING RTLINUX POSIX
THREADS
• A real-time program generally consists of
a number of threads.
• Each thread share a common address
space .
• Pthread_create() function is used to create
a new real-time thread.
The corresponding header file is
#include <pthread.h>
32. • To achieve real-time performance. The
various POSIX compliant API function
calls are used. These function calls are
related to create and cancel
semaphores.
• To implement mutex, we have to include
the header file <rtl_mutex.h> in the C
program.
• To cancel a thread, the system call is
pthread_cancel.
33. TIMER MANAGEMENT
• A number of internal clocks are available
in RTLinux to manage the timers.
• To obtain the current clock reading using
command is:
clock-set time() function
clock_id gives the identification of the
clock to be read.