Computer Organization & Operating System

BS-MS Program, 2nd year, Semester 4 (Session: 2025-26)

  Information  |   Announcements  |   Mid-Sem Classes  |   End-Sem Classes  |   Assignments  |   References  


Course offered at Instructor
iiser-tvm-logo The School of Data Science,
Indian Institute of Science Education and Research Thiruvananthapuram,
Thiruvananthapuram, Kerala, India
πŸ‘€ Dr. Laltu Sardar ✉


Course Objective
This course aims to build a clear understanding of the fundamental principles that shape modern computer organization and operating systems. Students will explore how programs are structured, stored, and executed through detailed study of memory organization and related architectural concepts. The course also guides learners through the essential ideas involved in designing an operating system, enabling them to connect theoretical foundations with practical system level behavior.


Prerequisites: NA


✦ Classes will be started from 5th January, 2026 ✦

📃 Information


✦ Class Timing: TBA
  COrgOS Syllabus    IISER-TVM Time-Table    IISER-TVM Complete Syllabus    Course-page QR Code    Topics  
✦ Marks Distribution: Time-wise--> [Mid-Sem: 40% + End-Sem: 60%]; Type-wise --> [Written Exam: 80% + Assignments: 20%]
✦ Pass Marks: According to IISER TVM policy
# Total Marks 100 Written Exam Assignments Total
1 Mid-Semester 30 10 40
2 End-Semester 50 10 60
Total 80 20 100
✦ Attendance: See your attendances here.

🗣 Announcements


☑ The COrgOS classes will be start from January 5, 2026

πŸ“† Class Schedule: Mid-sem


# Date Topics on Computer Organization Remarks
1 2026-Jan-00 Introduction and Basic Principles:
What is computer organization, Basic principles of abstraction, Hardware components overview
slides_ms_01
2 2026-Jan-00 Performance Measurement:
Latency, throughput, Benchmarks, Evaluating, comparing and summarizing performance
slides_ms_02
3 2026-Jan-00 Instruction Basics:
Operations and operands, Instruction formats, Representing instructions
slides_ms_03
4 2026-Jan-00 Control Flow and Procedures:
Making decisions, Supporting procedures (stack, call-return), Character manipulation
slides_ms_04
5 2026-Jan-00 Addressing Modes and Program Start-up:
Styles of addressing, How a program starts, Loader and startup code
slides_ms_05
6 2026-Jan-00 Number Systems and Basic Arithmetic Operations:
Signed and unsigned numbers, Binary/hex representation, Addition and subtraction, Logical operations
slides_ms_06
7 2026-Jan-00 ALU Design Fundamentals:
Constructing an ALU, Basic ALU building blocks, Ripple carry and carry lookahead concepts
slides_ms_07
8 2026-Jan-00 Multiplication and Division Hardware Algorithms:
Hardware multiplication algorithms, Booth multiplication, Restoring and non-restoring division
slides_ms_08
9 2026-Jan-00 Floating Point and Parallel Arithmetic:
Floating point representation (IEEE 754), Floating point operations, Parallelism in computer arithmetic
slides_ms_09
10 2026-Jan-00 Datapath Basics:
Building a simple datapath, Registers and ALU integration, Control signals
slides_ms_10
11 2026-Jan-00 Multi-cycle Datapath and Microprogramming:
Multi-cycle implementation, Control sequencing, Microprogramming overview
slides_ms_11
12 2026-Jan-00 Pipeline Datapath and Control:
Pipelining concept, Pipeline stages and datapath, Pipeline control mechanisms
slides_ms_12
13 2026-Jan-00 Pipeline Hazards and Exceptions:
Data hazards, Control hazards, Structural hazards, Forwarding and stalling, Exception handling
slides_ms_13
14 2026-Jan-00 Cache Concepts and Performance:
Cache purpose, Mapping techniques (direct, associative, set-associative), Cache metrics and performance
slides_ms_14
15 2026-Jan-00 Virtual Memory and Memory Hierarchy:
Paging, TLBs, Page faults and handling, Common framework for memory hierarchies
slides_ms_15
16 2026-Jan-00 I/O Devices and Performance Measures:
I/O performance metrics, Types and characteristics of I/O devices, Device classification
slides_ms_16
17 2026-Jan-00 Buses and Device Interfaces:
Bus structures and protocols, Interfaces for I/O devices, Design considerations for I/O systems
slides_ms_17
18 2026-Jan-00 Parallel I/O and I/O System Design:
Parallelism in I/O, Designing an I/O system, Performance and scalability concerns
slides_ms_18
19 2026-Jan-00 Introduction to Multicores and Multiprocessors:
Multicore architecture basics, Shared vs distributed memory, Basics of multiprocessor organization
slides_ms_19
* 2026-Feb-00 Mid-Semestral Written Exam questions
sample_solutions

πŸ“† Class Schedule: End-sem


# Date Topics on Operating Systems Remarks
1 2026-Mar-00 OS Introductory Concepts:
Computer system organization, Operating system structure, Operations of OS
slides_es_01
2 2026-Mar-00 Functional Areas of OS:
Process management, Memory management, Storage management,
Protection and security, Distributed systems
slides_es_02
3 2026-Mar-00 Process Fundamentals:
Process concept, Process states, Process control block
slides_es_03
4 2026-Mar-00 Process Scheduling and Operations:
Process scheduling, CPU bursts, Operations on processes
slides_es_04
5 2026-Mar-00 Cooperating Processes and IPC:
Cooperating processes, Inter-process communication, Message passing and shared memory
slides_es_05
6 2026-Mar-00 Thread Basics:
Overview of threads, Benefits of multi-threading
slides_es_06
7 2026-Mar-00 Thread Models and Issues:
Multi-threading models, Threading issues, Thread pools, Signal handling
slides_es_07
8 2026-Mar-00 Thread Implementations:
Pthreads model, Windows XP threads
slides_es_08
9 2026-Mar-00 Scheduling Basics:
Scheduling objectives, CPU scheduler, Scheduling criteria
slides_es_09
10 2026-Mar-00 Scheduling Algorithms Part 1:
FCFS, SJF, Priority scheduling, Preemptive and non-preemptive scheduling
slides_es_10
11 2026-Mar-00 Scheduling Algorithms Part 2 and Multiprocessors:
Round Robin, Multilevel queues, Multiprocessor scheduling
slides_es_11
12 2026-Mar-00 Critical Section and Hardware Support:
Critical section problem, Peterson’s solution, Synchronization hardware
slides_es_12
13 2026-Mar-00 Semaphores, Monitors and Examples:
Semaphores, Monitors, Classic synchronization examples
slides_es_13
14 2026-Mar-00 Deadlock Handling:
Methods for handling deadlocks, Prevention, Avoidance, Recovery
slides_es_14
15 2026-Mar-00 Basic Memory Management:
Swapping, Contiguous memory allocation
slides_es_15
16 2026-Mar-00 Paging:
Paging mechanism, Page tables, Hardware support for paging
slides_es_16
17 2026-Mar-00 Segmentation and Virtual Memory:
Segmentation, Segmentation with paging, Virtual memory concepts
slides_es_17
18 2026-Mar-00 Demand Paging and Page Replacement:
Demand paging, Page faults, Page replacement algorithms
slides_es_18
19 2026-Mar-00 I/O Hardware:
I/O devices, Device controllers, Interrupts
slides_es_19
20 2026-Mar-00 Application I/O Interface:
I/O system calls, Blocking and non-blocking I/O, Device-independent I/O
slides_es_20
21 2026-Mar-00 Kernel I/O Subsystem:
Scheduling, Buffering, Caching, Spooling
slides_es_21
22 2026-Mar-00 I/O Request to Hardware Operations:
Transforming I/O requests to hardware actions, Device driver flow
slides_es_22
* 2026-Apr-00 End-Semestral Written Exam questions
sample_solutions

✍ Assignments



Assignment Problems

# Topic Assignments Deadline Remarks
Mid-semester
1 TBD Assignment 1 2026-Jan-00
2 TBD Assignment 2 2026-Feb-00
End-semester
-- TBD Assignment 2026-Mar-00
-- TBD Assignment 2026-Apr-00



Submission Guidelines

# Points
1 Header
☛ In the beginning of each file, please include the followings
/************************************************************
File Name:
Problem ID:
Name:
Collaborators:
Acknowledgements:
************************************************************/
2 Acknowledgement
☛ In acknowledgement part, refer books, websites, etc., from where any part of your code is inspired
3 Submission File
☛ Assignments must be sent as zip format. The name of the zip files must be of the form roll_assignment_xy.zip where xy = assignment id and roll = your roll in small case. For example: abc12345_assignement_01.zip will be the file name for the student with roll abc12345, for assignment 01
5 Submission Link
☛ Upload the zip via this Submission Link
☛ Check submission log from This Link
6 Sharing Assignment
☛ Discussion with friends is allowed. However, copying others' codes is strictly prohibited.
☛ For taker, minimum 50% marks will be deducted. The giver will get minimum 25% negative marks.
If we can't distinguish giver and taker, both may get minimum 50% negative, of the allotted marks.
8 Late Submission
☛ Deductions due to late submission: 1 day-- 10%; 2 days-- 20%; 3 days-- 30%; >= 4 days --May not even checked

πŸ“‘ Projects


# Topic Project Remarks Deadline
1 TBD Project-I Allocations 2026-Apr-00


πŸ“š References


Books

# Title Author(s) ISBN
1 Computer Organisation and Design: The Hardware/Software Interface D. A. Patterson and J. L. Hennesy 978-0-12-374750-1
2 Computer System Design and Architecture V. P. Heuring and H. F. Jordan 978-0-13-048440-6
3 Computer Architecture: A Quantitative Approach J. L. Hennessy and D. A. Patterson N/A
4 Computer Organization Carl Hamacher, Zvonko Vranesic and Safwat Zaky 978-0-07-232086-2
5 Operating Systems: Internals & Design Principles William Stallings 978-0-13-230998-1
6 Modern Operating Systems Andrew S. Tanenbaum and Herbert Bos 978-0-13-359162-0
7 Operating Systems - Design Oriented Approach Charles Crowley 978-0-07-463551-3
8 Operating System Concepts Abraham Silberschatz, Peter Baer Galvin and Greg Gagne 978-1-118-06333-0
** We will follow [1] for the Computer Organisation and [8] for the Operating System. For rest of the topics, we will provide sources time to time.

Helpful Websites

# Website Useful for
1 https://nptel.ac.in/courses/106106092 NPTEL Lectures on Computer Organization
2 https://nptel.ac.in/courses/106102132 NPTEL Lectures on Operating Systems
3 computer organization and architecture tutorials References
4 operating systems tutorial References
Top