Undergraduate Course Syllabus

Size: px
Start display at page:

Download "Undergraduate Course Syllabus"

Transcription

1 College of Software Engineering Undergraduate Course Syllabus Course ID Course Name Operating System Course Attribute Compulsory Selective Course Language English Chinese Credit Hour 4 Period 64 Semester First Fall First Spring Second Fall Second Spring Third Fall Third Spring Fourth Fall Fourth Spring Instructors Zhao Kui, Liang Gang, Hu Xiao-qin Description This course covers the fundamentals of Operating Systems and Systems Programming, revealing the mysteries of the software layer between application programs and hardware, and covering techniques and algorithms for dealing with thorny problems of resource management, sharing, and protection, as well as concurrency and complex systems. Perhaps best of all, four programming projects give students the chance to implement important and realistic subsystems of a small operating system kernel. Between the lectures, reading, and programming assignments, we hope that the course will help students become not only an OS expert and/or kernel hacker, but also a better programmer and user of computer systems, and a better computer scientist who has insight into managing complex and concurrent interactions within and between hardware and software systems! Prerequisites C Language Programming Computer Architecture Data Structures and Algorithms Textbook William Stallings, Operating Systems Internals and Design Principles (Fifth Edition),Publish House of Electronics Industry,2007

2 Course Webpage: cs.scu.edu.cn/~zhaokui All vital information will appear on the course webpage, including lecture notes and programming assignments. Mailing list: The staff is where you should send questions regarding course administration and any questions which would be inappropriate if posted publicly to the newsgroup (i.e. questions that contain your code or other private information). Reference: 1. Computing Operating System tangziyin, Xian University of Electronic Science and Technology Press, 2004,Edition 3. Resource 2. Operating SystemDesign and ImplementationAndrew S.Tanenbaum,Pulishing House of Electronics Industry1998Edition Operating SystemHarvey M.Deitel, Tsingha University Press2007Edition Operating System Concepts James L.Peterson Addison-Wesley Publishing Company2001,Edition Operating Systems Concepts, Abraham Silberschatz, Peter Galvin, and Greg Gagne, John Wiley and Sons, Higher Education Press, 2002Edition Operationg System Excise and Analyze ZengPingTsingha University Press 2001Edition 1 7. Williamstallings.com/os/os5e.html 8. Comp.os.research 9. comp.os.misc 10. comp.unix.internals 11. comp.os.linux.development.system Grading Class participation and homework (30%), final exam (50%), course practice(20) 2

3 The lecture of this course will cover the following topics: 1. Computer System Overview (1 credit hours).overview of computer architecture and organization; Computer-System Operation; Interrupts; The memory of hierarchy; I/O communication techniques 2. Operating System Overview (3 credit hours) History of operating system; Operating system concepts, objective and function; Introduction of the type of Operating system including multiprogramming system, Real-Time System, Batch system, Time-sharing system, Distributed operating system, Network operating system Overview of the modern operating system structure; Topics (48 credit hours) 3. Process Description and Control (5 credit hours) The concepts of process including states and its transitions, PCB; The operations on processes and process states; Introduction of process control; 4. Threads, SM and Microkernels ( 5 credit hours ) Thread definition, creation, manipulation, User and Kernel Thread.; The concept of SMP and the management of SMP; Microlekernels definition, objective; 5. Concurrency ( 9 credit hours ) The conceptions of concurrency and the implication of execution of multiple concurrent process; The hardware mechanisms that support mutual exclusion; Three operating system and programming language mechanisms used to provide concurrency; Introduction two problems of concurrency: deadlock and starvation and solutions of these two problems. 6. Memory ( 9 credit hours ) Memory organization and management; 3

4 Paging and segmentation, address mapping; Virtual memory concepts; Virtual memory management, page replacement algorithms. 7. Scheduling (9 credit hours ) Basic Concepts (including Long-term scheduling, Medium-term scheduling, Short-term scheduling.); Scheduling algorithms(including First-Come-First-Served (FCFS), Priority, Round-Robin ); Multiprocessor scheduling; Real-Time Scheduling; 8. Input/Output Device ( 4 credit hours ) The concepts relation to I/O devices and the classification of the I/O devices; The task and function of the I/O device management; The data structure and algorithms relation to I/O device management; The virtual device techniques; 9. File Management ( 3 credit hours ) File Concept, Access Methods, Directory Structure, File Sharing and Protection File-System Structure, File-System Implementation, Directory Implementation, Allocation Methods, Free-Space Management. Tools & Environment Windows XP, Redhat linux 9.0, Vmware virtual machine, gcc, g++ Lab 1: Develop a shell in Nachos Projects ( 16 credit hours ) Design a simples command line shell that has following properties: 1. The shell must support the following internal commands: cd, dir, clr,environ, echo,help,pause and quit; 2. All other command line input is interpreted as program invocation which should be done by the shell forking and executing the programs as its own child processes; 3. The shell must be able to take its command line input from a file; 4

5 4. The shell must support i/o redirection on either or both stdin and/or stdout; 5. The shell must support background execution of programs. 6. The command line prompt must contain the pathname of the current directory. Write a simple manual describing how to use the shell. The manual should contain enough detail for a beginner to linux to use it; The source code must be extensively commented and appropriately structured to allow your peers to understand and easily maintain the code; Details of submission procedures will be supplied well before the deadlines; The submission should contain only source code files, include files, a makefile and the readme file. Lab 2: Upgrade the Nachos thread management model Modify the source code of the Nachos to achieve the following objectives: Expand thread data structure and add the "user ID, thread ID" two members of the data structure of Nachos. Meanwhile, add the safeguard mechanism of these two data members in the Nachos existing thread management model; Expand the existing state of threads. There are only new, ready, block and running four states in Nachos. Please add "suspending" state in Nachos. The so-called "hang up" refers to the current thread disk image stored in documents rather than memory. "Suspend" state is the important foundation of the future realization of virtual memory management. Modify thread scheduling algorithm. Change the thread management mechanism to the "preemptive." You can add "timing" and "priority scheduling," "Multi-Queue" different algorithm into Nachos thread management model. Add the global thread management mechanism and expand the existing operations command in Nachos. For example, you can add a command called "ThreadView" in order to show the current existence of all the threads of information, including the "user ID", "Thread ID", "Current status" on the screen. Design a mutual exclusion and synchronization example. After the above modifications, you can design a program to implement one mutual exclusion and synchronization classic solution. For example, you can choose "philosopher dining" problem and create five philosopher threads which have same user ID and follow the "signal of" mechanisms to correct the operation in your program. You can also choose "producers - consumers", "Sleep Barber of Seville" and other classic IPC problems to 5

6 finish this task. Lab 3: Upgrade the Nachos File management model Modify the source code of the Nachos to achieve the following objectives: Add longer document name support and the following described information in Nachos kernel. File Types Create time Document the last visit time File trails Achieve dynamic content distribution according to the file size. Now Nachos allocate the space according to the designated size of when creating a file and if we want to amend file, we are limited to allocated space. So, modify the kernel to satisfy the dynamic distribution. Modify the file index means in Nachos to achieve unlimited length of documents. You can refer to the file index mechanism of Unix to achieve this requirement. Modify the directory structure to implement multi-level directory which there is no restriction on the number of the files. Achieve synchronous operation of the file system. Directory files, bitmap files are all critical resources and they do not allow multiple processes at the same time visit. The current system did not impose synchronous control, so, modify this defect. Lab 4: Upgrade the Nachos Memory management model Modify the source code of the Nachos to achieve the following objectives: Add the data structure to describe the process of memory and the corresponding relations. That is, add the process ID member in memory describing structure and it can make understand the distribution of memory easily and facilitate to measure the performance of memory management. Achieve the multi-programming, which there are multiple programs co-exist in memory. Modify the Nachos to support virtual memory. Nachos only support the process which it s size is not more than the size of the memory. If the size of process is more 6

7 than the size of the memory, it will not be execute. So, amend this defect to support big size process. Implementation monitoring thread and it can real-time reflect the use of memory. Version No 1.0 Author Kui Zhao Date Auditor Mei Hong Date Signature of leader Date

Far-western University Central Office, Mahendranagar Operating System

Far-western University Central Office, Mahendranagar Operating System Far-western University Central Office, Mahendranagar Operating System Course Title: Operating Systems Credit: 3+1 Course No: B.Sc. CS OS 231 hour 45+15 Nature of the Course: Theory + Lab Year: 2 nd, Semester:

More information

Gildart Haase School of Computer Sciences and Engineering

Gildart Haase School of Computer Sciences and Engineering Gildart Haase School of Computer Sciences and Engineering Metropolitan Campus I. Course: CSCI 6638 Operating Systems Semester: Fall 2014 Contact Hours: 3 Credits: 3 Class Hours: W 10:00AM 12:30 PM DH1153

More information

OPERATING SYSTEMS Internais and Design Principles

OPERATING SYSTEMS Internais and Design Principles OPERATING SYSTEMS Internais and Design Principles FOURTH EDITION William Stallings, Ph.D. Prentice Hall Upper Saddle River, New Jersey 07458 CONTENTS Web Site for Operating Systems: Internais and Design

More information

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note: Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the

More information

Computer Science 4302 Operating Systems. Student Learning Outcomes

Computer Science 4302 Operating Systems. Student Learning Outcomes Computer Science 4302 Operating Systems Student Learning Outcomes 1. The student will learn what operating systems are, what they do, and how they are designed and constructed. The student will be introduced

More information

Operating Systems 4 th Class

Operating Systems 4 th Class Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science

More information

Operating System Structures

Operating System Structures Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.

More information

How To Understand The History Of An Operating System

How To Understand The History Of An Operating System 7 Operating Systems 7.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 7.2 Understand the role of the operating system.

More information

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010. Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:

More information

CTE214 Operating Systems Syllabus

CTE214 Operating Systems Syllabus Course Details Department of Computer & Instructional Technology Teacher Education CTE214 Operating Systems Syllabus Course Name: Course Credits: 4 ECTS Credits: 6 Prerequisite: CTE112 (Introduction to

More information

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,

More information

School of Computing and Information Sciences. Course Title: Computer Programming III Date: April 9, 2014

School of Computing and Information Sciences. Course Title: Computer Programming III Date: April 9, 2014 Course Title: Computer Date: April 9, 2014 Course Number: Number of Credits: 3 Subject Area: Programming Subject Area Coordinator: Tim Downey email: downeyt@cis.fiu.edu Catalog Description: Programming

More information

Undergraduate Course Syllabus

Undergraduate Course Syllabus College of Software Engineering Undergraduate Course Syllabus Course ID 31111230 Course Name Development Project for security product Course Attribute Compulsory Selective Course Language English Chinese

More information

COURSE OUTLINE Survey of Operating Systems

COURSE OUTLINE Survey of Operating Systems Butler Community College Career and Technical Education Division Skyler Lovelace New Fall 2014 Implemented Spring 2015 COURSE OUTLINE Survey of Operating Systems Course Description IN 167. Survey of Operating

More information

Weighted Total Mark. Weighted Exam Mark

Weighted Total Mark. Weighted Exam Mark CMP2204 Operating System Technologies Period per Week Contact Hour per Semester Total Mark Exam Mark Continuous Assessment Mark Credit Units LH PH TH CH WTM WEM WCM CU 45 30 00 60 100 40 100 4 Rationale

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Programming for GCSE Topic H: Operating Systems

Programming for GCSE Topic H: Operating Systems Programming for GCSE Topic H: Operating Systems William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London Aims Introduce Operating Systems Core concepts Processes

More information

Operating Systems Introduction

Operating Systems Introduction Operating Systems Introduction Chester Rebeiro IIT Madras Webpage : http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html The Layers in Systems Applications Operating Systems Computer Organization

More information

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution

More information

Principles of Operating Systems CS 446/646

Principles of Operating Systems CS 446/646 Principles of Operating Systems CS 446/646 1. Introduction to Operating Systems a. Role of an O/S b. O/S History and Features c. Types of O/S Mainframe systems Desktop & laptop systems Parallel systems

More information

Components of a Computer System

Components of a Computer System SFWR ENG 3B04 Software Design III 1.1 3 Hardware Processor(s) Memory I/O devices Operating system Kernel System programs Components of a Computer System Application programs Users SFWR ENG 3B04 Software

More information

Operating System Components and Services

Operating System Components and Services Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.

More information

Comparison between scheduling algorithms in RTLinux and VxWorks

Comparison between scheduling algorithms in RTLinux and VxWorks Comparison between scheduling algorithms in RTLinux and VxWorks Linköpings Universitet Linköping 2006-11-19 Daniel Forsberg (danfo601@student.liu.se) Magnus Nilsson (magni141@student.liu.se) Abstract The

More information

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A

More information

Red Hat Linux Internals

Red Hat Linux Internals Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing

More information

CS420: Operating Systems OS Services & System Calls

CS420: Operating Systems OS Services & System Calls NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,

More information

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management. Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann

More information

Operating Systems Prof. Ashok K Agrawala

Operating Systems Prof. Ashok K Agrawala CSMC 412 Operating Systems Prof. Ashok K Agrawala 2006 Ashok Agrawala 1.1 Silberschatz, Galvin and Gagne 2005 Dayalbagh Eductional Institute Welcome Review Syllabus Today read the warning about the size

More information

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and

More information

What s my End Result?

What s my End Result? Welcome to CS 241 Systems Programming University of Illinois at Urbana-Champaign Tarek Abdelzaher Lawrence Angrave 1 What s my End Result? Before CS 241: After CS 241: Can design and code interesting applications:

More information

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Operating Systems 1/12/2005

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Operating Systems 1/12/2005 Introduction CS 256/456 Dept. of Computer Science, University of Rochester General Course Information Instructor: Kai Shen (kshen@cs.rochester.edu) TA: Kirk Kelsey (kelsey@cs.rochester.edu) TA: Christopher

More information

Operating Systems, 6 th ed. Test Bank Chapter 7

Operating Systems, 6 th ed. Test Bank Chapter 7 True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one

More information

Chapter 2: OS Overview

Chapter 2: OS Overview Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:

More information

EECS 678: Introduction to Operating Systems

EECS 678: Introduction to Operating Systems EECS 678: Introduction to Operating Systems 1 About Me Heechul Yun, Assistant Prof., Dept. of EECS Office: 3040 Eaton, 236 Nichols Email: heechul.yun@ku.edu Research Areas Operating systems and architecture

More information

How To Understand The Principles Of Operating Systems

How To Understand The Principles Of Operating Systems ICS 143 - Principles of Operating Systems Lecture 1 - Introduction and Overview MWF 11:00-11:50 a.m. Prof. Nalini Venkatasubramanian ( nalini@ics.uci.edu ) [lecture slides contains some content adapted

More information

INTRODUCTION TO COMPUTING CPIT 201 WEEK 13 LECTURE 3

INTRODUCTION TO COMPUTING CPIT 201 WEEK 13 LECTURE 3 INTRODUCTION TO COMPUTING CPIT 201 WEEK 13 LECTURE 3 OPERATING SYSTEM Process manager A second function of an operating system is process management, but before discussing this concept, we need to define

More information

Chapter 10 Case Study 1: LINUX

Chapter 10 Case Study 1: LINUX MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 10 Case Study 1: LINUX History of UNIX and Linux UNICS PDP-11 UNIX Portable UNIX Berkeley UNIX Standard UNIX MINIX Linux UNIX/Linux Goals

More information

How To Understand And Understand An Operating System In C Programming

How To Understand And Understand An Operating System In C Programming ELEC 377 Operating Systems Thomas R. Dean Instructor Tom Dean Office:! WLH 421 Email:! tom.dean@queensu.ca Hours:! Wed 14:30 16:00 (Tentative)! and by appointment! 6 years industrial experience ECE Rep

More information

Operating System Components

Operating System Components Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

CHAPTER 15: Operating Systems: An Overview

CHAPTER 15: Operating Systems: An Overview CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.)

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Introduction CS 256/456 Dept. of Computer Science, University of Rochester General Course Information Course Web page: www.cs.rochester.edu/~kshen/csc256 Course-related announcement/correspondence: Broadcast

More information

Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems

Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems CS 372 Introduction to Operating Systems Lorenzo Alvisi Amitanand Aiyer Can t I just buy a couple $5 CD at the Campus Store and be done with it? To learn how computers work To learn how to manage complexity

More information

OPERATING SYSTEM SERVICES

OPERATING SYSTEM SERVICES OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered

More information

OPERATING SYSTEMS SCHEDULING

OPERATING SYSTEMS SCHEDULING OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Outline Introduction What is an OS? Concepts Processes

More information

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit

More information

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into

More information

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest

Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest Operating Systems for Parallel Processing Assistent Lecturer Alecu Felician Economic Informatics Department Academy of Economic Studies Bucharest 1. Introduction Few years ago, parallel computers could

More information

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:

More information

Shrimad Rajchandra Institute of Management & Computer Application

Shrimad Rajchandra Institute of Management & Computer Application IntegratedMCA-3 rd Semester Course: 060060304-Fundamentals of Operating System LESSON PLAN Objective: To provide a comprehensive knowledge of Operating System and its services. Course Outcomes: Upon the

More information

Overview of Operating Systems Instructor: Dr. Tongping Liu

Overview of Operating Systems Instructor: Dr. Tongping Liu Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems

More information

Chapter 1: Introduction. What is an Operating System?

Chapter 1: Introduction. What is an Operating System? Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments

More information

Distributed Operating Systems

Distributed Operating Systems Distributed Operating Systems Prashant Shenoy UMass Computer Science http://lass.cs.umass.edu/~shenoy/courses/677 Lecture 1, page 1 Course Syllabus CMPSCI 677: Distributed Operating Systems Instructor:

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

More information

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how

More information

Chapter 3: Operating Systems

Chapter 3: Operating Systems Chapter 3: Operating Systems Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 3: Operating Systems 3.1 The History of Operating Systems

More information

Operating Systems Lecture #6: Process Management

Operating Systems Lecture #6: Process Management Lecture #6: Process Written by based on the lecture series of Dr. Dayou Li and the book Understanding 4th ed. by I.M.Flynn and A.McIver McHoes (2006) Department of Computer Science and Technology,., 2013

More information

Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps

Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps Ada Gavrilovska, Hsien-Hsin-Lee, Karsten Schwan, Sudha Yalamanchili, Matt Wolf CERCS Georgia Institute of Technology Background

More information

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Operating Systems Concepts: Chapter 7: Scheduling Strategies Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/

More information

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer

More information

General Objectives: On completion of this course the student should be able to:

General Objectives: On completion of this course the student should be able to: Department/ Programme: Subject/Course: Operating system I Course Code: CPT 115 Contact Hours: 45 Theoretical: 2 hours/week Year: Semester: Pre-requisite: COM 101 Practical: 2 hours /week General Objectives:

More information

CSC 341, section 001 Principles of Operating Systems Spring 2015 Monday/Wednesday 1:00 PM 2:15 PM

CSC 341, section 001 Principles of Operating Systems Spring 2015 Monday/Wednesday 1:00 PM 2:15 PM CSC 341, section 001 Principles of Operating Systems Spring 2015 Monday/Wednesday 1:00 PM 2:15 PM Dr. Robert Ball 303C McKibben ballrg@sfasu.edu (936) 468-2508 Course Description Operating systems principles,

More information

Operating System Tutorial

Operating System Tutorial Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection

More information

A Comparative Study of CPU Scheduling Algorithms

A Comparative Study of CPU Scheduling Algorithms IJGIP Journal homepage: www.ifrsa.org A Comparative Study of CPU Scheduling Algorithms Neetu Goel Research Scholar,TEERTHANKER MAHAVEER UNIVERSITY Dr. R.B. Garg Professor Delhi School of Professional Studies

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

CPU Scheduling. CPU Scheduling

CPU Scheduling. CPU Scheduling CPU Scheduling Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling

More information

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run

More information

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2

More information

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first Operating Systems Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first JavaScript interpreter Web browser menu / icon / dock??? login??? CPU,

More information

IT 342 Operating Systems Fundamentals Fall 2014 Syllabus

IT 342 Operating Systems Fundamentals Fall 2014 Syllabus Tuesday 7:20 to 10:00 Bull Run Hall Room 258 James F. Holdener, P.E. Phone: 703 983-2343 (I check this number daily during the week) Email: jholdene@gmu.edu Email is the best method to get hold of me.

More information

CPU Scheduling. CSC 256/456 - Operating Systems Fall 2014. TA: Mohammad Hedayati

CPU Scheduling. CSC 256/456 - Operating Systems Fall 2014. TA: Mohammad Hedayati CPU Scheduling CSC 256/456 - Operating Systems Fall 2014 TA: Mohammad Hedayati Agenda Scheduling Policy Criteria Scheduling Policy Options (on Uniprocessor) Multiprocessor scheduling considerations CPU

More information

Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling

Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling Objectives To introduce CPU scheduling To describe various CPU-scheduling algorithms Chapter 5: Process Scheduling To discuss evaluation criteria for selecting the CPUscheduling algorithm for a particular

More information

CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203

CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203 CS0206 OPERATING SYSTEMS Prerequisite CS0201, CS0203 L T P C 3 0 0 3 PURPOSE Every computer professional should have a basic understanding of how an operating system controls the computing resources and

More information

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d Comp 204: Computer Systems and Their Implementation Lecture 12: Scheduling Algorithms cont d 1 Today Scheduling continued Multilevel queues Examples Thread scheduling 2 Question A starvation-free job-scheduling

More information

CPS221 Lecture: Operating System Structure; Virtual Machines

CPS221 Lecture: Operating System Structure; Virtual Machines Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of

More information

3 - Introduction to Operating Systems

3 - Introduction to Operating Systems 3 - Introduction to Operating Systems Mark Handley What is an Operating System? An OS is a program that: manages the computer hardware. provides the basis on which application programs can be built and

More information

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting

More information

Operating Systems. Rafael Ramirez (T, S) rafael.ramirez@upf.edu 55.316

Operating Systems. Rafael Ramirez (T, S) rafael.ramirez@upf.edu 55.316 Operating Systems Rafael Ramirez (T, S) rafael.ramirez@upf.edu 55.316 Sergio Giraldo(P, S) sergio.giraldo@upf.edu Matteo Segnorini (P, S) matteo.segnorini@upf.edu T=Teoria; S=Seminarios; P=Prácticas Operating

More information

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture

More information

Operating system Dr. Shroouq J.

Operating system Dr. Shroouq J. 3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Operating Systems Principles

Operating Systems Principles bicfm page i Operating Systems Principles Lubomir F. Bic University of California, Irvine Alan C. Shaw University of Washington, Seattle PEARSON EDUCATION INC. Upper Saddle River, New Jersey 07458 bicfm

More information

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

CS4410 - Fall 2008 Homework 2 Solution Due September 23, 11:59PM

CS4410 - Fall 2008 Homework 2 Solution Due September 23, 11:59PM CS4410 - Fall 2008 Homework 2 Solution Due September 23, 11:59PM Q1. Explain what goes wrong in the following version of Dekker s Algorithm: CSEnter(int i) inside[i] = true; while(inside[j]) inside[i]

More information

Chapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems

Chapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems Chapter 19: Real-Time Systems System Characteristics Features of Real-Time Systems Chapter 19: Real-Time Systems Implementing Real-Time Operating Systems Real-Time CPU Scheduling VxWorks 5.x 19.2 Silberschatz,

More information

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available: Tools Page 1 of 13 ON PROGRAM TRANSLATION A priori, we have two translation mechanisms available: Interpretation Compilation On interpretation: Statements are translated one at a time and executed immediately.

More information

Star System. 2004 Deitel & Associates, Inc. All rights reserved.

Star System. 2004 Deitel & Associates, Inc. All rights reserved. Star System Apple Macintosh 1984 First commercial OS GUI Chapter 1 Introduction to Operating Systems Outline 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 Introduction What Is an Operating System?

More information

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods

More information

Operating System Structure

Operating System Structure Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural

More information

Chapter 3. Operating Systems

Chapter 3. Operating Systems Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating

More information

ICS 143 - Principles of Operating Systems

ICS 143 - Principles of Operating Systems ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Note that some slides are adapted from course text slides 2008 Silberschatz. Some

More information

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems Module 9: Operating Systems Objective What is an operating system (OS)? OS kernel, and basic functions OS Examples: MS-DOS, MS Windows, Mac OS Unix/Linux Features of modern OS Graphical operating system

More information

Lecture 1 Operating System Overview

Lecture 1 Operating System Overview Lecture 1 Operating System Overview What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. The Major Objectives of an Operating system

More information

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

CMSC 10600 Fundamentals of Computer Programming II (C++)

CMSC 10600 Fundamentals of Computer Programming II (C++) CMSC 10600 Fundamentals of Computer Programming II (C++) Department of Computer Science University of Chicago Winter 2011 Quarter Dates: January 3 through March 19, 2011 Lectures: TuTh 12:00-13:20 in Ryerson

More information

Chapter 1: Introduction. Chapter 1: Introduction. Operating System Concepts, 7th Edition. Objectives

Chapter 1: Introduction. Chapter 1: Introduction. Operating System Concepts, 7th Edition. Objectives Chapter 1: Introduction Chapter 1: Introduction 1.1 What Operating Systems Do 1.2 Computer-System Organization 1.3 Computer-System Architecture 1.4 Operating-System Structure 1.5 Operating-System Operations

More information