Operating systems are central to computing activities. An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. Two primary aims of an operating systems are to manage resources (e.g. CPU time, memory) and to control users and software. Operating system design goals are often contradictory and vary depending of user, software, and hardware criteria. The goal of this course is to provide an hands on experience of Linux operating systems. In particular, the course will cover basic Linux commands, processes and threads CPU scheduling, deadlock, memory management, and file systems. If time permits, we may briefly examine networking and distributed computing, and perhaps other topics.
Course Objective-
The goal of this course is to have students understand and appreciate the principles in the design and implementation of operating systems software.OS lab provides a series of experiences which can help to perceive key concepts of operating systems and to be familiar how they work. In this course we focus on open source operating systems like UBUNTU to come up with each part of operating systems.
Outcome-
At the end of the course, the students will be able to-
ICE 228/236: Operating System Lab
Wednesday (2:00-5:00)
Link
To become familiar with basic Linux commands
Becoming familiar with VIM editor
Objectives-
Becoming familiar with shell programming
Becoming familiar with shell programming and complex structure with grep
This lab will help students to learn about following CPU scheduling algorithm-
Learn the system calls for File I/O, process control and IPC
To learn banker's algorithm to avoid deadlock
To understand how pthreads can be used to create a multi threaded program
To understand Page replacement algorithms as an important part of virtual memory
Final assessment will be on lab test and lab quiz