The document outlines the course structure for an Operating Systems class (CS F372) taught by Biju K Raveendran at BITS Pilani Goa, including class timings, exam schedules, and grading policies. It details the course administration, including required textbooks, project assignments, and malpractice regulations. Additionally, it provides an introduction to operating systems, their functions, types, and the goals they aim to achieve in managing hardware resources.
The document outlines the course structure for an Operating Systems class (CS F372) taught by Biju K Raveendran at BITS Pilani Goa, including class timings, exam schedules, and grading policies. It details the course administration, including required textbooks, project assignments, and malpractice regulations. Additionally, it provides an introduction to operating systems, their functions, types, and the goals they aim to achieve in managing hardware resources.
Instructor • Biju K Raveendran –Chamber: D-248 –e-mail: [[email protected]] –Dept. CS & IS
Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 2
Policies to follow
• Class Timings [DLT8]
– Monday, Wednesday and Friday – 04:00 P.M to 04:50 P.M • Tutorial Timing [DLT8] – Tuesday 4:00 P.M to 4:50 P.M • Whenever tutorial is required corresponding Lecture will be converted into tutorial. All classes are otherwise Lecture classes. Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 3 Course Administration • Mid Semester Exam: [25%] [Closed Book] – 05/03/2025, Wednesday, 2:00 PM – 3:30 PM • Onlines & Projects: [30%] [Open Book] – Online #1: Abstract Data Type [Files and String Operations] 5%. – Online #2: Process [fork, wait, shared memory, signals etc.] 8%. – Online #3: Threads and Synchronization [pthread library, semaphore library etc.] 7% – Project #1: Kernel Recompilation with a new System call 4% – Project #2: Implementation of Device Driver in Linux [Group Assignment] 6% • Attendance: [10%] • Comprehensive Exam: [35%] [Closed Book] 10/05/2025, AN Tuesday, January 7, 2025 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 Tuesday, January 7, 2025 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] – Using ChatGPT / Other AI tools to solve the problem – 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 Tuesday, January 7, 2025 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 Tuesday, January 7, 2025 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 Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 8 [T1 Ch1]Abstract View of System Components
Tuesday, January 7, 2025 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 Tuesday, January 7, 2025 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
Tuesday, January 7, 2025 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 Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 12 Types of Operating Systems • Main frame systems • Batch, Multi-programming and Multi-tasking system • Multi programming – Keeps multiple runnable jobs loaded in memory – Overlaps I/O of a job with computation of another – Benefits from I/O devices that can operate asynchronously – Requires the use of interrupts and DMA – Optimizes system throughput (number of jobs finished in a given amount of time) at the cost of response time Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 13 Example • [0] J1 → 8 CPU, 4 I/O, 3 CPU • [1] J2 → 5 CPU, 5 I/O, 9 CPU • [2] J3 → 2 CPU, 2 I/O, 6 CPU
Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 14
Types of Operating Systems • Multi-tasking (Time Sharing) Systems – Logical extension of multi-programming system – A time unit is divided into small slices and each user can be allocated CPU – Allows many users to share the computer simultaneously – Uses multiprogramming and CPU scheduling • CPU is multiplexed among several jobs – Time sharing machine with Interactive I/O devices improves user response time – Gives illusion that each user has his own machine Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 15 Example • [0] J1 → 8 CPU, 4 I/O, 3 CPU • [1] J2 → 5 CPU, 5 I/O, 9 CPU • [2] J3 → 2 CPU, 2 I/O, 6 CPU
Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 16
Types of Operating Systems • Multi-user Operating Systems – Multiple users can work concurrently with data and application protection. • Uni-core Systems [Uni-processor] – Stored program [Von Neumann / Princeton architecture] – Harvard Architecture – Modified Harvard Architecture Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 17 Types of Operating Systems • Uni-core, Multi-core, Multi-processor – Registers, TLB, [L1, L2, L3] caches, Main Memory – i3 [Hyper thread], i5 [Turbo boost], i7 [Both] and i9 processors [both with 2turbo boost frequencies]
Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 18
Types of Operating Systems • Systems with graceful degradation [with hardware failures] and systems with fault tolerance • Increased throughput, reliability, [Economical] • Multi-processor [Tightly coupled system] – Asymmetric • Each processor is assigned a specific task [Co-processors] – Symmetric [SMP] • Local registers and cache for each processor but connected with a common shared memory
Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 19
Types of Operating Systems • Multi-processor – Memory Model • UMA (Uniform Memory Access) • NUMA (Non-Uniform Memory Access) • NORMA (No Remote Memory Access) • Distributed Systems [Loosely coupled system] – Example: Client – Server systems and Peer to Peer system – Server systems can be Compute servers or File servers – Enables parallelism but speedup is not the goal – Adv: Resources Sharing, Computation speed up – load sharing, Reliability, Communications Tuesday, January 7, 2025 Biju K Raveendran @ BITS Pilani Goa 20