This document provides an introduction to an operating systems course. It begins with an overview of operating systems and their importance. It then lists the initial objectives of the course as describing basic computer organization, various operating system types, providing a tour of major OS components, and describing the services an OS provides. The document concludes by outlining the course syllabus which covers topics like processes, memory management, scheduling, and storage management.
This document contains the syllabus for an Operating Systems course taught in the Department of Computer Science and Engineering (AI & ML). It lists the textbook and references for the course. The topics covered in Lecture 4 include an introduction to operating system structures, types of services provided by operating systems like program execution, I/O operations, file system manipulation, communication, error handling, resource allocation, and protection. The next lecture will cover system calls.
The document discusses operating systems and their functions. An operating system (OS) is a program that manages computer hardware resources and provides common services for computer programs. It acts as an interface between users and the computer hardware. The key functions of an OS include managing CPU time and memory, allowing for program creation and execution, providing access to I/O devices and files, and resolving conflicts over resource contention and access. There are three classical views of an OS: as a resource manager that allocates hardware resources, as a control program that oversees execution and prevents errors, and as a command executer that provides an interface for users to run programs and utilities.
This document provides course material for the subject of Operating Systems for 4th semester B.E. Computer Science Engineering students at A.V.C. College of Engineering. It includes information on the name and designation of the faculty teaching the course, the academic year, curriculum regulations, 5 units that make up the course content, textbook and reference details. The course aims to cover key topics in operating systems including processes, process scheduling, storage management, file systems and I/O systems.
The document provides an introduction to operating systems, covering topics such as the need for operating systems, their evolution over different generations from batch to real-time systems, and the components of a computer system including hardware, operating system, application programs, and users. It then discusses operating system services from both the user and system point of view, and provides case studies of the Windows and Linux operating systems.
Basics of Operating Systems Definition – Generations of Operating systems – Types of Operating Systems, OS Service, System Calls, OS structure: Layered, Monolithic, Microkernel Operating Systems – Concept of Virtual Machine
The document provides an overview of operating systems, including processes, threads, interprocess communication, deadlocks, and scheduling. It discusses the evolution of operating systems from first to fourth generation. Key concepts covered include processes, files, system calls, command interpreters, and signals. Operating system structures like monolithic, layered, and client-server models are summarized. Common interprocess communication problems like the bounded buffer, readers-writers, and dining philosophers problems are also briefly outlined. Finally, it discusses process scheduling algorithms, deadlock conditions and strategies to handle deadlocks.
The document provides an overview of operating systems and system software. It discusses what system software is, the need for system software, types of system software including operating systems, device drivers, firmware, programming language translators, and utility software. It defines operating systems and describes their design goals. It also outlines the four main components of a computer system - hardware, operating system, application programs, and users. Finally, it discusses the key components of an operating system including process management, I/O device management, file management, memory management, and security management.
The document provides an overview of an operating systems lecture given by Dr. Shahira Elfeky at Sinai University. It includes the course outline covering topics like process management, memory management, secondary storage management and disk scheduling. It lists the objectives of the course which are to describe operating system components and structures, discuss various scheduling algorithms and memory management techniques. It also defines what an operating system is and describes different types of operating systems like batch, time-sharing, distributed, real-time and mobile operating systems. Finally, it outlines the key functions performed by an operating system like process management, memory management, file management and I/O device management.
This document contains the syllabus for an Operating Systems course taught in the Department of Computer Science and Engineering (AI & ML). It lists the textbook and references for the course. The topics covered in Lecture 4 include an introduction to operating system structures, types of services provided by operating systems like program execution, I/O operations, file system manipulation, communication, error handling, resource allocation, and protection. The next lecture will cover system calls.
The document discusses operating systems and their functions. An operating system (OS) is a program that manages computer hardware resources and provides common services for computer programs. It acts as an interface between users and the computer hardware. The key functions of an OS include managing CPU time and memory, allowing for program creation and execution, providing access to I/O devices and files, and resolving conflicts over resource contention and access. There are three classical views of an OS: as a resource manager that allocates hardware resources, as a control program that oversees execution and prevents errors, and as a command executer that provides an interface for users to run programs and utilities.
This document provides course material for the subject of Operating Systems for 4th semester B.E. Computer Science Engineering students at A.V.C. College of Engineering. It includes information on the name and designation of the faculty teaching the course, the academic year, curriculum regulations, 5 units that make up the course content, textbook and reference details. The course aims to cover key topics in operating systems including processes, process scheduling, storage management, file systems and I/O systems.
The document provides an introduction to operating systems, covering topics such as the need for operating systems, their evolution over different generations from batch to real-time systems, and the components of a computer system including hardware, operating system, application programs, and users. It then discusses operating system services from both the user and system point of view, and provides case studies of the Windows and Linux operating systems.
Basics of Operating Systems Definition – Generations of Operating systems – Types of Operating Systems, OS Service, System Calls, OS structure: Layered, Monolithic, Microkernel Operating Systems – Concept of Virtual Machine
The document provides an overview of operating systems, including processes, threads, interprocess communication, deadlocks, and scheduling. It discusses the evolution of operating systems from first to fourth generation. Key concepts covered include processes, files, system calls, command interpreters, and signals. Operating system structures like monolithic, layered, and client-server models are summarized. Common interprocess communication problems like the bounded buffer, readers-writers, and dining philosophers problems are also briefly outlined. Finally, it discusses process scheduling algorithms, deadlock conditions and strategies to handle deadlocks.
The document provides an overview of operating systems and system software. It discusses what system software is, the need for system software, types of system software including operating systems, device drivers, firmware, programming language translators, and utility software. It defines operating systems and describes their design goals. It also outlines the four main components of a computer system - hardware, operating system, application programs, and users. Finally, it discusses the key components of an operating system including process management, I/O device management, file management, memory management, and security management.
The document provides an overview of an operating systems lecture given by Dr. Shahira Elfeky at Sinai University. It includes the course outline covering topics like process management, memory management, secondary storage management and disk scheduling. It lists the objectives of the course which are to describe operating system components and structures, discuss various scheduling algorithms and memory management techniques. It also defines what an operating system is and describes different types of operating systems like batch, time-sharing, distributed, real-time and mobile operating systems. Finally, it outlines the key functions performed by an operating system like process management, memory management, file management and I/O device management.
The document discusses the key components and functions of operating systems. It describes operating systems as programs that act as intermediaries between users and computer hardware by managing resources, executing programs, and making computers easier to use. It outlines the main components of operating systems as process management, file management, memory management, secondary storage management, I/O device management, network management, security management, and a command interpreter system. For each component, it provides details on their functions and how they allow operating systems to control hardware and allocate resources for programs and users.
The document discusses the key components and functions of operating systems. It describes operating systems as programs that act as intermediaries between users and computer hardware by managing resources, executing programs, and making computers easier to use. It outlines the main components of operating systems as process management, file management, memory management, secondary storage management, I/O device management, network management, security management, and a command interpreter system. For each component, it provides details on their functions and how they allow operating systems to control hardware and allocate resources for programs and users.
This document provides an introduction to operating systems and covers several key topics:
1. It describes the architecture and evolution of operating systems including monolithic, layered, microkernel, and exokernel designs as well as the progression from batch processing to timesharing, personal computing, and distributed systems.
2. The functions of operating systems are discussed including program execution, input/output, resource allocation, and error detection.
3. Examples of operating systems are given such as Linux, Windows, and mobile phone OSs.
4. Components of a computer system are defined including the hardware, software, system programs, and application programs.
5. Concepts like multiprocessing, multitasking, shells
The document provides an overview of operating systems including:
1. It defines an operating system as a program that acts as an intermediary between users/applications and computer hardware.
2. It describes the basic components of a computer system including hardware, operating system, application programs, and users.
3. It discusses the functions of an operating system including process management, memory management, file management, and more.
4. It outlines different types of operating systems such as batch, time-sharing, real-time, distributed, and mobile operating systems.
The document provides an overview of advanced operating systems. It discusses synchronization mechanisms like processes, threads, and the critical section problem. It also covers other synchronization issues like the dining philosophers problem and producer-consumer problem. Distributed operating systems and multiprocessing operating systems are presented as types of advanced operating systems. Design approaches like layered, kernel, and virtual machine approaches are summarized. Semaphores are introduced as a synchronization mechanism using wait and signal operations.
Operating systems have evolved significantly over time:
- Early operating systems in the 1950s supported batch processing and standardized I/O routines.
- In the 1960s, time-sharing systems were developed that allowed multiple users to access a computer simultaneously.
- Modern operating systems support various types of usage including batch processing, time-sharing, real-time applications, distributed systems, and parallel processing across networked computers. They provide interfaces, manage memory, processors, devices, files and perform other functions to enable efficient use of computer hardware and software resources.
Through this PPT you may learned about Operating System, Types of OS, History of OS, Operating System Software, Gives detailed information about Device Management, Memory Management, File Management
The document discusses operating systems and their functions. It describes how operating systems manage computer hardware, provide security, interface with users and applications, and more. Specifically, it outlines how operating systems manage the CPU, RAM, storage devices, input/output devices. It also discusses how operating systems provide security for single-user and server systems, and interface with users through command line and graphical interfaces. Finally, it notes how operating systems provide an interface for application software to run on specific CPU architectures.
The document discusses operating systems and their functions. It describes how operating systems manage hardware resources like the CPU, RAM, and I/O devices. Operating systems also provide security, a system interface, and an interface for application software. Common functions of operating systems include managing hardware, providing security, interfacing with users and applications, and controlling application development from the CPU to software. The document contrasts different types of operating systems and their features.
The document provides an overview of operating systems, including definitions, functions, and evolution. Some key points:
- An operating system acts as an intermediary between user applications and computer hardware, managing resources and allowing for multitasking.
- The main functions of an OS include resource management, storage management, process management, memory management, file management, device management, and security/protection.
- Early operating systems evolved from serial processing to batch processing to multiprogramming and time-sharing to better utilize hardware and reduce turnaround time for users.
- Modern OS must balance individual usability, resource utilization, and response time depending on the system type (personal computer, mainframe, network, etc
This document provides an introduction to operating systems presented by Prof. K. Adisesha. It discusses key concepts of operating systems including definitions, functions, types, and properties. Specifically, it defines an operating system as an interface between the user and computer hardware. It describes functions such as processor management, memory management, and file management. It outlines different types of operating systems including batch, time-sharing, distributed, and real-time systems. Finally, it discusses properties like batch processing, multitasking, and distributed environments.
This document provides an introduction to operating systems, including definitions, functions, and types. It discusses how an operating system acts as an interface between the user and computer hardware, and its roles in processor management, memory management, device management, file management, and other functions. Popular operating systems like Linux, Windows, and VMS are mentioned. Batch operating systems, time-sharing systems, distributed systems, network operating systems, and real-time operating systems are described as the main types of operating systems.
This document contains the syllabus for an Operating Systems course. It outlines the textbook and references used in the course. It also summarizes the topics that were covered in Lecture 3, including the different types of operating systems such as batch, multiprogramming, time-sharing, multiprocessing, distributed, network, real-time, and embedded operating systems. Examples and characteristics of each type were provided. The document concluded with noting the topics to be covered in the next lecture.
This document provides an overview of operating systems. It discusses the following key points in 3 sentences:
The document begins with an introduction to operating systems, describing their role in managing computer hardware resources and providing a interface between software and hardware. Various operating system concepts are then covered such as processes, memory management, file systems and I/O subsystem management. Finally, the document discusses different types of operating systems including batch, time-sharing, distributed, network and real-time operating systems.
This document outlines the structure and content of a course on operating system principles. It is divided into 5 units that cover topics like process management, memory management, distributed systems, and synchronization. The introduction defines key parts of a computer system like the operating system, hardware, and users. It describes the role of the operating system in allocating resources and controlling devices and programs. Examples are given of popular desktop, mobile, and server operating systems.
This document provides a summary of key topics covered in lecture materials on operating systems. It discusses the basic functions and components of operating systems including process management, memory management, CPU scheduling, synchronization, deadlocks, and virtual memory. Specific scheduling algorithms like first-come first-served, shortest job first and round-robin are explained. The document also covers operating system services, system calls, protection and various historical generations of operating systems.
A Free 200-Page eBook ~ Brain and Mind Exercise.pptxOH TEIK BIN
(A Free eBook comprising 3 Sets of Presentation of a selection of Puzzles, Brain Teasers and Thinking Problems to exercise both the mind and the Right and Left Brain. To help keep the mind and brain fit and healthy. Good for both the young and old alike.
Answers are given for all the puzzles and problems.)
With Metta,
Bro. Oh Teik Bin 🙏🤓🤔🥰
The document discusses the key components and functions of operating systems. It describes operating systems as programs that act as intermediaries between users and computer hardware by managing resources, executing programs, and making computers easier to use. It outlines the main components of operating systems as process management, file management, memory management, secondary storage management, I/O device management, network management, security management, and a command interpreter system. For each component, it provides details on their functions and how they allow operating systems to control hardware and allocate resources for programs and users.
The document discusses the key components and functions of operating systems. It describes operating systems as programs that act as intermediaries between users and computer hardware by managing resources, executing programs, and making computers easier to use. It outlines the main components of operating systems as process management, file management, memory management, secondary storage management, I/O device management, network management, security management, and a command interpreter system. For each component, it provides details on their functions and how they allow operating systems to control hardware and allocate resources for programs and users.
This document provides an introduction to operating systems and covers several key topics:
1. It describes the architecture and evolution of operating systems including monolithic, layered, microkernel, and exokernel designs as well as the progression from batch processing to timesharing, personal computing, and distributed systems.
2. The functions of operating systems are discussed including program execution, input/output, resource allocation, and error detection.
3. Examples of operating systems are given such as Linux, Windows, and mobile phone OSs.
4. Components of a computer system are defined including the hardware, software, system programs, and application programs.
5. Concepts like multiprocessing, multitasking, shells
The document provides an overview of operating systems including:
1. It defines an operating system as a program that acts as an intermediary between users/applications and computer hardware.
2. It describes the basic components of a computer system including hardware, operating system, application programs, and users.
3. It discusses the functions of an operating system including process management, memory management, file management, and more.
4. It outlines different types of operating systems such as batch, time-sharing, real-time, distributed, and mobile operating systems.
The document provides an overview of advanced operating systems. It discusses synchronization mechanisms like processes, threads, and the critical section problem. It also covers other synchronization issues like the dining philosophers problem and producer-consumer problem. Distributed operating systems and multiprocessing operating systems are presented as types of advanced operating systems. Design approaches like layered, kernel, and virtual machine approaches are summarized. Semaphores are introduced as a synchronization mechanism using wait and signal operations.
Operating systems have evolved significantly over time:
- Early operating systems in the 1950s supported batch processing and standardized I/O routines.
- In the 1960s, time-sharing systems were developed that allowed multiple users to access a computer simultaneously.
- Modern operating systems support various types of usage including batch processing, time-sharing, real-time applications, distributed systems, and parallel processing across networked computers. They provide interfaces, manage memory, processors, devices, files and perform other functions to enable efficient use of computer hardware and software resources.
Through this PPT you may learned about Operating System, Types of OS, History of OS, Operating System Software, Gives detailed information about Device Management, Memory Management, File Management
The document discusses operating systems and their functions. It describes how operating systems manage computer hardware, provide security, interface with users and applications, and more. Specifically, it outlines how operating systems manage the CPU, RAM, storage devices, input/output devices. It also discusses how operating systems provide security for single-user and server systems, and interface with users through command line and graphical interfaces. Finally, it notes how operating systems provide an interface for application software to run on specific CPU architectures.
The document discusses operating systems and their functions. It describes how operating systems manage hardware resources like the CPU, RAM, and I/O devices. Operating systems also provide security, a system interface, and an interface for application software. Common functions of operating systems include managing hardware, providing security, interfacing with users and applications, and controlling application development from the CPU to software. The document contrasts different types of operating systems and their features.
The document provides an overview of operating systems, including definitions, functions, and evolution. Some key points:
- An operating system acts as an intermediary between user applications and computer hardware, managing resources and allowing for multitasking.
- The main functions of an OS include resource management, storage management, process management, memory management, file management, device management, and security/protection.
- Early operating systems evolved from serial processing to batch processing to multiprogramming and time-sharing to better utilize hardware and reduce turnaround time for users.
- Modern OS must balance individual usability, resource utilization, and response time depending on the system type (personal computer, mainframe, network, etc
This document provides an introduction to operating systems presented by Prof. K. Adisesha. It discusses key concepts of operating systems including definitions, functions, types, and properties. Specifically, it defines an operating system as an interface between the user and computer hardware. It describes functions such as processor management, memory management, and file management. It outlines different types of operating systems including batch, time-sharing, distributed, and real-time systems. Finally, it discusses properties like batch processing, multitasking, and distributed environments.
This document provides an introduction to operating systems, including definitions, functions, and types. It discusses how an operating system acts as an interface between the user and computer hardware, and its roles in processor management, memory management, device management, file management, and other functions. Popular operating systems like Linux, Windows, and VMS are mentioned. Batch operating systems, time-sharing systems, distributed systems, network operating systems, and real-time operating systems are described as the main types of operating systems.
This document contains the syllabus for an Operating Systems course. It outlines the textbook and references used in the course. It also summarizes the topics that were covered in Lecture 3, including the different types of operating systems such as batch, multiprogramming, time-sharing, multiprocessing, distributed, network, real-time, and embedded operating systems. Examples and characteristics of each type were provided. The document concluded with noting the topics to be covered in the next lecture.
This document provides an overview of operating systems. It discusses the following key points in 3 sentences:
The document begins with an introduction to operating systems, describing their role in managing computer hardware resources and providing a interface between software and hardware. Various operating system concepts are then covered such as processes, memory management, file systems and I/O subsystem management. Finally, the document discusses different types of operating systems including batch, time-sharing, distributed, network and real-time operating systems.
This document outlines the structure and content of a course on operating system principles. It is divided into 5 units that cover topics like process management, memory management, distributed systems, and synchronization. The introduction defines key parts of a computer system like the operating system, hardware, and users. It describes the role of the operating system in allocating resources and controlling devices and programs. Examples are given of popular desktop, mobile, and server operating systems.
This document provides a summary of key topics covered in lecture materials on operating systems. It discusses the basic functions and components of operating systems including process management, memory management, CPU scheduling, synchronization, deadlocks, and virtual memory. Specific scheduling algorithms like first-come first-served, shortest job first and round-robin are explained. The document also covers operating system services, system calls, protection and various historical generations of operating systems.
A Free 200-Page eBook ~ Brain and Mind Exercise.pptxOH TEIK BIN
(A Free eBook comprising 3 Sets of Presentation of a selection of Puzzles, Brain Teasers and Thinking Problems to exercise both the mind and the Right and Left Brain. To help keep the mind and brain fit and healthy. Good for both the young and old alike.
Answers are given for all the puzzles and problems.)
With Metta,
Bro. Oh Teik Bin 🙏🤓🤔🥰
🔥🔥🔥🔥🔥🔥🔥🔥🔥
إضغ بين إيديكم من أقوى الملازم التي صممتها
ملزمة تشريح الجهاز الهيكلي (نظري 3)
💀💀💀💀💀💀💀💀💀💀
تتميز هذهِ الملزمة بعِدة مُميزات :
1- مُترجمة ترجمة تُناسب جميع المستويات
2- تحتوي على 78 رسم توضيحي لكل كلمة موجودة بالملزمة (لكل كلمة !!!!)
#فهم_ماكو_درخ
3- دقة الكتابة والصور عالية جداً جداً جداً
4- هُنالك بعض المعلومات تم توضيحها بشكل تفصيلي جداً (تُعتبر لدى الطالب أو الطالبة بإنها معلومات مُبهمة ومع ذلك تم توضيح هذهِ المعلومات المُبهمة بشكل تفصيلي جداً
5- الملزمة تشرح نفسها ب نفسها بس تكلك تعال اقراني
6- تحتوي الملزمة في اول سلايد على خارطة تتضمن جميع تفرُعات معلومات الجهاز الهيكلي المذكورة في هذهِ الملزمة
واخيراً هذهِ الملزمة حلالٌ عليكم وإتمنى منكم إن تدعولي بالخير والصحة والعافية فقط
كل التوفيق زملائي وزميلاتي ، زميلكم محمد الذهبي 💊💊
🔥🔥🔥🔥🔥🔥🔥🔥🔥
Andreas Schleicher presents PISA 2022 Volume III - Creative Thinking - 18 Jun...EduSkills OECD
Andreas Schleicher, Director of Education and Skills at the OECD presents at the launch of PISA 2022 Volume III - Creative Minds, Creative Schools on 18 June 2024.
How to Download & Install Module From the Odoo App Store in Odoo 17Celine George
Custom modules offer the flexibility to extend Odoo's capabilities, address unique requirements, and optimize workflows to align seamlessly with your organization's processes. By leveraging custom modules, businesses can unlock greater efficiency, productivity, and innovation, empowering them to stay competitive in today's dynamic market landscape. In this tutorial, we'll guide you step by step on how to easily download and install modules from the Odoo App Store.
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapitolTechU
Slides from a Capitol Technology University webinar held June 20, 2024. The webinar featured Dr. Donovan Wright, presenting on the Department of Defense Digital Transformation.
How to Manage Reception Report in Odoo 17Celine George
A business may deal with both sales and purchases occasionally. They buy things from vendors and then sell them to their customers. Such dealings can be confusing at times. Because multiple clients may inquire about the same product at the same time, after purchasing those products, customers must be assigned to them. Odoo has a tool called Reception Report that can be used to complete this assignment. By enabling this, a reception report comes automatically after confirming a receipt, from which we can assign products to orders.
1. A. Frank - P. Weisberg
Operating Systems
Introduction to
Operating System (OS)
2. 2 A. Frank - P. Weisberg
Slides Credits for all PPTs of OS course
• The slides/diagrams in this course are an adaptation,
combination, and enhancement of material from the
following resources and persons:
1. Slides of A. Silberschatz, P. B. Galvin and G. Gagne
(see book references ahead) with some
enhancements by Y. Wiseman.
2. Slides of Mario Marchand of the University of
Ottawa and Patricia Roy of Manatee Community
College based on W. Stallings (see book reference
ahead) with some enhancements by O. Kremien and
E. Gruengard.
3. Some diagrams from R. A. Finkel and Andrew S.
Tanenbaum (see book references ahead).
3. 3 A. Frank - P. Weisberg
Initial Objectives
• To describe the basic organization of computer systems
and operating systems.
• To give an overview of the many types of computing
environments.
• To explore varied types of operating systems.
• To provide a grand tour of the major components of
operating systems.
• To describe the services an operating system provides
to users, processes, and other systems.
• To discuss the various ways of structuring an operating
system.
4. 4 A. Frank - P. Weisberg
What is an Operating System (1)?
• A modern computer consists of:
One or more processors
Main memory
Disks
Printers
Various input/output devices.
• Managing all these varied components
requires a layer of software – the
Operating System (OS).
5. 5 A. Frank - P. Weisberg
What is an Operating System (2)?
• An Operating System is a program that acts as
an intermediary/interface between a user of a
computer and the computer hardware.
• OS goals:
– Control/execute user/application programs.
– Make the computer system convenient to use.
– Ease the solving of user problems.
– Use the computer hardware in an efficient manner.
6. 6 A. Frank - P. Weisberg
Where does the OS fit in?
7. 7 A. Frank - P. Weisberg
Services provided by an OS
• Facilities for program creation
– editors, compilers, linkers, debuggers, etc.
• Program execution
– loading in memory, I/O and file initialization.
• Access to I/O and files
– deals with the specifics of I/O and file formats.
• System access
– resolves conflicts for resource contention.
– protection in access to resources and data.
8. 8 A. Frank - P. Weisberg
Why are Operating Systems Important?
• Important to understand and know how to correctly
use when writing user applications.
• Large and complex systems that have a high
economic impact and result in interesting problems
of management.
• Few actually involved in OS design and
implementation but nevertheless many general
techniques to be learned and applied.
• Combines concepts from many other areas of
Computer Science: Architecture, Languages,
Data Structures, Algorithms, etc.
9. 9 A. Frank - P. Weisberg
Course Syllabus (1)
• Motivation for Operating Systems (OS)
• Introduction
– What's an Operating System?
– Computer/Operating System Overview
– Evolution of Operating Systems
– Functional/Protection Aspects
– Operating System Structures
10. 10 A. Frank - P. Weisberg
Course Syllabus (2)
• Concurrent Processes
– Process Models and Management
– Process Description and Control
– Task/Thread Description and Control
– Concurrency: Mutual Exclusion and
Synchronization
– Concurrency: Deadlock and Starvation
11. 11 A. Frank - P. Weisberg
Course Syllabus (3)
• Memory Management
– Real Memory Management
– Motivation for Virtual Memory (VM)
– Paging and Segmentation
– Page Fetch, Placement and Replacement
12. 12 A. Frank - P. Weisberg
Course Syllabus (4)
• Uniprocessor Scheduling
– Levels of CPU Scheduling
– Process Scheduling
• External Storage Management
– File Systems/Management
– Directories
– File Allocation
– Disk Scheduling
13. 13 A. Frank - P. Weisberg
Main Bibliography
A. Silberschatz, P. B. Galvin, and G. Gagne,
“Operating Systems Concepts (Essentials)”,
9th Edition, John Wiley & Sons, 2012.
http://codex.cs.yale.edu/avi/os-book/
14. 14 A. Frank - P. Weisberg
Main Bibliography
W. Stallings,
“Operating
Systems: Internals
and Design
Principles”, 8th ed,
Pearson, 2015.
http://williamstalli
ngs.com/Operating
Systems/
15. 15 A. Frank - P. Weisberg
Main Bibliography
A. S. Tanenbaum,
“Modern
Operating
Systems”, 4th ed,
Pearson, 2015.
http://www.pearsonhigh
ered.com/educator/acad
emic/product/0,,013600
6639,00%2ben-
USS_01DBC.html
16. 16 A. Frank - P. Weisberg
Main Bibliography
T. W. Doeppner,
Operating Systems
in Depth, John
Wiley & Sons,
2011,
http://eu.wiley.com/
WileyCDA/WileyTi
tle/productCd-
EHEP001803.html
17. 17 A. Frank - P. Weisberg
Computer Hardware Organization
18. 18 A. Frank - P. Weisberg
Computer System Components
1. Hardware – provides basic computing resources
(CPU, Memory, I/O devices, Communication).
2. Operating System – controls and coordinates
use of the hardware among various application
programs for various users.
3. System & Application Programs – ways in which
the system resources are used to solve computing
problems of the users (Word processors, Compilers,
Web browsers, Database systems, Video games).
4. Users – (People, Machines, other computers).
19. 19 A. Frank - P. Weisberg
Hierarchical view of computer system
20. 20 A. Frank - P. Weisberg
Static View of System Components
21. 21 A. Frank - P. Weisberg
Dynamic View of System Components
22. 22 A. Frank - P. Weisberg
Layers of a Computer System
End
User
Programmer
Operating-
System
Designer
Computer Hardware
Operating-System
Utilities
Application
Programs
23. 23 A. Frank - P. Weisberg
What Operating Systems Do
• Depends on the point of view.
• Users want convenience, ease of use and good performance
– Don’t care about resource utilization.
• But a shared computer such as mainframe or minicomputer
must keep all users happy.
• Users of dedicate systems such as workstations have dedicated
resources but frequently use shared resources from servers.
• Handheld computers are resource poor, optimized for usability
and battery life.
• Some computers have little or no user interface, such as
embedded computers in devices and automobiles.
24. 24 A. Frank - P. Weisberg
Views of an Operating System
• There are three classical views (in literature):
1. Resource Manager – manages and allocates
resources.
2. Control program – controls the execution of user
programs and operations of I/O devices.
3. Command Executer – Provides an environment
for running user commands.
• But one more modern view: the Operating
System as a Virtual Machine.
25. 25 A. Frank - P. Weisberg
1. Resource Manager
• Resource Manager:
– Manages and protects multiple computer resources: CPU,
Processes, Internal/External memory, Tasks, Applications,
Users, Communication channels, etc…
– Handles and allocates resources to multiple users or
multiple programs running at the same time and space
(e.g., processor time, memory, I/O devices).
– Decides between conflicting requests for efficient and fair
resource use (e.g., maximize throughput, minimize
response time).
• Sort of a bottom-up view.
26. 26
OS as a Resource Manager
A. Frank - P. Weisberg
27. 27 A. Frank - P. Weisberg
Resource Manager oriented OS names
• DEC RSX – Resource Sharing eXecutive
• MIT Multics – MULTiplexed Information and
Computing Services
• IBM MFT/MVT – Multiple Fixed/Variable Tasks
• IBM MVS – Multiple Virtual Storage
• DEC VMS – Virtual Memory System
• MVS TSO – Time Sharing Option
• CTSS – Compatible Time Sharing System
• IBM VM – Virtual machine
28. 28 A. Frank - P. Weisberg
2. Control Program
• Control Program:
– Manages all the components of a complex
computer system in an integrated manner.
– Controls the execution of user programs and
I/O devices to prevent errors and improper
use of computer resources.
– Looks over and protects the computer:
Monitor, Supervisor, Executive, Controller,
Master, Coordinator ….
• Sort of a black box view.
29. 29 A. Frank - P. Weisberg
Control program oriented OS names
• Unisys MCP – Master Control Program
• DR CP/M – Control Program/Microcomputer
• IBM VM/CP – VM Control Program
• IBM AIX – Advanced Interactive eXecutive
• DEC RSX – Resource Sharing eXecutive
30. 30 A. Frank - P. Weisberg
3. Command Executer
• Command Executer:
– Interfaces between the users and machine.
– Supplies services/utilities to users.
– Provides the users with a convenient CLI
(Command Language Interface), also called
a Shell (in UNIX), for entering the user
commands.
• Sort of a top-down view.
31. 31 A. Frank - P. Weisberg
Command Executer oriented OS names
• IBM AIX – Advanced Interactive Executive
• IBM VM/CMS – Conversational monitor
System
32. 32 A. Frank - P. Weisberg
Modern view: Virtual Machine (1)
• Operating System as a Virtual Machine:
– An interface between the user and hardware that
hides the details of the hardware (e.g., I/O).
– Constructs higher-level (virtual) resources out of
lower-level (physical) resources (e.g., files).
– Definition: OS is a collection of software
enhancements, executed on the bare hardware,
culminating in a high-level virtual machine that
serves as an advanced programming environment.
• virtual machine = software enhancement = extended
machine = abstract machine = layer = level = ring.
33. 33 A. Frank - P. Weisberg
Modern view: Virtual Machine (2)
34. 34 A. Frank - P. Weisberg
Definition of Operating System
• There is no universally accepted definition.
• “Everything a vendor ships when you order an
operating system” is good approximation but
varies widely.
• “The one program running at all times on the
computer” is the Kernel.
• Everything else is either a system program
(ships with the operating system) or an
application program.
35. 35 A. Frank - P. Weisberg
One Kernel Point of View
36. 36 A. Frank - P. Weisberg
What is the OS/Kernel?
• Is the Operating System just the Kernel (not
the utilities and application programs)?!
• The Command Line Interface (CLI) (or
command layer/interpreter or shell) allows
direct command entry by the user.
• The shell used to be in the kernel but now is a
(first between equals) utility outside of it:
– Easy to change/debug
– Many of them (sh, bsh, csh, ksh, tcsh, wsh, bash)
– Possible to switch between them (chsh)
37. 37 A. Frank - P. Weisberg
Utilities Shell
Kernel
Hardware
User
UNIX Shell and Utilities
38. 38 A. Frank - P. Weisberg
CLI is the User OS Interface
CLI allows direct command entry:
– Sometimes implemented in kernel, sometimes by
systems program.
– Sometimes multiple flavors implemented – shells.
– Primarily fetches a command from user and
executes it.
– Sometimes commands built-in, sometimes just
names of programs; if the latter, adding new
features doesn’t require shell modification.
42. 42 A. Frank - P. Weisberg
General UNIX Architecture (1)
43. 43 A. Frank - P. Weisberg
Other application programs
cc
Other application programs
Hardware
Kernel
sh who
a.out
date
we
grep
ed
vi
ld
as
comp
cpp
nroff
General UNIX Architecture (2)