Operating Systems - Syllabus

Course Overview and Structure

Embark on a profound academic exploration as you delve into the Operating Systems course (OS) within the distinguished Tribhuvan university's BIT department. Aligned with the BIT Curriculum, this course (BIT204) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60+20+20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.

This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.


Course Description: The course covers fundamental concepts of operating system as well as, Process management, Memory management, File systems, and I/O Managements and Disk Managements.

Course Objective: The main objective of this course is to introduce fundamental concepts of operating system and its components and functions.

Units

Key Topics

  • Introduction to E-commerce
    IN-1

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

  • History of E-commerce
    IN-5

    Evolution and development of E-commerce over time.

  • E-commerce Framework
    IN-6

    Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.

  • Types of E-commerce
    IN-7

    Overview of different types of E-commerce including B2C, B2B, C2B, C2C, M-Commerce, U-commerce, Social-Ecommerce, and Local E-commerce.

Key Topics

  • Feistel Cipher Structure and Substitution Permutation Network (SPN)
    SY-1

    Feistel Cipher Structure is a design model for block ciphers, and Substitution Permutation Network (SPN) is a method of constructing block ciphers. Both are fundamental concepts in symmetric cryptography.

  • Data Encryption Standards (DES) and Variants
    SY-2

    Data Encryption Standards (DES) is a symmetric-key block cipher, and its variants include Double DES and Triple DES. These are important encryption algorithms in cryptography.

  • Process Management
    SY-1.1

    This topic focuses on the management of processes in an operating system, including process creation, scheduling, and synchronization.

  • Memory Management
    SY-1.2

    This topic covers the management of memory in an operating system, including memory allocation, deallocation, and protection.

  • I/O Management
    SY-1.3

    This topic deals with the management of input/output operations in an operating system, including I/O scheduling and device management.

  • Operating System Services
    SY-1.4

    This topic covers the various services provided by an operating system, including process execution, file management, and communication.

  • System Calls
    SY-1.5

    This topic focuses on the interface between the operating system and user-level applications, including system calls for process, file, and directory management.

  • Monolithic System
    SY-2.1

    This topic deals with the monolithic structure of operating systems, where the entire operating system is a single, large program.

  • Layered System
    SY-2.2

    This topic covers the layered structure of operating systems, where the operating system is divided into multiple layers, each with its own responsibilities.

  • Micro Kernels
    SY-2.3

    This topic focuses on the microkernel structure of operating systems, where the operating system is divided into a small core and various modules.

  • Exo Kernels
    SY-2.4

    This topic deals with the exokernel structure of operating systems, where the operating system provides a minimal set of services and relies on user-level applications for additional functionality.

  • Virtual Machines
    SY-2.5

    This topic covers the use of virtual machines in operating systems, where a virtual machine provides a layer of abstraction between the operating system and user-level applications.

  • Storage Structures
    SY-2.6

    This topic deals with the storage structures used in operating systems, including file systems, disk management, and storage allocation.

  • I/O Structures
    SY-2.7

    This topic covers the I/O structures used in operating systems, including I/O devices, device drivers, and I/O management.

  • File Structures
    SY-2.8

    This topic focuses on the file structures used in operating systems, including file organization, file allocation, and file protection.

  • System Protections
    SY-2.9

    This topic deals with the protection mechanisms used in operating systems, including access control, memory protection, and I/O protection.

Key Topics

  • Project Management Techniques
    PR-1

    This topic covers various project management techniques used to plan, organize, and control projects. It includes developing project management plans and implementing, monitoring, and controlling projects.

  • Collaborative Development Environment
    PR-2

    This topic focuses on creating an environment that fosters collaboration and teamwork. It includes communications planning, organizing and conducting effective meetings, and other collaborative development strategies.

  • Inter Process Communication
    PR-3

    Methods of communication between processes, including race conditions and critical sections.

  • Implementing Mutual Exclusion
    PR-4

    Techniques for achieving mutual exclusion, including busy waiting, sleep and wakeup, semaphores, monitors, and message passing.

Key Topics

  • Memory Hierarchy
    ME-1

    The organization of memory in a computer system, including main memory, RAM, ROM, and auxiliary memory. This topic covers the memory address map and connection to the CPU.

  • Main Memory
    ME-2

    The primary storage for data and program instructions in a computer system, including RAM and ROM chips.

  • Associative Memory
    ME-3

    A type of memory that uses hardware organization and match logic to perform read and write operations.

  • Cache Memory
    ME-4

    A small, fast memory that stores frequently accessed data, using locality of reference and mapping to improve performance.

  • Auxiliary Memory
    ME-5

    Secondary storage devices, including magnetic disks and magnetic tapes, used to store data and programs when not in use by the CPU.

  • Sources of Measurement Problems
    ME-6

    Identifying and addressing common sources of measurement problems in business research, including errors and biases.

  • Concept of Population, Sample, and Sampling
    ME-7

    Understanding the concepts of population, sample, and sampling in business research, including the importance of sampling and its applications.

  • Factors Affecting the Size of the Sample
    ME-8

    Exploring the factors that influence the size of the sample in business research, including population size, variability, and desired level of precision.

  • The Sampling Process
    ME-9

    Learning about the steps involved in the sampling process, including problem definition, population definition, and sample selection.

  • Types of Samples - Probability and Non-Probability Sampling
    ME-10

    Understanding the different types of samples, including probability sampling (random, stratified, and systematic) and non-probability sampling (convenience, judgment, and snowball).

  • Sampling and Non-Sampling Errors
    ME-11

    Distinguishing between sampling errors and non-sampling errors in business research, including their causes and consequences.

  • Page Tables and Paging Hardware
    ME-12

    Page tables and paging hardware are used to manage the mapping of pages to secondary storage.

  • TLB (Translation Lookaside Buffer)
    ME-13

    TLB is a cache that stores recently accessed page table entries to speed up page translation.

  • Page Replacement Algorithms
    ME-14

    Page replacement algorithms, such as principle of optimality, FIFO, LRU, and LFU, determine which page to replace when memory is full.

  • Segmentation
    ME-15

    Segmentation involves dividing a program into logical segments, which are mapped to memory.

  • Segmentation with Paging
    ME-16

    Segmentation with paging involves combining segmentation and paging to manage memory allocation.

  • File Systems
    ME-17

    File systems manage files and directories on storage devices, providing a hierarchical structure for organizing data.

  • File Naming
    ME-18

    File naming involves assigning a unique name to a file, which can include extensions and attributes.

  • File Structure
    ME-19

    File structure refers to the organization of data within a file, including headers, metadata, and content.

  • File Types
    ME-20

    File types determine the format and content of a file, such as text, image, or executable.

  • File Access and Attributes
    ME-21

    File access and attributes determine the permissions and properties of a file, such as read-only or hidden.

  • File Operations
    ME-22

    File operations include create, delete, read, and write, which are used to manipulate files.

  • Access Methods
    ME-23

    Access methods determine how files are accessed, such as sequential or random access.

  • Directories and Levels
    ME-24

    Directories and levels organize files into a hierarchical structure, with directories containing subdirectories and files.

  • Directory Operations
    ME-25

    Directory operations include create, delete, and navigate, which are used to manage directories.

  • File System Mounting and Sharing
    ME-26

    File system mounting and sharing involve making a file system available for use by multiple users or systems.

  • Protection and Access Control
    ME-27

    Protection and access control involve controlling access to files and directories based on user identity and permissions.

  • File System Layout and Implementation
    ME-28

    File system layout and implementation involve designing and implementing a file system, including data structures and algorithms.

  • Contiguous Allocation
    ME-29

    Contiguous allocation involves allocating a contiguous block of memory or disk space for a file.

  • Linked List Allocation
    ME-30

    Linked list allocation involves using a linked list to manage free space on a disk, allowing for efficient allocation and deallocation.

  • Inodes
    ME-31

    Inodes are data structures that contain metadata about a file, such as permissions, ownership, and location.

  • File System Examples
    ME-32

    File system examples include Unix, Windows, and Linux file systems, which demonstrate different design and implementation approaches.

Key Topics

  • Introduction to E-commerce
    IN-1

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

  • History of E-commerce
    IN-5

    Evolution and development of E-commerce over time.

  • E-commerce Framework
    IN-6

    Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.

Lab works

 ▪ Process creation, termination in any operating system

▪ Simulating process scheduling, Banker algorithm, page replacement algorithm, disk scheduling algorithm