Information  |   Announcements  |   Mid-Sem Classes  |   End-Sem Classes  |   Assignments  |   References  
| Course offered at | Instructor | |
|---|---|---|
|
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
| ✦ 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. |
| ☑ The COrgOS classes will be start from January 5, 2026 |
| # | 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 |
| # | 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 |
| # | 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 |
| # | Points |
|---|---|
| 1 | Header ☛ In the beginning of each file, please include the followings
/************************************************************ |
| 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 |
| # | 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 |
| # | 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 |