Operating Systems

Learning Outcomes:

  • Understanding the basic components of an Operating System (OS) and their management
  • Starting with C programming, focusing on general features and structure
  • Grasping the concepts of processes and threads in an OS to manage multitasking
  • Experimenting with C programming constructs like data types, variables, and functions
  • Exploring Inter-Process Communication (IPC) and its implementation via busy waiting
  • Understanding memory management in C, including strings, arrays, and pointers
  • Studying advanced IPC methods and process communication over networks
  • Learning system calls, low-level I/O, and process creation in C programming
  • Analyzing classical IPC problems and the basics of OS scheduling algorithms
  • Practicing with Unix shell and basic shell programming
  • Concluding scheduling algorithms and initiating memory management topics
  • Delving into dynamic memory allocation in C using standard library functions
  • Understanding virtual memory, paging, and segmentation for efficient memory management
  • Applying C programming to structures and linked lists for dynamic data storage
  • Learning about file systems and their role in persistent storage management
  • Implementing UNIX half-duplex pipes for process communication in C
  • Understanding deadlocks in OS and strategies to prevent or resolve them
  • Writing concurrent programs in C using threads and synchronization techniques
  • Applying OS concepts in real-world Unix-based systems like Linux, MacOS, Android
  • Reviewing C programming topics and implementing a circular list program
  • Exploring Windows OS internals and virtualization concepts, including cloud computing
  • Reviewing the course content and finalizing lab exercises
  • Applying theoretical and practical knowledge in OS and C programming to solve quiz problems
  • Creating a dynamic doubly-linked list in C to simulate virtual memory management in an OS

Skills for module:

C

Problem Solving

Critical Thinking

Time Management

Operating Systems

CS2850

Learning Outcomes

  • Understanding the basic components of an Operating System (OS) and their management
  • Starting with C programming, focusing on general features and structure
  • Grasping the concepts of processes and threads in an OS to manage multitasking
  • Experimenting with C programming constructs like data types, variables, and functions
  • Exploring Inter-Process Communication (IPC) and its implementation via busy waiting
  • Understanding memory management in C, including strings, arrays, and pointers
  • Studying advanced IPC methods and process communication over networks
  • Learning system calls, low-level I/O, and process creation in C programming
  • Analyzing classical IPC problems and the basics of OS scheduling algorithms
  • Practicing with Unix shell and basic shell programming
  • Concluding scheduling algorithms and initiating memory management topics
  • Delving into dynamic memory allocation in C using standard library functions
  • Understanding virtual memory, paging, and segmentation for efficient memory management
  • Applying C programming to structures and linked lists for dynamic data storage
  • Learning about file systems and their role in persistent storage management
  • Implementing UNIX half-duplex pipes for process communication in C
  • Understanding deadlocks in OS and strategies to prevent or resolve them
  • Writing concurrent programs in C using threads and synchronization techniques
  • Applying OS concepts in real-world Unix-based systems like Linux, MacOS, Android
  • Reviewing C programming topics and implementing a circular list program
  • Exploring Windows OS internals and virtualization concepts, including cloud computing
  • Reviewing the course content and finalizing lab exercises
  • Applying theoretical and practical knowledge in OS and C programming to solve quiz problems
  • Creating a dynamic doubly-linked list in C to simulate virtual memory management in an OS