Operating systems, one of the oldest and basic field of Computer Science. Classical algorithms used in current application development are result of studies in the Operating System studies. Advances in operating systems let coding practices be simplified as variations and complexity of hardware can be hidden from the developers and users. Learning operating systems help to visualize that some good to seem algorithms and solutions can result in unwanted result which can be adapted to daily life as lessons learned.
In this semster, we will cover the basic Operatins System concepts and goo deeper in more advanced issues making a survey, developing applications and writing a paper. The aim is to remember the basics and get some more detailed and advanced information about the current state of the art, as well as have some experience in developing applications in the field of operating systems.
Prerequisite(s)
Corequisite(s)
Special Requisite(s)
Instructor(s)
Assis. Professor Yusuf ALTUNEL
Course Assistant(s)
Schedule
Office Hour(s)
Teaching Methods and Techniques
Power Point slides, lectures, survey, paper writing, coding and demonstration.
Introduction to operating systems, layered architecture, resource management
Chapter-1: Introduction
2. Week
Introduction to operating systems, content, and concepts
Chapter-1: Introduction
3. Week
Introduction to operating systems, kernel, shell, access, categories of operating systems
Chapter-1: Introduction
4. Week
Process model, multiprogramming issues, and threads
Chapter-2: Processes and Threads
5. Week
Process characteristics, interprocess communication
Chapter-2: Processes and Threads
6. Week
Scheduling problems and scheduling algorithms
Chapter-2: Processes and Threads
7. Week
Basic memory management issues
Chapter-3: Memory Management
8. Week
Swapping
Chapter-3: Memory Management
9. Week
Virtual memory and page replacement algorithms
Chapter-3: Memory Management
10. Week
Introduction to file systems and file management
Chapter-4: File Management
11. Week
Fiel system implementation
Chapter-4: File Management
12. Week
I/O devices, Direct Memory Access, Interrupts, I/O management with programmed, interrupt-driven and DMA
Chapter-5: Input/Output Management
13. Week
Advanced issues
Student presentations & demo
14. Week
Advanced issues
Presentations & demo
15. Week
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Homework / Term Projects / Presentations
3
60
Project(s)
1
20
Final Exam
1
20
Program Outcomes
PO-1
an ability to apply knowledge from undergraduate and graduate engineering and other disciplines to identify, formulate, and solve novel and complex electrical/computer engineering problems that require advanced knowledge within the field
PO-2
knowledge of advanced topics within at least two subdisciplines of computer engineering
PO-3
the ability to understand and integrate new knowledge within the field;
PO-4
the ability to apply advanced technical knowledge in multiple contexts
PO-5
a recognition of the need for, and an ability to engage in, life-long learning
PO-6
the ability to plan and conduct an organized and systematic study on a significant topic within the field
PO-7
an ability to convey technical material through formal written reports which satisfy accepted standards for writing style
PO-8
the ability to analyze and use existing literature
PO-9
the ability to demonstrate effective oral communication skills
PO-10
the ability to stay abreast of advancements in the area of computer engineering
Learning Outcomes
LO-1
The understanding of operating system as a layer in the layered architecture
LO-2
Understanding of process model, threads and scheduling algorithms
LO-3
Understanding of memory management, virtual memory and swapping algorithms
LO-4
Understanding file management implementation for the persistency of data
LO-5
Clarifying the input/output management implementation, device management, and drivers.