SlideShare une entreprise Scribd logo
1  sur  32
J.SUDARSHANREDDY
RTLinux Lab – Introduction
Cpre 558
J.SUDARSHANREDDY
01/25/15
J.SUDARSHANREDDY
Contents
• Real-Time Operating System (RTOS) Vs. General Purpose OS
(GPOS)
• Can Linux provide real-time guarantees?
• Commercial RTOSs
• RTLinux Vs. Linux: Architectural comparison
• RTLinux Vs. Linux: Code perspective
• Get the RTLinux setup ready
• Things to Issue and Handling the hard disk
• Lab #1: Detailed discussion
01/25/15
J.SUDARSHANREDDY
RTOS Vs. GPOS
• RTOS
– needs deterministic timing behavior
– Works under worst case assumptions
• GPOS
– high throughput and fairness
– Optimizes for the average case
• Hence, the design objectives of the OSs are different
01/25/15
J.SUDARSHANREDDY
Can Linux provide real-time guarantees?
-- No!!
• Linux
– non-preemptible kernel
• A system call might take long time to complete
– Coarse timer resolution
• Tasks can be released only with 10ms precision
– Virtual memory
• Introduces unpredictable amount of delays
– Variable priority
• Each task is assigned a priority which varies over the time;
this is to achieve fairness
01/25/15
J.SUDARSHANREDDY
Can Linux provide real-time guarantees?
-- No!! (contd..)
• Linux
– Linux will batch several operations for efficient use of H/W delaying
all tasks
– Linux also reorders requests from multiple processes for H/W
efficiency
– Linux does not preempt low priority task in a system call, instead
queues the high priority task
– Linux makes high priority tasks to wait for low priority tasks to release
resources
Therefore, Linux cannot provide real-time guarantees
01/25/15
J.SUDARSHANREDDY
Commercial RTOS
• RTLinux – Monolithic kernel with loadable modules
• QNX – Microkernel approach
• VxWorks – Monolithic kernel
• LynxOS – Microkernel
• ARTS, Spring, KURT, RTAI, etc….
01/25/15
J.SUDARSHANREDDY
• Open source Linux project
• Supports x86, PowerPC, Alpha
• Available as a patch to the regular Linux kernel
• Provides an RT API for developers
• Runs Linux kernel as lowest priority process
RTLinux: Overview
01/25/15
J.SUDARSHANREDDY
Linux Kernel
System libraries
Device drivers Linux kernel
Hardware
I/O Hardware Interrupts
User Processes
01/25/15
J.SUDARSHANREDDY
RTLinux Kernel
Hardware
System libraries
Device drivers Linux kernel
I/O Software Interrupts
User Processes
RTLinux Plug-in
Real Time Tasks
RT-Scheduler
I/O Hardware Interrupts
Linux is executed in the background
Direct
h/w
access
01/25/15
J.SUDARSHANREDDY
Linux Kernel: code perspective
Linux Monolithic kernel core
M1
M2
M3
M4
KernelLoadableModules
RAM DISK
Module M2 service
(system call)
User
Process
M2
THE
controller
01/25/15
J.SUDARSHANREDDY
RTLinux Kernel: code perspective
Linux Monolithic kernel core
RTM2
RTM3
M1
M2
KernelLoadableModules
RAM
DISK
Load RT core
RT Load
command
RT-Core Module
RT core
M3
THE
controller
01/25/15
J.SUDARSHANREDDY
Getting RTLinux ready
• Configure and compile a fresh Linux kernel (2.4.29)
– Download the kernel from
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4
• Patch the RTLinux to the Linux kernel
• Recompile the kernel and reboot the system into the
new kernel
• Configure the RTLinux kernel and compile it
01/25/15
J.SUDARSHANREDDY
So, How do we run a RT-application program ?
• Step 1: Write the RT-application program as a kernel
module
– (You are still in Linux)
• Step 2: Compile the module and check for errors
– (You are still in Linux)
• Step 3: Load the RT-Core (or RT Scheduler, etc..) and
the RT-application program module
– (After this we will be in RTLinux)
• Step 4: Now you are in RTLinux!!!!
01/25/15
J.SUDARSHANREDDY
Homework
• Submission 1:
– Give a ten line write-up comparing RTLinux with
Linux with at least five differences along with the
references.
• Submission 2:
– Give a ten line write-up comparing RTLinux with
two other commercial RTOSs with at least five
differences for each of them along with the
references.
01/25/15
J.SUDARSHANREDDY
Lab Policies
• Six assignments in total
• First three assignments are mandatory
• One of the last three assignments is
mandatory
• You will be working with a removable
hard disk which can be issued from CSG
01/25/15
J.SUDARSHANREDDY
Things to Issue
• Issue the following from the CSG
– Hard disk (one per group)
– Key (one per group)
– RHEL – WS3 installation DVD (one per group)
• You need to download the lab01 tar file
(lab01.tgz) from the course website.
• The RTLinux lab is in Coover - 1331C
01/25/15
J.SUDARSHANREDDY
Handling the hard disk (1)
• Shutdown the PC
• After the power is off, unlock the existing hard
disk and take it out
• Insert the hard disk given to you and lock it
• Restart the comp
• Follow the manual you have downloaded from
the course website
01/25/15
J.SUDARSHANREDDY
Handling the hard disk (2)
• After you are done with the lab:
– Shutdown the PC
– After the power is off, unlock the hard disk
and remove it
– Insert the original hard disk and lock it
– Leave the Lab
01/25/15
J.SUDARSHANREDDY
Lab 1: Objectives
• Part 1:
– Getting the RTLinux lab setup ready
• Part 2:
– Run a few simple hello-world modules
01/25/15
J.SUDARSHANREDDY
Part 1
• Install the RHEL-WS3 using the DVD given to you
– Go for the auto-partitioning option
– Rest everything is straightforward
• Configure and compile fresh Linux kernel (2.4.29)
• Patch the RTLinux to the Linux kernel
• Recompile the kernel and reboot the system into the
new kernel
• Load RT-modules
• Instructions are provided in the Lab manual
01/25/15
J.SUDARSHANREDDY
Part 2
• Boot into the RTLinux kernel compiled in part-1
• The objectives of the part 2 are:
– Understanding a simple RTLinux kernel module
• With one thread (hello-1) and two threads (hello-2)
– Printing from a RTLinux module
• rtl_printf (hello-3)
• Using rtf_put (RT-FIFO) (hello-4)
01/25/15
J.SUDARSHANREDDY
A kernel module Vs. Program
• All RT-Tasks are kernel modules. Therefore, we write kernel
modules in this lab.
• A user program runs in user space and the kernel module runs in
the kernel space
• A user program starts running at its “main” function
• A kernel module starts running at the “init_module” function and
exits via “cleanup_module” function
• Therefore, for a kernel module “init_module” and
‘cleanup_module” are as necessary as “main” is
necessary for a C program
01/25/15
J.SUDARSHANREDDY
A typical kernel module
Init_module()
{
…….
Perform your module initiation stuff etc..
}
Cleanup_module()
{
…….
Perform cleanup stuff like destroying the threads, freeing
memory, etc..
}
01/25/15
J.SUDARSHANREDDY
Hello world Module
• Go through the hello world module
• Realize the importance of init_module and
cleanup_module
• Notice the way the thread is created and how
it is made periodic
• Understand the “pthread_make_periodic” and
“pthread_wait” and other interfacing functions
01/25/15
J.SUDARSHANREDDY
A typical RTLinux module
Init_module() {
For each thread:
Choose the priority function
//pthread_set_priority(..);
Assign the “task_function” to
the thread
Create the thread
//pthread_create(..,
task_function,..); }
Task_function()
{
Pthread_make_periodic_np(
p);
while(1)
{
Pthread_wait_np();
//perform the task function
//for this instance
}
}
Cleanup_module()
{
…….
Delete the thread
//pthread_delete_np(..);
}
This function tells
the scheduler that
I am a periodic
task with period
“p”
This function tells
the scheduler that
I am done for this
instance and
schedule me after
“p” units of time
01/25/15
J.SUDARSHANREDDY
Hello World 2
• This module creates two threads using a nice
“thread_struct” structure to make the
initialization easy and compact.
• Once again go through the interfacing
funcitons
• This time put more “rtl_printf” statements and
open “/var/log/messages” file to find your
output
01/25/15
J.SUDARSHANREDDY
RTL_PRINTF: how does it work?
Rtl_printf printk
Printk buffer
Kernel ring
buffer
syslodgconsole
Might overflow!!
Might overflow!!
Log file
01/25/15
J.SUDARSHANREDDY
Other ways of printing: RTL-FIFO
• RTLinux FIFO provides communication
mechanisms between RTL threads and
Linux task.
• A linux process creates the RTL-FIFO
buffer which the RTL threads access
and write and read from them
01/25/15
J.SUDARSHANREDDY
RTL-FIFO
• Creating and destroying FIFOS:
– Using functions: rtf_create and rtf_destroy
– These functions are called from linux
process: open(), read(), write();
• Accessing FIFOs from RTL threads
– using functions: rtf_put and rtf_get
01/25/15
J.SUDARSHANREDDY
Using RTL_FIFO
RT Task:
my_put task
Linux Task:
my_read task
RTL FIFO
rtf_create()
Time
rtf_put()
open()
read()
rtf_destroy()
01/25/15
J.SUDARSHANREDDY
Submissions
• Submission 1:
– Submit a five line write-up explaining the working of
the two RTL interfacing functions including:
• Pthread_make_periodic_np
• Pthread_wait_np
• Rtf_create,rtf_destroy, rtf_put, rtf_get
• Submission 2:
– Submit a five line write-up giving at least five
differences between a kernel module and a user
program.
01/25/15
J.SUDARSHANREDDY
Thank You!!
01/25/15

Contenu connexe

Tendances

Introduction to RTOS
Introduction to RTOSIntroduction to RTOS
Introduction to RTOSYong Heui Cho
 
Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel SourceMotaz Saad
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and PropertiesSaadi Rahman
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDFMohamed Ben Bouzid
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc DifferenceSehrish Asif
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel DevelopmentPriyank Kapadia
 
Linux Presentation
Linux PresentationLinux Presentation
Linux PresentationNaiyan Noor
 
Software and its types and its advantages and disadvantages
Software and its types and its advantages and disadvantagesSoftware and its types and its advantages and disadvantages
Software and its types and its advantages and disadvantagesYousaf Sahota
 
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)William Liang
 
Chapter 21 - The Linux System
Chapter 21 - The Linux SystemChapter 21 - The Linux System
Chapter 21 - The Linux SystemWayne Jones Jnr
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchysritolia
 
1.1 Installion of Redhat Linux.pptx
1.1 Installion of  Redhat Linux.pptx1.1 Installion of  Redhat Linux.pptx
1.1 Installion of Redhat Linux.pptxMakiMan1
 

Tendances (20)

Linux
LinuxLinux
Linux
 
Introduction to RTOS
Introduction to RTOSIntroduction to RTOS
Introduction to RTOS
 
Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel Source
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
Présentation ubuntu 12.10 PDF
Présentation ubuntu  12.10 PDFPrésentation ubuntu  12.10 PDF
Présentation ubuntu 12.10 PDF
 
Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc Difference
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
Linux Kernel Development
Linux Kernel DevelopmentLinux Kernel Development
Linux Kernel Development
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Software and its types and its advantages and disadvantages
Software and its types and its advantages and disadvantagesSoftware and its types and its advantages and disadvantages
Software and its types and its advantages and disadvantages
 
Unix - An Introduction
Unix - An IntroductionUnix - An Introduction
Unix - An Introduction
 
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)
 
Chapter 21 - The Linux System
Chapter 21 - The Linux SystemChapter 21 - The Linux System
Chapter 21 - The Linux System
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchy
 
Rtos Concepts
Rtos ConceptsRtos Concepts
Rtos Concepts
 
Linux
LinuxLinux
Linux
 
1.1 Installion of Redhat Linux.pptx
1.1 Installion of  Redhat Linux.pptx1.1 Installion of  Redhat Linux.pptx
1.1 Installion of Redhat Linux.pptx
 
Real time-embedded-system-lec-02
Real time-embedded-system-lec-02Real time-embedded-system-lec-02
Real time-embedded-system-lec-02
 
Linux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platformLinux Systems: Getting started with setting up an Embedded platform
Linux Systems: Getting started with setting up an Embedded platform
 

En vedette

Rtlinux tutorial
Rtlinux tutorialRtlinux tutorial
Rtlinux tutorialKevin Paz
 
Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Ramola Dhande
 
RedHat Linux
RedHat LinuxRedHat Linux
RedHat LinuxApo
 
Oracle Database Overview
Oracle Database OverviewOracle Database Overview
Oracle Database Overviewhonglee71
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux pptOmi Vichare
 
Top 100 Linux Interview Questions and Answers 2014
Top 100 Linux Interview Questions and Answers 2014Top 100 Linux Interview Questions and Answers 2014
Top 100 Linux Interview Questions and Answers 2014iimjobs and hirist
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questionsKavya Sri
 

En vedette (9)

Rtlinux tutorial
Rtlinux tutorialRtlinux tutorial
Rtlinux tutorial
 
Rtos
RtosRtos
Rtos
 
2013 ufsc rt_grad_class
2013 ufsc rt_grad_class2013 ufsc rt_grad_class
2013 ufsc rt_grad_class
 
Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)Red hat enterprise linux 7 (rhel 7)
Red hat enterprise linux 7 (rhel 7)
 
RedHat Linux
RedHat LinuxRedHat Linux
RedHat Linux
 
Oracle Database Overview
Oracle Database OverviewOracle Database Overview
Oracle Database Overview
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
 
Top 100 Linux Interview Questions and Answers 2014
Top 100 Linux Interview Questions and Answers 2014Top 100 Linux Interview Questions and Answers 2014
Top 100 Linux Interview Questions and Answers 2014
 
Linux admin interview questions
Linux admin interview questionsLinux admin interview questions
Linux admin interview questions
 

Similaire à Rt linux-lab1

embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdftwtester
 
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbeddedFest
 
Linux Kernel Platform Development: Challenges and Insights
 Linux Kernel Platform Development: Challenges and Insights Linux Kernel Platform Development: Challenges and Insights
Linux Kernel Platform Development: Challenges and InsightsGlobalLogic Ukraine
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embeddedAlison Chaiken
 
Introduction to NetBSD kernel
Introduction to NetBSD kernelIntroduction to NetBSD kernel
Introduction to NetBSD kernelMahendra M
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Peter Martin
 
The ABC of Linux (Linux for Beginners)
The ABC of Linux (Linux for Beginners)The ABC of Linux (Linux for Beginners)
The ABC of Linux (Linux for Beginners)plarsen67
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developersAlison Chaiken
 
Android and Hard Real Time
Android and Hard Real TimeAndroid and Hard Real Time
Android and Hard Real TimeAkshar Desai
 
Linux kernel modules
Linux kernel modulesLinux kernel modules
Linux kernel modulesEddy Reyes
 
Diagnostics of a Linux System
Diagnostics of a Linux SystemDiagnostics of a Linux System
Diagnostics of a Linux SystemNovell
 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Ahmed El-Arabawy
 
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗Macpaul Lin
 
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudFlexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudDevOps for Enterprise Systems
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)Joe Brockmeier
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKMarco Cavallini
 
12 Lessons Learnt in Boot Time Reduction
12 Lessons Learnt in Boot Time Reduction12 Lessons Learnt in Boot Time Reduction
12 Lessons Learnt in Boot Time Reductionandrewmurraympc
 
Embedded Systems Introduction
Embedded Systems IntroductionEmbedded Systems Introduction
Embedded Systems IntroductionSagar Adroja
 

Similaire à Rt linux-lab1 (20)

embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdf
 
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theoryEmbedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
 
Linux Kernel Platform Development: Challenges and Insights
 Linux Kernel Platform Development: Challenges and Insights Linux Kernel Platform Development: Challenges and Insights
Linux Kernel Platform Development: Challenges and Insights
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embedded
 
Introduction to NetBSD kernel
Introduction to NetBSD kernelIntroduction to NetBSD kernel
Introduction to NetBSD kernel
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)
 
The ABC of Linux (Linux for Beginners)
The ABC of Linux (Linux for Beginners)The ABC of Linux (Linux for Beginners)
The ABC of Linux (Linux for Beginners)
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developers
 
SystemV vs systemd
SystemV vs systemdSystemV vs systemd
SystemV vs systemd
 
Android and Hard Real Time
Android and Hard Real TimeAndroid and Hard Real Time
Android and Hard Real Time
 
Linux kernel modules
Linux kernel modulesLinux kernel modules
Linux kernel modules
 
Diagnostics of a Linux System
Diagnostics of a Linux SystemDiagnostics of a Linux System
Diagnostics of a Linux System
 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers
 
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗
 
Embedded system - embedded system programming
Embedded system - embedded system programmingEmbedded system - embedded system programming
Embedded system - embedded system programming
 
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the CloudFlexible DevOps Deployment of Enterprise Test Environments in the Cloud
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
 
12 Lessons Learnt in Boot Time Reduction
12 Lessons Learnt in Boot Time Reduction12 Lessons Learnt in Boot Time Reduction
12 Lessons Learnt in Boot Time Reduction
 
Embedded Systems Introduction
Embedded Systems IntroductionEmbedded Systems Introduction
Embedded Systems Introduction
 

Plus de JOLLUSUDARSHANREDDY

RTOS CASE STUDY OF CODING FOR SENDING APPLIC...
                                RTOS  CASE STUDY OF CODING FOR SENDING APPLIC...                                RTOS  CASE STUDY OF CODING FOR SENDING APPLIC...
RTOS CASE STUDY OF CODING FOR SENDING APPLIC...JOLLUSUDARSHANREDDY
 
Basic functions & types of RTOS ES
Basic functions & types of  RTOS ESBasic functions & types of  RTOS ES
Basic functions & types of RTOS ESJOLLUSUDARSHANREDDY
 
DEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENT
DEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENTDEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENT
DEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENTJOLLUSUDARSHANREDDY
 
INTERRUPT LATENCY AND RESPONSE OF THE TASK
INTERRUPT LATENCY AND RESPONSE OF THE TASKINTERRUPT LATENCY AND RESPONSE OF THE TASK
INTERRUPT LATENCY AND RESPONSE OF THE TASKJOLLUSUDARSHANREDDY
 
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLSINTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLSJOLLUSUDARSHANREDDY
 
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2JOLLUSUDARSHANREDDY
 
Automated system for fault analysis in industries using
Automated system for fault analysis  in industries usingAutomated system for fault analysis  in industries using
Automated system for fault analysis in industries usingJOLLUSUDARSHANREDDY
 
CASE STUDY OF DIGITAL CAMERA HARDWARE AND SOFT WARE ARCHITECTURECASE STUDY OF...
CASE STUDY OF DIGITAL CAMERAHARDWARE AND SOFT WAREARCHITECTURECASE STUDY OF...CASE STUDY OF DIGITAL CAMERAHARDWARE AND SOFT WAREARCHITECTURECASE STUDY OF...
CASE STUDY OF DIGITAL CAMERA HARDWARE AND SOFT WARE ARCHITECTURECASE STUDY OF...JOLLUSUDARSHANREDDY
 
SOLAR TRACKING SYSTEM BY USING MICROCONTROLLER
 SOLAR  TRACKING  SYSTEM  BY  USING  MICROCONTROLLER SOLAR  TRACKING  SYSTEM  BY  USING  MICROCONTROLLER
SOLAR TRACKING SYSTEM BY USING MICROCONTROLLERJOLLUSUDARSHANREDDY
 
Zigbee Based Solar Light System By Using LDR
Zigbee Based Solar Light System By Using LDRZigbee Based Solar Light System By Using LDR
Zigbee Based Solar Light System By Using LDRJOLLUSUDARSHANREDDY
 
Design of smart nodes for wireless sensor network ...
Design of smart nodes for wireless sensor network                            ...Design of smart nodes for wireless sensor network                            ...
Design of smart nodes for wireless sensor network ...JOLLUSUDARSHANREDDY
 
ATM USER ACCOUNT SECURE BY USING GSM TECHNOLOGY
ATM USER ACCOUNTSECURE BYUSING GSM TECHNOLOGYATM USER ACCOUNTSECURE BYUSING GSM TECHNOLOGY
ATM USER ACCOUNT SECURE BY USING GSM TECHNOLOGYJOLLUSUDARSHANREDDY
 
BOMB DETECTION ROBOT BY USING GSM & GPS
BOMB DETECTION ROBOT BY USING GSM & GPSBOMB DETECTION ROBOT BY USING GSM & GPS
BOMB DETECTION ROBOT BY USING GSM & GPSJOLLUSUDARSHANREDDY
 
STUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFID
STUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFIDSTUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFID
STUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFIDJOLLUSUDARSHANREDDY
 
SOLAR BASED MOBILE CHARGER IN RURAL AREAS
SOLAR BASED MOBILE CHARGER IN RURAL AREASSOLAR BASED MOBILE CHARGER IN RURAL AREAS
SOLAR BASED MOBILE CHARGER IN RURAL AREASJOLLUSUDARSHANREDDY
 

Plus de JOLLUSUDARSHANREDDY (20)

RTOS CASE STUDY OF CODING FOR SENDING APPLIC...
                                RTOS  CASE STUDY OF CODING FOR SENDING APPLIC...                                RTOS  CASE STUDY OF CODING FOR SENDING APPLIC...
RTOS CASE STUDY OF CODING FOR SENDING APPLIC...
 
MEMORY MANAGEMENT
MEMORY MANAGEMENTMEMORY MANAGEMENT
MEMORY MANAGEMENT
 
Os security issues
Os security issuesOs security issues
Os security issues
 
Basic functions & types of RTOS ES
Basic functions & types of  RTOS ESBasic functions & types of  RTOS ES
Basic functions & types of RTOS ES
 
RTOS LINUX2.6.X & LINUX2.6.24
 RTOS    LINUX2.6.X & LINUX2.6.24 RTOS    LINUX2.6.X & LINUX2.6.24
RTOS LINUX2.6.X & LINUX2.6.24
 
OSEK / VDX
OSEK / VDXOSEK / VDX
OSEK / VDX
 
DEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENT
DEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENTDEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENT
DEVICE FILE AND INPUT OUTPUT SUBSYSTEMS MANAGEMENT
 
INTERRUPT LATENCY AND RESPONSE OF THE TASK
INTERRUPT LATENCY AND RESPONSE OF THE TASKINTERRUPT LATENCY AND RESPONSE OF THE TASK
INTERRUPT LATENCY AND RESPONSE OF THE TASK
 
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLSINTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
 
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
 
WINDOWS-CE
WINDOWS-CEWINDOWS-CE
WINDOWS-CE
 
Automated system for fault analysis in industries using
Automated system for fault analysis  in industries usingAutomated system for fault analysis  in industries using
Automated system for fault analysis in industries using
 
CASE STUDY OF DIGITAL CAMERA HARDWARE AND SOFT WARE ARCHITECTURECASE STUDY OF...
CASE STUDY OF DIGITAL CAMERAHARDWARE AND SOFT WAREARCHITECTURECASE STUDY OF...CASE STUDY OF DIGITAL CAMERAHARDWARE AND SOFT WAREARCHITECTURECASE STUDY OF...
CASE STUDY OF DIGITAL CAMERA HARDWARE AND SOFT WARE ARCHITECTURECASE STUDY OF...
 
SOLAR TRACKING SYSTEM BY USING MICROCONTROLLER
 SOLAR  TRACKING  SYSTEM  BY  USING  MICROCONTROLLER SOLAR  TRACKING  SYSTEM  BY  USING  MICROCONTROLLER
SOLAR TRACKING SYSTEM BY USING MICROCONTROLLER
 
Zigbee Based Solar Light System By Using LDR
Zigbee Based Solar Light System By Using LDRZigbee Based Solar Light System By Using LDR
Zigbee Based Solar Light System By Using LDR
 
Design of smart nodes for wireless sensor network ...
Design of smart nodes for wireless sensor network                            ...Design of smart nodes for wireless sensor network                            ...
Design of smart nodes for wireless sensor network ...
 
ATM USER ACCOUNT SECURE BY USING GSM TECHNOLOGY
ATM USER ACCOUNTSECURE BYUSING GSM TECHNOLOGYATM USER ACCOUNTSECURE BYUSING GSM TECHNOLOGY
ATM USER ACCOUNT SECURE BY USING GSM TECHNOLOGY
 
BOMB DETECTION ROBOT BY USING GSM & GPS
BOMB DETECTION ROBOT BY USING GSM & GPSBOMB DETECTION ROBOT BY USING GSM & GPS
BOMB DETECTION ROBOT BY USING GSM & GPS
 
STUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFID
STUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFIDSTUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFID
STUDENT DATA LOGGING SYSTEM INTO COLLEGE WEBSITE BASED ON RFID
 
SOLAR BASED MOBILE CHARGER IN RURAL AREAS
SOLAR BASED MOBILE CHARGER IN RURAL AREASSOLAR BASED MOBILE CHARGER IN RURAL AREAS
SOLAR BASED MOBILE CHARGER IN RURAL AREAS
 

Dernier

4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 

Dernier (20)

4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 

Rt linux-lab1

  • 1. J.SUDARSHANREDDY RTLinux Lab – Introduction Cpre 558 J.SUDARSHANREDDY 01/25/15
  • 2. J.SUDARSHANREDDY Contents • Real-Time Operating System (RTOS) Vs. General Purpose OS (GPOS) • Can Linux provide real-time guarantees? • Commercial RTOSs • RTLinux Vs. Linux: Architectural comparison • RTLinux Vs. Linux: Code perspective • Get the RTLinux setup ready • Things to Issue and Handling the hard disk • Lab #1: Detailed discussion 01/25/15
  • 3. J.SUDARSHANREDDY RTOS Vs. GPOS • RTOS – needs deterministic timing behavior – Works under worst case assumptions • GPOS – high throughput and fairness – Optimizes for the average case • Hence, the design objectives of the OSs are different 01/25/15
  • 4. J.SUDARSHANREDDY Can Linux provide real-time guarantees? -- No!! • Linux – non-preemptible kernel • A system call might take long time to complete – Coarse timer resolution • Tasks can be released only with 10ms precision – Virtual memory • Introduces unpredictable amount of delays – Variable priority • Each task is assigned a priority which varies over the time; this is to achieve fairness 01/25/15
  • 5. J.SUDARSHANREDDY Can Linux provide real-time guarantees? -- No!! (contd..) • Linux – Linux will batch several operations for efficient use of H/W delaying all tasks – Linux also reorders requests from multiple processes for H/W efficiency – Linux does not preempt low priority task in a system call, instead queues the high priority task – Linux makes high priority tasks to wait for low priority tasks to release resources Therefore, Linux cannot provide real-time guarantees 01/25/15
  • 6. J.SUDARSHANREDDY Commercial RTOS • RTLinux – Monolithic kernel with loadable modules • QNX – Microkernel approach • VxWorks – Monolithic kernel • LynxOS – Microkernel • ARTS, Spring, KURT, RTAI, etc…. 01/25/15
  • 7. J.SUDARSHANREDDY • Open source Linux project • Supports x86, PowerPC, Alpha • Available as a patch to the regular Linux kernel • Provides an RT API for developers • Runs Linux kernel as lowest priority process RTLinux: Overview 01/25/15
  • 8. J.SUDARSHANREDDY Linux Kernel System libraries Device drivers Linux kernel Hardware I/O Hardware Interrupts User Processes 01/25/15
  • 9. J.SUDARSHANREDDY RTLinux Kernel Hardware System libraries Device drivers Linux kernel I/O Software Interrupts User Processes RTLinux Plug-in Real Time Tasks RT-Scheduler I/O Hardware Interrupts Linux is executed in the background Direct h/w access 01/25/15
  • 10. J.SUDARSHANREDDY Linux Kernel: code perspective Linux Monolithic kernel core M1 M2 M3 M4 KernelLoadableModules RAM DISK Module M2 service (system call) User Process M2 THE controller 01/25/15
  • 11. J.SUDARSHANREDDY RTLinux Kernel: code perspective Linux Monolithic kernel core RTM2 RTM3 M1 M2 KernelLoadableModules RAM DISK Load RT core RT Load command RT-Core Module RT core M3 THE controller 01/25/15
  • 12. J.SUDARSHANREDDY Getting RTLinux ready • Configure and compile a fresh Linux kernel (2.4.29) – Download the kernel from http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4 • Patch the RTLinux to the Linux kernel • Recompile the kernel and reboot the system into the new kernel • Configure the RTLinux kernel and compile it 01/25/15
  • 13. J.SUDARSHANREDDY So, How do we run a RT-application program ? • Step 1: Write the RT-application program as a kernel module – (You are still in Linux) • Step 2: Compile the module and check for errors – (You are still in Linux) • Step 3: Load the RT-Core (or RT Scheduler, etc..) and the RT-application program module – (After this we will be in RTLinux) • Step 4: Now you are in RTLinux!!!! 01/25/15
  • 14. J.SUDARSHANREDDY Homework • Submission 1: – Give a ten line write-up comparing RTLinux with Linux with at least five differences along with the references. • Submission 2: – Give a ten line write-up comparing RTLinux with two other commercial RTOSs with at least five differences for each of them along with the references. 01/25/15
  • 15. J.SUDARSHANREDDY Lab Policies • Six assignments in total • First three assignments are mandatory • One of the last three assignments is mandatory • You will be working with a removable hard disk which can be issued from CSG 01/25/15
  • 16. J.SUDARSHANREDDY Things to Issue • Issue the following from the CSG – Hard disk (one per group) – Key (one per group) – RHEL – WS3 installation DVD (one per group) • You need to download the lab01 tar file (lab01.tgz) from the course website. • The RTLinux lab is in Coover - 1331C 01/25/15
  • 17. J.SUDARSHANREDDY Handling the hard disk (1) • Shutdown the PC • After the power is off, unlock the existing hard disk and take it out • Insert the hard disk given to you and lock it • Restart the comp • Follow the manual you have downloaded from the course website 01/25/15
  • 18. J.SUDARSHANREDDY Handling the hard disk (2) • After you are done with the lab: – Shutdown the PC – After the power is off, unlock the hard disk and remove it – Insert the original hard disk and lock it – Leave the Lab 01/25/15
  • 19. J.SUDARSHANREDDY Lab 1: Objectives • Part 1: – Getting the RTLinux lab setup ready • Part 2: – Run a few simple hello-world modules 01/25/15
  • 20. J.SUDARSHANREDDY Part 1 • Install the RHEL-WS3 using the DVD given to you – Go for the auto-partitioning option – Rest everything is straightforward • Configure and compile fresh Linux kernel (2.4.29) • Patch the RTLinux to the Linux kernel • Recompile the kernel and reboot the system into the new kernel • Load RT-modules • Instructions are provided in the Lab manual 01/25/15
  • 21. J.SUDARSHANREDDY Part 2 • Boot into the RTLinux kernel compiled in part-1 • The objectives of the part 2 are: – Understanding a simple RTLinux kernel module • With one thread (hello-1) and two threads (hello-2) – Printing from a RTLinux module • rtl_printf (hello-3) • Using rtf_put (RT-FIFO) (hello-4) 01/25/15
  • 22. J.SUDARSHANREDDY A kernel module Vs. Program • All RT-Tasks are kernel modules. Therefore, we write kernel modules in this lab. • A user program runs in user space and the kernel module runs in the kernel space • A user program starts running at its “main” function • A kernel module starts running at the “init_module” function and exits via “cleanup_module” function • Therefore, for a kernel module “init_module” and ‘cleanup_module” are as necessary as “main” is necessary for a C program 01/25/15
  • 23. J.SUDARSHANREDDY A typical kernel module Init_module() { ……. Perform your module initiation stuff etc.. } Cleanup_module() { ……. Perform cleanup stuff like destroying the threads, freeing memory, etc.. } 01/25/15
  • 24. J.SUDARSHANREDDY Hello world Module • Go through the hello world module • Realize the importance of init_module and cleanup_module • Notice the way the thread is created and how it is made periodic • Understand the “pthread_make_periodic” and “pthread_wait” and other interfacing functions 01/25/15
  • 25. J.SUDARSHANREDDY A typical RTLinux module Init_module() { For each thread: Choose the priority function //pthread_set_priority(..); Assign the “task_function” to the thread Create the thread //pthread_create(.., task_function,..); } Task_function() { Pthread_make_periodic_np( p); while(1) { Pthread_wait_np(); //perform the task function //for this instance } } Cleanup_module() { ……. Delete the thread //pthread_delete_np(..); } This function tells the scheduler that I am a periodic task with period “p” This function tells the scheduler that I am done for this instance and schedule me after “p” units of time 01/25/15
  • 26. J.SUDARSHANREDDY Hello World 2 • This module creates two threads using a nice “thread_struct” structure to make the initialization easy and compact. • Once again go through the interfacing funcitons • This time put more “rtl_printf” statements and open “/var/log/messages” file to find your output 01/25/15
  • 27. J.SUDARSHANREDDY RTL_PRINTF: how does it work? Rtl_printf printk Printk buffer Kernel ring buffer syslodgconsole Might overflow!! Might overflow!! Log file 01/25/15
  • 28. J.SUDARSHANREDDY Other ways of printing: RTL-FIFO • RTLinux FIFO provides communication mechanisms between RTL threads and Linux task. • A linux process creates the RTL-FIFO buffer which the RTL threads access and write and read from them 01/25/15
  • 29. J.SUDARSHANREDDY RTL-FIFO • Creating and destroying FIFOS: – Using functions: rtf_create and rtf_destroy – These functions are called from linux process: open(), read(), write(); • Accessing FIFOs from RTL threads – using functions: rtf_put and rtf_get 01/25/15
  • 30. J.SUDARSHANREDDY Using RTL_FIFO RT Task: my_put task Linux Task: my_read task RTL FIFO rtf_create() Time rtf_put() open() read() rtf_destroy() 01/25/15
  • 31. J.SUDARSHANREDDY Submissions • Submission 1: – Submit a five line write-up explaining the working of the two RTL interfacing functions including: • Pthread_make_periodic_np • Pthread_wait_np • Rtf_create,rtf_destroy, rtf_put, rtf_get • Submission 2: – Submit a five line write-up giving at least five differences between a kernel module and a user program. 01/25/15