This document outlines the policies, schedule, and topics for an operating systems course. It discusses the instructors, class and tutorial timings, exam and project details, textbooks, and plagiarism policy. It also provides an introduction to operating systems, including their goals of managing hardware resources efficiently and securely while presenting an abstract interface to users.
This document outlines the policies, schedule, and topics for an operating systems course. It discusses the instructors, class and tutorial timings, exam and project details, textbooks, and plagiarism policy. It also provides an introduction to operating systems, including their goals of managing hardware resources efficiently and securely while presenting an abstract interface to users.
Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 4
Course Administration • Material and Notices: Quanta / Quantaaws • Text Book – Operating System Concepts, 9th Edition by Silberschatz, Galvin & Gagne • Reference Books – Operating Systems Internals & Design Principles, Stallings – The Design of the Unix Operating System, Bach – Advanced Programming in the UNIX environment, Richard Stevens – Linux Kernel Development, Robert Love – Understanding the Linux Kernel, Daniel P. Bovet Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 5 Malpractice Regulation – Assignments / Labs • First time: Negative (weightage of component) – Will be blacklisted • Repeatedly [across all courses]: will be reported to Examination sub-Committee for further action • A mal-practice - in this context - will include [not limited to]: – Copying / Submitting some other student’s solution(s) – Seeing some other student’s solution [during online] – Permitting some other student to see/copy your solution – Other equivalent forms of plagiarism • Getting it done by friends / seniors, with the help of forums and other internet sources] – The degree of mal-practice [size and # of students] will not be considered as mitigating evidence Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 6 Course Outline • Operating Systems [approx. 8 lectures] – Types, Structure & Services, Protection, System calls • Process Management [approx. 12 lectures] – Process, IPC, Threads • CPU Scheduling [approx. 8 lectures] • Concurrent Processes [approx. 10 lectures] – Synchronization and Deadlocks • Memory Management [approx. 10 lectures] – Memory management strategies – Paging, Segmentation; Virtual memory management • Storage Management [If time permits] – File systems, Disk structure, Disk Scheduling, RAID and I/O system Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 7 Introduction • What is Operating Systems? – Single most complex & essential software – Interface between user & computer hardware • What does it do? How does it help? – Helps user by making the system convenient to use – Helps programs run by providing resources & protecting them – Helps system by keeping things running smoothly – Helps user programmer to do his job efficiently – Uses computer hardware efficiently Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 8 [T1 Ch1]Abstract View of System Components
Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 9
Goals of an Operating System • Manages hardware resources so that the system operates smoothly, efficiently, reliably and securely • Presents abstract system model to programmer that promotes simple and convenient access and control of resources • Maximize resource utilization [CPU, memory, I/O] • OS must contain functions needed by many programs – I/O device control, memory allocation etc. – Maximum number of programs must get the benefit – OS must not become bulky Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 10 Application’s Expectation from OS • Hardware abstraction for convenience and portability • Effective and Efficient use of hardware with maximum multiplexing among applications • Protection of correctly running applications from malicious ones • Allow maximum sharing among application
Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 11
What if NO Operating System? • All we have is a bare hardware • We need a mechanism to – Load the program into memory – Run the program & Store the result in persistent storage – Unload the program to release memory [for the next program to use] • For doing all these functions we need at least a minimal OS – It must be the resident code that run by default – Allow us to load program and run by allotting necessary resources – After completion of the user program control must come back to the operating system Thursday, January 11, 2024 Biju K Raveendran @ BITS Pilani Goa 12