Skip to main content
TR

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
-
Keywords

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

  1. 01 Describe OS, OS major components and provide basic organization of computer systems,
  2. 02 Describe the services an OS provides to users,process and other systems and understand operating system structures,
  3. 03 Understand process concept and describe features of process,
  4. 04 Understand thread concept. Compare different API and apply this information,
  5. 05 Comprehend process scheduling algorithms,
  6. 06 Know difference between Synchronization and Deadlocks.
  7. 07 Apply theoretical knowledge to term project
  8. 08 Install several different Operating Systems and understanding difference.
  9. 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

  1. 01 Silberschatz A., Gagne G., Galvin P.B., Operating System Concepts, 9th ed., Wiley, 2009
  2. 02 Rochkind Marc J., Advanced UNIX Programming (2nd Edition), Addison-Wesley Professional, 2004

Learning Outcomes

  1. L01 Describe OS, OS major components and provide basic organization of computer systems,
  2. L02 Describe the services an OS provides to users,process and other systems and understand operating system structures,
  3. L03 Understand process concept and describe features of process,
  4. L04 Understand thread concept. Compare different API and apply this information,
  5. L05 Comprehend process scheduling algorithms,
  6. L06 Know difference between Synchronization and Deadlocks.
  7. L07 Apply theoretical knowledge to term project
  8. L08 Install several different Operating Systems and understanding difference.
  9. L09 Execute and understand programming examples.

Program Outcomes

  1. P01 Create a user interface in a contemporary object-oriented language to allow users to access business data
  2. P02 Identify and analyze user needs and take them into account in the selection, creation, integration, evaluation and administration of computing-based systems
  3. P03 Analyze common business functions and identify, design, and develop appropriate information technology solutions
  4. P04 Design and develop software solutions for contemporary business environments by employing appropriate problem-solving strategies
  5. P05 Configure and administer database server to support contemporary business environments.
  6. P06 Administer or mange a relational database for a small to medium size company
  7. P07 Be able to effectively integrate IT-based solutions into the user environment
  8. P08 Understand professional, ethical, legal, security and social issues and responsibilities
  9. P09 Be able to apply effective communication skills consistent with the professional environment
  10. 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 - - - - - - - - - - -