OPERATING SYSTEMS
- Course
- ITEC351 - OPERATING SYSTEMS
- Department
- Information Technologies - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 4
- ECTS
- 6
- T+P+L
- 3 + 0 + 2
- Course Coordinator(s)
- Asst. Prof. Dr. Felix Olanrewaju BABALOLA
- Prerequisite
- -
Course Description
This course examines basic issues in operating system design and implementation. The course will start with a brief historical perspective of the evolution of operating systems over the last fifty years, and then cover the major components of most operating systems. This discussion will cover the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to these major OS subsystems: Process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping), file systems, and networking/distributed systems. Also basic Unix programming skills will be given during lab hours.
OPERATING SYSTEMS
Evaluation Tools (Active Term)
| Item | Type | Weight (%) |
|---|---|---|
| Mid-Term | Midterm | 30 |
| Quiz | Quiz | 15 |
| Project | Project | 15 |
| Final Exam | Final | 40 |
| Total | 100 | |
Course outcomes
- 01 Describe OS, OS major components and provide basic organization of computer systems,
- 02 Describe the services an OS provides to users,process and other systems and understand operating system structures,
- 03 Understand process concept and describe features of process,
- 04 Understand thread concept. Compare different API and apply this information,
- 05 Comprehend process scheduling algorithms,
- 06 Know difference between Synchronization and Deadlocks.
- 07 Apply theoretical knowledge to term project
- 08 Install several different Operating Systems and understanding difference.
- 09 Execute and understand programming examples.
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | Providing major components of operating systems |
| Week 2 | Describing the basic organization of computer systems |
| Week 3 | Describing the services an OS provides to users,process and other systems |
| Week 4 | Give details of operating system structures |
| Week 5 | Introduce process concept |
| Week 6 | Describing the various features of process including scheduling, creation and termination |
| Week 7 | Introduce threads and discuss API's for Pthreads, Win32 and Java |
| Week 8 | Introduce CPU scheduling |
| Week 9 | Describe major scheduling algorithms :FCFS,SJF,Priority and Round Robin |
| Week 10 | Midterm Week |
| Week 11 | Give other types of Scheduling algorithms |
| Week 12 | Scheduling algorithms |
| Week 13 | Introduce critical-section problem |
| Week 14 | Present software and hardware solutions of the critical-section problem |
| Week 15 | Present different methods for preventing deadlocks in computer system. |
Reference Books & Course Materials
- 01 Silberschatz A., Gagne G., Galvin P.B., Operating System Concepts, 9th ed., Wiley, 2009
- 02 Rochkind Marc J., Advanced UNIX Programming (2nd Edition), Addison-Wesley Professional, 2004
Learning Outcomes
- L01 Describe OS, OS major components and provide basic organization of computer systems,
- L02 Describe the services an OS provides to users,process and other systems and understand operating system structures,
- L03 Understand process concept and describe features of process,
- L04 Understand thread concept. Compare different API and apply this information,
- L05 Comprehend process scheduling algorithms,
- L06 Know difference between Synchronization and Deadlocks.
- L07 Apply theoretical knowledge to term project
- L08 Install several different Operating Systems and understanding difference.
- L09 Execute and understand programming examples.
Program Outcomes
- P01 Create a user interface in a contemporary object-oriented language to allow users to access business data
- P02 Identify and analyze user needs and take them into account in the selection, creation, integration, evaluation and administration of computing-based systems
- P03 Analyze common business functions and identify, design, and develop appropriate information technology solutions
- P04 Design and develop software solutions for contemporary business environments by employing appropriate problem-solving strategies
- P05 Configure and administer database server to support contemporary business environments.
- P06 Administer or mange a relational database for a small to medium size company
- P07 Be able to effectively integrate IT-based solutions into the user environment
- P08 Understand professional, ethical, legal, security and social issues and responsibilities
- P09 Be able to apply effective communication skills consistent with the professional environment
- P10 Be able to apply effective collaboration skills in teamwork consistent with the professional environment
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - |
| L07 | - | - | - | - | - | - | - | - | - | - | - |
| L08 | - | - | - | - | - | - | - | - | - | - | - |
| L09 | - | - | - | - | - | - | - | - | - | - | - |