English


COMPUTER ENGINEERING (ENGLISH) PROGRAMME
COURSE DESCRIPTION
Name of the Course Unit Code Year Semester In-Class Hours (T+P) Credit ECTS Credit
OPERATING SYSTEMS COM208 2 4 3+0 3.0 5.0


General Information
Language of Instruction Turkish
Level of the Course Unit Bachelor's Degree, TYYÇ: Level 6, EQF-LLL: Level 6, QF-EHEA: First Cycle
Type of the Course Compulsory
Mode of Delivery of the Course Unit Face-to-face
Work Placement(s) Requirement for the Course Unit Yes
Coordinator of the Course Unit
Instructor(s) of the Course Unit Assoc. Prof. (Ph.D.) MEHTAP KÖSE ULUKÖK
Assistant(s) of the Course Unit

Prerequisites and/or co-requisities of the course unit
CATEGORY OF THE COURSE UNIT
Category of the Course Unit Degree of Contribution (%)
Fundamental Course in the field % 80
Course providing specialised skills to the main field % 10
Course providing supportive skills to the main field % 10
Course providing humanistic, communication and management skills -
Course providing transferable skills -

Objectives and Contents
Objectives of the Course Unit This course will introduce the core concepts of operating systems, such as processes and threads, scheduling, synchronization, memory management, file systems, input and output device management and security
Contents of the Course Unit GENERAL LEARNING OUTCOMES (COMPETENCES) On successful completion of this course, all students will have developed knowledge and understanding of: 1- hardware support for operating systems: privileged mode execution, saving and restoring CPU state, traps and interrupts, timers, memory protection. Operating system techniques for protecting user and hardware resources. Overview of the key operating system abstractions and the use of system calls to manipulate them. 2- Program execution, the process concept, process-related state, the process table, saving and restoring process state, the role of the scheduler 3-Threads, process context switch vs thread switch, true concurrency vs pseudo concurrency, operating systems as concurrent programs, concurrency through multi-threading, concurrency through interrupt handling, concurrent access to shared memory, race conditions, mutual exclusion, synchronization primitives based on atomic instructions 4- locks, spinlocks, mutex semaphores, counting semaphores, and their use in solutions to Producer Consumer synchronization 5- Classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber. 6- Monitors, condition variables, message passing, and their use in solutions to classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber 7- Deadlock, livelock, deadlock detection, avoidance, and prevention 8-Separation of policy from mechanism, scheduling mechanisms, preemptive vs non-preemptive scheduling, example scheduling policies, FIFO, round-robin, shortest job first, priority scheduling, Unix-style feedback scheduling, proportional share scheduling, lottery scheduling 9- Memory addresses and binding, static and dynamic addresses translation, address translation using base and limit registers, memory management algorithms using linked lists and bitmaps, external and internal fragmentation, paged virtual memory. 10- Physical address spaces, virtual address spaces, page table design, single-level and multi-level page tables, hardware support for dynamic address translation using a TLB, hardware and software managed TLB refill 11- Demand paging, swapping, placement and replacement algorithms, memory hierarchy revisited, overview of cache architecture, performance modeling for memory management systems 12- Devices, memory mapped devices, DMA, device drivers, interrupt handling, scheduled vs non-scheduled I/O processing, block vs character devices 13- Disks, sectors, tracks, blocks, disk head scheduling algorithms, the file abstraction, directories, links 14- File system architecture, file system data structures and system calls
Contribution of the Course Intending to Provide the Professional Education On successful completion of this course, all students will have developed knowledge and understanding of modern operating systems.

No
Key Learning Outcomes of the Course Unit
On successful completion of this course unit, students/learners will or will be able to:
1 1- hardware support for operating systems: privileged mode execution, saving and restoring CPU state, traps and interrupts, timers, memory protection. Operating system techniques for protecting user and hardware resources. Overview of the key operating system abstractions and the use of system calls to manipulate them.
2 2- Program execution, the process concept, process-related state, the process table, saving and restoring process state, the role of the scheduler
3 3-Threads, process context switch vs thread switch, true concurrency vs pseudo concurrency, operating systems as concurrent programs, concurrency through multi-threading, concurrency through interrupt handling, concurrent access to shared memory, race conditions, mutual exclusion, synchronization primitives based on atomic instructions
4 4- locks, spinlocks, mutex semaphores, counting semaphores, and their use in solutions to Producer Consumer synchronization
5 5- Classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber
6 6- Monitors, condition variables, message passing, and their use in solutions to classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber calls
7 7- Deadlock, livelock, deadlock detection, avoidance, and prevention
8 8-Separation of policy from mechanism, scheduling mechanisms, preemptive vs non-preemptive scheduling, example scheduling policies, FIFO, round-robin, shortest job first, priority scheduling, Unix-style feedback scheduling, proportional share scheduling, lottery scheduling
9 9- Memory addresses and binding, static and dynamic addresses translation, address translation using base and limit registers, memory management algorithms using linked lists and bitmaps, external and internal fragmentation, paged virtual memory.
10 10- Physical address spaces, virtual address spaces, page table design, single-level and multi-level page tables, hardware support for dynamic address translation using a TLB, hardware and software managed TLB refill 11- Demand paging, swapping, placement and replacement algorithms, memory hierarchy revisited, overview of cache architecture, performance modeling for memory management systems 12- Devices, memory mapped devices, DMA, device drivers, interrupt handling, scheduled vs non-scheduled I/O processing, block vs character devices 13- Disks, sectors, tracks, blocks, disk head scheduling algorithms, the file abstraction, directories, links 14- File system architecture, file system data structures and system calls

Learning Activities & Teaching Methods of the Course Unit
Learning Activities & Teaching Methods of the Course Unit

Weekly Course Contents and Study Materials for Preliminary & Further Study
Week Topics (Subjects) Preparatory & Further Activities
1 Course Overview and Introduction to Operating Systems No file found
2 The Process Concept No file found
3 Threads and Concurrency No file found
4 Synchronization Primitives No file found
5 Classic Synchronization Problems No file found
6 Monitors and Message Passing No file found
7 Midterm Exam No file found
8 Deadlock No file found
9 Scheduling No file found
10 Scheduling No file found
11 Memory Management No file found
12 Virtual Memory No file found
13 Input/Output and File Systems No file found
14 Secondary storage management No file found

SOURCE MATERIALS & RECOMMENDED READING
1-Operating System Concept Essentials, by Silbershatz, Galvin, and Gagne, John Wiley & Sons 2011. ISBN 978-0-470-88920-6

MATERIAL SHARING
Course Notes No file found
Presentations No file found
Homework No file found
Exam Questions & Solutions No file found
Useful Links No file found
Video and Visual Materials No file found
Other No file found
Announcements No file found

CONTRIBUTION OF THE COURSE UNIT TO THE PROGRAMME LEARNING OUTCOMES
KNOWLEDGE
Theoretical
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 Gaining knowledge on computer software, computer hardware, and computer networks with a strong background on mathematics X
2 Being able to design and implement both software and hardware of computer and computerized systems X
3 technical and practical knowledge X
Factual
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 Gained ability to be able to tackle with real-world cases X
SKILLS
Cognitive
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 Have insight into the latest technological developments in the contemporary societies X
2 using the technology for solving real-world problems X
3 being aware of real-world engineering tasks and problems X
Practical
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 practicing with real-world cases X
PERSONAL & OCCUPATIONAL COMPETENCES IN TERMS OF EACH OF THE FOLLOWING GROUPS
Autonomy & Responsibility
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 being able to use the technology to design and implement software and hardware of computer and computerized systems for solving real-world problems X
2 graduation projects on real-world cases X
3 summer practice at a workplace X
Learning to Learn
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 gain insight to the latest technological developments X
2 Being able to implement sustainable computerized systems both in software and hardware X
Communication & Social
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 being able to formulate mathematical models via communication of the problem word for designing and implementing solutions both in software and hardware X
Occupational and/or Vocational
No PROGRAMME LEARNING OUTCOMES LEVEL OF CONTRIBUTION*
0 1 2 3 4 5
1 Achieving a technically competent career X
2 Design and implement information and computing systems for the ever growing contemporary societies X
*Level of Contribution (0-5): Empty-Null (0), 1- Very Low, 2- Low, 3- Medium, 4- High, 5- Very High

No
Key Learning Outcomes of the Course Unit
On successful completion of this course unit, students/learners will or will be able to:
PROGRAMME LEARNING OUTCOMES
1 1- hardware support for operating systems: privileged mode execution, saving and restoring CPU state, traps and interrupts, timers, memory protection. Operating system techniques for protecting user and hardware resources. Overview of the key operating system abstractions and the use of system calls to manipulate them. 1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
2 2- Program execution, the process concept, process-related state, the process table, saving and restoring process state, the role of the scheduler 1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
3 3-Threads, process context switch vs thread switch, true concurrency vs pseudo concurrency, operating systems as concurrent programs, concurrency through multi-threading, concurrency through interrupt handling, concurrent access to shared memory, race conditions, mutual exclusion, synchronization primitives based on atomic instructions 1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
4 4- locks, spinlocks, mutex semaphores, counting semaphores, and their use in solutions to Producer Consumer synchronization 1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
5 5- Classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
6 6- Monitors, condition variables, message passing, and their use in solutions to classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber calls 1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
7 7- Deadlock, livelock, deadlock detection, avoidance, and prevention 1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
8 8-Separation of policy from mechanism, scheduling mechanisms, preemptive vs non-preemptive scheduling, example scheduling policies, FIFO, round-robin, shortest job first, priority scheduling, Unix-style feedback scheduling, proportional share scheduling, lottery scheduling 1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
9 9- Memory addresses and binding, static and dynamic addresses translation, address translation using base and limit registers, memory management algorithms using linked lists and bitmaps, external and internal fragmentation, paged virtual memory.1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)
10 10- Physical address spaces, virtual address spaces, page table design, single-level and multi-level page tables, hardware support for dynamic address translation using a TLB, hardware and software managed TLB refill 11- Demand paging, swapping, placement and replacement algorithms, memory hierarchy revisited, overview of cache architecture, performance modeling for memory management systems 12- Devices, memory mapped devices, DMA, device drivers, interrupt handling, scheduled vs non-scheduled I/O processing, block vs character devices 13- Disks, sectors, tracks, blocks, disk head scheduling algorithms, the file abstraction, directories, links 14- File system architecture, file system data structures and system calls1 (5), 2 (3), 3 (5), 4 (5), 5 (5), 6 (5), 7 (5), 8 (3), 9 (3), 10 (2), 11 (2), 12 (5), 13 (2), 14 (4), 15 (5), 16 (2)

Assessment
Assessment & Grading of In-Term Activities Number of
Activities
Degree of Contribution (%)
Mid-Term Exam 0 -
Computer Based Presentation 0 -
Short Exam 0 -
Presentation of Report 0 -
Homework Assessment 0 -
Oral Exam 0 -
Presentation of Thesis 0 -
Presentation of Document 0 -
Expert Assessment 0 -
Board Exam 0 -
Practice Exam 0 -
Year-End Final Exam 0 -
Internship Exam 0 -
TOTAL 0 %100
Contribution of In-Term Assessments to Overall Grade 0 %50
Contribution of Final Exam to Overall Grade 1 %50
TOTAL 1 %100


WORKLOAD & ECTS CREDITS OF THE COURSE UNIT
Workload for Learning & Teaching Activities
Type of the Learning Activites Learning Activities
(# of week)
Duration
(hours, h)
Workload (h)
Lecture & In-Class Activities 14 3 42
Preliminary & Further Study 14 3 42
Land Surveying 0 0 0
Group Work 0 0 0
Laboratory 0 0 0
Reading 0 0 0
Assignment (Homework) 2 4 8
Project Work 0 0 0
Seminar 0 0 0
Internship 0 0 0
Technical Visit 0 0 0
Web Based Learning 0 0 0
Implementation/Application/Practice 0 0 0
Practice at a workplace 0 0 0
Occupational Activity 0 0 0
Social Activity 0 0 0
Thesis Work 0 0 0
Field Study 0 0 0
Report Writing 0 0 0
Total Workload for Learning & Teaching Activities - - 92
Workload for Assessment Activities
Type of the Assessment Activites # of Assessment Activities
Duration
(hours, h)
Workload (h)
Final Exam 1 3 3
Preparation for the Final Exam 1 36 36
Mid-Term Exam 0 0 0
Preparation for the Mid-Term Exam 0 0 0
Short Exam 0 0 0
Preparation for the Short Exam 0 0 0
Total Workload for Assessment Activities - - 39
Total Workload of the Course Unit - - 131
Workload (h) / 25.5 5.1
ECTS Credits allocated for the Course Unit 5.0

EBS : Kıbrıs İlim Üniversitesi Eğitim Öğretim Bilgi Sistemi Kıbrıs İlim Üniversitesi AKTS Bilgi Paketi AKTS Bilgi Paketi ECTS Information Package Avrupa Kredi Transfer Sistemi (AKTS/ECTS), Avrupa Yükseköğretim Alanı (Bologna Süreci) hedeflerini destekleyen iş yükü ve öğrenme çıktılarına dayalı öğrenci/öğrenme merkezli öğretme ve öğrenme yaklaşımı çerçevesinde yükseköğretimde uluslarası saydamlığı arttırmak ve öğrenci hareketliliği ile öğrencilerin yurtdışında gördükleri öğrenimleri kendi ülkelerinde tanınmasını kolaylaştırmak amacıyla Avrupa Komisyonu tarafından 1989 yılında Erasmus Programı (günümüzde Yaşam Boyu Öğrenme Programı) kapsamında geliştirilmiş ve Avrupa ülkeleri tarafından yaygın olarak kabul görmüş bir kredi sistemidir. AKTS, aynı zamanda, yükseköğretim kurumlarına, öğretim programları ve ders içeriklerinin iş yüküne bağlı olarak kolay anlaşılabilir bir yapıda tasarlanması, uygulanması, gözden geçirilmesi, iyileştirilmesi ve bu sayede yükseköğretim programlarının kalitesinin geliştirilmesine ve kalite güvencesine önemli katkı sağlayan bir sistematik yaklaşım sunmaktadır. ETIS : İstanbul Aydın University Education & Training System Cyprus Science University ECTS Information Package ECTS Information Package European Credit Transfer and Accumulation System (ECTS) which was introduced by the European Council in 1989, within the framework of Erasmus, now part of the Life Long Learning Programme, is a student-centered credit system based on the student workload required to achieve the objectives of a programme specified in terms of learning outcomes and competences to be acquired. The implementation of ECTS has, since its introduction, has been found wide acceptance in the higher education systems across the European Countries and become a credit system and an indispensable tool supporting major aims of the Bologna Process and, thus, of European Higher Education Area as it makes teaching and learning in higher education more transparent across Europe and facilitates the recognition of all studies. The system allows for the transfer of learning experiences between different institutions, greater student mobility and more flexible routes to gain degrees. It also offers a systematic approach to curriculum design as well as quality assessment and improvement and, thus, quality assurance.