OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!!

Similar documents
Chapter 19: Real-Time Systems. Operating System Concepts 8 th Edition,

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013

Tasks. Task Implementation and management

B. V. Patel Institute of Business Management, Computer &Information Technology, UTU

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)

QUESTION BANK UNIT I

Main Points of the Computer Organization and System Software Module

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

Multiprocessor and Real-Time Scheduling. Chapter 10

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100

8: Scheduling. Scheduling. Mark Handley

1.1 CPU I/O Burst Cycle

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

CPU Scheduling: Part I ( 5, SGG) Operating Systems. Autumn CS4023

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

CSE 4/521 Introduction to Operating Systems

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

PROCESSES & THREADS. Charles Abzug, Ph.D. Department of Computer Science James Madison University Harrisonburg, VA Charles Abzug

LECTURE 3:CPU SCHEDULING

Properties of Processes

Multiprocessor and Real- Time Scheduling. Chapter 10

Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006

Systemy RT i embedded Wykład 11 Systemy RTOS

(MCQZ-CS604 Operating Systems)

Chapter 5: CPU Scheduling

Reference Model and Scheduling Policies for Real-Time Systems

Your (ES1) programs so far (ES1) software development so far

CPU scheduling. Alternating sequence of CPU and I/O bursts. P a g e 31

CS370 Operating Systems

Chendu College of Engineering & Technology

CSCE Operating Systems Scheduling. Qiang Zeng, Ph.D. Fall 2018

CSE 120 Principles of Operating Systems Spring 2017

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,

Scheduling of processes

Lecture 17: Threads and Scheduling. Thursday, 05 Nov 2009

Processes and Threads

Practice Exercises 305

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.


Titolo presentazione. Scheduling. sottotitolo A.Y Milano, XX mese 20XX ACSO Tutoring MSc Eng. Michele Zanella

Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition,

CHAPTER NO - 1 : Introduction:

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

CHAPTER 2: PROCESS MANAGEMENT

CLASS: II YEAR / IV SEMESTER CSE SUBJECT CODE AND NAME: CS6401 OPERATING SYSTEMS UNIT I OPERATING SYSTEMS OVERVIEW

MARUTHI SCHOOL OF BANKING (MSB)

Techno India Batanagar Department of Computer Science & Engineering. Model Questions. Multiple Choice Questions:

UNIT:2. Process Management

FCM 710: Architecture of Secure Operating Systems

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling


CSE 153 Design of Operating Systems

Scheduling. Scheduling 1/51

Chapter 6: CPU Scheduling

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS

So far. Next: scheduling next process from Wait to Run. 1/31/08 CSE 30341: Operating Systems Principles

NuttX Realtime Programming

Priority Based Assignment of Shared resources in RTOS

1.1 Explain the difference between fast computing and real-time computing.

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Embedded Operating Systems. Unit I and Unit II

Operating Systems Comprehensive Exam. Fall Student ID # 10/31/2013

Process- Concept &Process Scheduling OPERATING SYSTEMS

Operating System Study Notes Department of Computer science and Engineering Prepared by TKG, SM and MS

Sample Questions. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

Maximum CPU utilization obtained with multiprogramming. CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait

CS418 Operating Systems

CPU Scheduling Algorithms

Real-Time Programming

CS3733: Operating Systems

Operating Systems: Quiz2 December 15, Class: No. Name:

SNS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Student Name:.. Student ID... Course Code: CSC 227 Course Title: Semester: Fall Exercises Cover Sheet:

Introduction. Real Time Systems. Flies in a bottle. Real-time kernel

Review. Preview. Three Level Scheduler. Scheduler. Process behavior. Effective CPU Scheduler is essential. Process Scheduling

Operating Systems. Figure: Process States. 1 P a g e

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Scheduling. Scheduling 1/51

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

Chapter 2 Processes and Threads

Mid Term from Feb-2005 to Nov 2012 CS604- Operating System

Multimedia Systems 2011/2012

FCM 710: Architecture of Secure Operating Systems

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Lecture 2 Process Management

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy

Real Time Operating Systems and Middleware

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

CSE 120 Principles of Operating Systems

Chapter 5 CPU scheduling

REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS

OPERATING SYSTEMS. UNIT II Sections A, B & D. An operating system executes a variety of programs:

Transcription:

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!!

Processor Management Memory Management IO Management File Management Multiprogramming Protection and Security Network Management UNDERSTAND!!! IMPLEMENT!!!

Low Level Software Utility Boot Loader User Interface Application Programming Interface (API) POSIX UNDERSTAND!!! IMPLEMENT!!!

The kernel is the innermost part or core of an operating system, and it is that provides the basic services for all for all other parts of the system The kernel is sometimes referred to as the supervisor, core or internals of the operating system UNDERSTAND!!! IMPLEMENT!!!

Monolihthic kernel Microkernels UNDERSTAND!!! IMPLEMENT!!!

The activity of a computer is to run/execute programs. A program in execution is formally defined as a process. Terms like task and job are also used to denote a process. In this chapter, we use the words tasks and processes interchangeably. UNDERSTAND!!! IMPLEMENT!!!

The five states are named as new, ready, running, blocked and exit. UNDERSTAND!!! IMPLEMENT!!!

It has i) The unique ID of the task ii) The state of the task iii) Scheduling information with respect to it iv) The registers it uses and their contents v) The I/O resources it has been allocated vi) Pointers to the memory it uses vii) Priority of the task viii) Other information pertaining to the task UNDERSTAND!!! IMPLEMENT!!!

Multitasking? How does multitasking affect the user? Task (Process) scheduling? UNDERSTAND!!! IMPLEMENT!!!

Some aspects CPU utilization Response time Turnaround time (TAT) Throughput rate UNDERSTAND!!! IMPLEMENT!!!

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!!

Co-operative Scheduling Each task is allowed to execute to its finish, then only the next one is taken up. While one task executes, the others are willing to wait and this gives the name cooperative to the scheduling algorithm. This is also a case of first come first serve scheduling (FCFS) or a first in first out scheme (FIFO). UNDERSTAND!!! IMPLEMENT!!!

Here the method is to queue the tasks such that the one with the shortest service time gets to execute first. But the problem is that, usually the execution times of tasks are not known in advance. The method then is to estimate the service times by using the recent history of each of the tasks. UNDERSTAND!!! IMPLEMENT!!!

In such a system, tasks have priorities which are represented in terms of numbers. The convention is to have 0 to 255 as the numbers representing priorities, with 0 representing the highest priority, and higher numbers indicating lower priorities. UNDERSTAND!!! IMPLEMENT!!!

In this set, when a task is running (i.e. using the CPU), it is pushed out from the running state to the ready state and another task from the ready queue is taken up. We say that the task has been pre-empted (removed and replaced). Let s examine some scheduling methods based on this pre-emptive approach. UNDERSTAND!!! IMPLEMENT!!!

Here, time slices are defined. Suppose there are n tasks in a system, each of them is allowed to execute for a period equal to the time slice. After this, the next task gets its turn, but can use the CPU only for a time equal to the defined time slice. This is also called a time sharing or time slice system UNDERSTAND!!! IMPLEMENT!!!

In this method, at any time it should be ensured that it is the highest priority task in the ready queue that should be running. If, at any time, a task with a higher priority than the one that is currently running enters the ready queue, the current task is pre-empted and the new one is taken up. UNDERSTAND!!! IMPLEMENT!!!

Normally the scheduling is in the order of increasing service times. Thus, tasks with the shortest service times are executed earlier. In the midst of a schedule, if a new task enters the ready queue, its service time is compared with the remaining service time of the currently executing task If the new task has a shorter service time than the remaining time of the current task, it (the current task) is pre-empted and the new one serviced until it completes. UNDERSTAND!!! IMPLEMENT!!!

A thread is sometimes called a lightweight process. In a program which goes into execution (and becomes a process/task), a number of subsidiary activities may be needed Each of these subsidiary activities are handled by separate threads UNDERSTAND!!! IMPLEMENT!!!

The sequence of actions that follow an interrupt i) Saving the current context ii) Determining the identity of the interrupt iii) Switching to the new context iv) Starting the execution of the Interrupt Handler UNDERSTAND!!! IMPLEMENT!!!

Task switching is accomplished by the mechanism of interrupts. The total switching latency = interrupt latency + dispatch latency. UNDERSTAND!!! IMPLEMENT!!!

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!!

Where is communication needed? Processes in the same machine, and processes in different machines might need to communicate it might be to share data, or to send queries and receive responses UNDERSTAND!!! IMPLEMENT!!!

Two of the task communication methods are i) Shared memory ii) Message passing UNDERSTAND!!! IMPLEMENT!!!

This is an indirect way of sending messages. It is just like a mailbox available in post offices. The sender deposits the message in the box. The receiver should have the mechanism to receive it. UNDERSTAND!!! IMPLEMENT!!!

?? UNDERSTAND!!! IMPLEMENT!!!

There are three aspects to it. First, how different tasks with conflicting actions can cause havoc. Second, how to avoid such situations and third, if such a situation occurs, how to get out of it. UNDERSTAND!!! IMPLEMENT!!!

Atomicity Disabling interrupts These may not be feasible solutions The practical solution is to use locks UNDERSTAND!!! IMPLEMENT!!!

Readers?? Writers? How is this problem tackled? UNDERSTAND!!! IMPLEMENT!!!

A set of tasks is deadlocked if each task in the set is waiting for an event that only another task in the set can cause Necessary conditions i)mutual exclusion ii) Hold and wait iii) Non pre-emption iv) Circular wait UNDERSTAND!!! IMPLEMENT!!!

i)ignore deadlocks ii) Avoidance iii) Prevention iv) Detect and recover UNDERSTAND!!! IMPLEMENT!!!

?? UNDERSTAND!!! IMPLEMENT!!!

The word semaphore means signal. In operating systems, a variable can be used as a semaphore which does signalling Binary Semaphores and Counting Semaphores UNDERSTAND!!! IMPLEMENT!!!

Are they the same??? UNDERSTAND!!! IMPLEMENT!!!

Priority Inheritance Priority Ceiling UNDERSTAND!!! IMPLEMENT!!!

Device drivers are associated with external devices that you want to add to your processing hardware, which may be a PC or an embedded board It is a software interface to a hardware device that handles requests from the kernel regarding the use of the particular I/O device. There is a well-defined interface for the kernel to make these requests. Because of this, adding new devices is easy. UNDERSTAND!!! IMPLEMENT!!!

Block device drivers Character device drivers Network device drivers UNDERSTAND!!! IMPLEMENT!!!

REAL TIME OPERATING SYSTEMS UNDERSTAND!!! IMPLEMENT!!!

What is a real-time task? It is a task in which the performance is judged on the basis of time; this means that the result of a computation is correct only if has produced its correct output within the specified time constraint. UNDERSTAND!!! IMPLEMENT!!!

Process control in industrial plants Robotics Air traffic control Telecommunications Weapon guidance system Medical diagnostic and life-support systems Automobile engine control systems Anti-lock braking systems Real-time data bases UNDERSTAND!!! IMPLEMENT!!!

No, embedded systems are systems designed for a specific set of applications. When such a system requires time constrained operation, it becomes a realtime embedded system. UNDERSTAND!!! IMPLEMENT!!!

i) Release time (or ready time) ii) Scheduling time iii) Completion time iv) Deadline v) Run time vi) Tardiness vii) Laxity UNDERSTAND!!! IMPLEMENT!!!

??? UNDERSTAND!!! IMPLEMENT!!!

A real-time system is composed of many tasks, but there should be at least one task which can be categorized as one of the above three types (hard, soft or firm). UNDERSTAND!!! IMPLEMENT!!!

A sporadic task is an aperiodic task with a hard deadline and a minimum inter-arrival time (between two such tasks). Without a minimum inter-arrival time restriction, it is impossible to guarantee that a deadline of a sporadic task would always be me. UNDERSTAND!!! IMPLEMENT!!!

Do embedded systems need an operating system? UNDERSTAND!!! IMPLEMENT!!!

Non-preemptive Scheduling Preemptive Priority-based Execution UNDERSTAND!!! IMPLEMENT!!!

This allows priority to be changed at run time, and so scheduling requires more computation. Here also pre-emption may or may not be used. UNDERSTAND!!! IMPLEMENT!!!

This belongs to a class of dynamic priority allocation methods. Here the priority of tasks changes at run time. At any instant, the highest priority task is one that has the closest deadline. Tasks that cannot be scheduled by the RM algorithm (because of high CPU utilization) can be scheduled by this method. UNDERSTAND!!! IMPLEMENT!!!

i) Performance ii) Reliability iii) Compactness iv) Scalability UNDERSTAND!!! IMPLEMENT!!!