EPOKA UNIVERSITY
FACULTY OF ARCHITECTURE AND ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING
COURSE SYLLABUS
2023-2024 ACADEMIC YEAR
COURSE INFORMATIONCourse Title: OPERATING SYSTEMS |
Code | Course Type | Regular Semester | Theory | Practice | Lab | Credits | ECTS |
---|---|---|---|---|---|---|---|
CEN 308 | B | 6 | 3 | 0 | 1 | 4 | 6 |
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) | Assoc.Prof.Dr. Dimitrios Karras dkarras@epoka.edu.al |
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | Assoc.Prof.Dr. Dimitrios Karras dkarras@epoka.edu.al , Monday 10.00-20.00, Tuesday 10.00-20.00 Wednesday, 10.00-15.00 |
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | M.Sc. Shkumbin Fida shfida@epoka.edu.al |
Language: | English |
Compulsory/Elective: | Compulsory |
Study program: (the study for which this course is offered) | Bachelor in Software Engineering (3 years) |
Classroom and Meeting Time: | as in the time table but also, Monday 10.00-20.00, Tuesday 10.00-20.00 Wednesday, 10.00-15.00 |
Teaching Assistant(s) and Office Hours: | NA |
Code of Ethics: |
Code of Ethics of EPOKA University Regulation of EPOKA University "On Student Discipline" |
Attendance Requirement: | |
Course Description: | To provide a clear description of the concepts that underlie operating systems based on overview of the fundamental data structures that areprevalent in most operating systems, basic computer organization and high level languages programming. 2) To provide code examples of basic algorithms underlying operating systems, predominantly in C, with some Java, but in such a way that the student could understand the algorithms without a thorough knowledge of these languages.3) To present the Concepts using intuitive descriptions. to cover Important theoretical results, but omitting formal proofs unless they are absolutely necessary. 4) To analyze and point out to research papers with the original research conducted in these topics5) To cover all fundamental concepts and algorithms used in both commercial and open-source operating systems. Moreover, to present these concepts and algorithms in a general setting thatis not tied to one particular operating system. 6) To present a large number of examples and case studies that pertain to the most popular and the most innovative operating systems, including Linux, MicrosoftWindows, Apple Mac OS X, andSolaris, including examples of both Android and iOS, currently the twodominant mobile operating systems. |
Course Objectives: | 1) To provide a clear description of the concepts that underlie operating systems based on overview of the fundamental data structures that are prevalent in most operating systems, basic computer organization and high level languages programming. 2) To provide code examples of basic algorithms underlying operating systems, predominantly in C, with some Java, but in such a way that the student could understand the algorithms without a thorough knowledge of these languages. 3) To present the Concepts using intuitive descriptions. to cover Important theoretical results, but omitting formal proofs unless they are absolutely necessary. 4) To analyze and point out to research papers with the original research conducted in these topics 5) To cover all fundamental concepts and algorithms used in both commercial and open-source operating systems. Moreover, to present these concepts and algorithms in a general setting that is not tied to one particular operating system. 6) To present a large number of examples and case studies that pertain to the most popular and the most innovative operating systems, including Linux, MicrosoftWindows, Apple Mac OS X, and Solaris, including examples of both Android and iOS, currently the two dominant mobile operating systems. |
BASIC CONCEPTS OF THE COURSE
|
1 | a clear Understanding of the concepts that underlie operating systems based on overview of the fundamental data structures that are prevalent in most operating systems, basic computer organization and high level languages programming |
2 | Understanding through code examples of the basic algorithms underlying operating systems, predominantly in C, with some Java, but in such a way that the student could get knowledge of the algorithms without a thorough knowledge of these languages. |
3 | Understanding clearly all fundamental concepts and algorithms used in both commercial and open-source operating systems, in a general setting that is not tied to one particular operating system |
4 | Working with all algorithms underlying Operating Systems Operations including resources management |
5 | To get practical knowledge on major topics, through a large number of examples and case studies that pertain to the most popular and the most innovative operating systems, including Linux, MicrosoftWindows, Apple Mac OS X, and Solaris, including examples of both Android and iOS, currently the two dominant mobile operating systems. |
COURSE OUTLINE
|
Week | Topics |
1 | Introduction and Overview |
2 | Operating-System Structures |
3 | PROCESS MANAGEMENT, processes, threads |
4 | Process Synchronization |
5 | CPU Scheduling, Deadlocks |
6 | Main Memory Organization |
7 | Virtual Memory Organization |
8 | Mass-Storage Structure, File-System Interface |
9 | File-System Implementation |
10 | I/O Systems |
11 | PROTECTION AND SECURITY |
12 | ADVANCED TOPICS, VIRTUALIZATION, VIRTUAL MACHINES |
13 | ADVANCED TOPICS, PROMELA LANGUAGE, SPIN MODEL CHECKING FOR PROCESS SYNCHRONIZATION OVERVIEW |
14 | ADVANCED TOPICS, PROMELA LANGUAGE, SPIN MODEL CHECKING FOR PROCESS SYNCHRONIZATION CODING |
Prerequisite(s): | As prerequisites, we assume that the student is familiar with basic data structures, computer organization, and a high-level language, such as C or Java |
Textbook(s): | "OPERATING SYSTEM CONCEPTS", ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, GREG GAGNE, TENTH EDITION, WILEY, 2018, Enhanced ePub ISBN 978-1-119-32091-3 |
Additional Literature: | Title: Operating Systems: Internals and Design Principles Author(s): Stallings William Publisher: Pearson Education Year: 2018 ISBN: 9780134670959; 0134670957; 9781292214290; 1292214295 |
Laboratory Work: | 2 hours/week |
Computer Usage: | |
Others: | No |
COURSE LEARNING OUTCOMES
|
1 | a clear Understanding of the concepts that underlie operating systems based on overview of the fundamental data structures that are prevalent in most operating systems, basic computer organization and high level languages programming |
2 | Understanding through code examples of the basic algorithms underlying operating systems, predominantly in C, with some Java, but in such a way that the student could get knowledge of the algorithms without a thorough knowledge of these languages. |
3 | Learning the Operating Systems Design Concepts using intuitive descriptions, covering Important theoretical results, but omitting formal proofs unless they are absolutely necessary |
4 | Getting knowledge of the state of the art in research in these topics |
5 | Understanding clearly all fundamental concepts and algorithms used in both commercial and open-source operating systems, in a general setting that is not tied to one particular operating system |
6 | To get practical knowledge on major topics, through a large number of examples and case studies that pertain to the most popular and the most innovative operating systems, including Linux, MicrosoftWindows, Apple Mac OS X, and Solaris, including examples of both Android and iOS, currently the two dominant mobile operating systems. |
7 | Understanding deeper principles in the design of operating systems through the Nachos Prototype Operating System and Promela language of Spin Model Checking for concurrency programming |
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution) |
No | Program Competencies | Cont. |
Bachelor in Software Engineering (3 years) Program | ||
1 | Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. | 5 |
2 | Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations | 5 |
3 | Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects. | 5 |
4 | Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies. | 5 |
5 | Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. | 4 |
6 | Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. | 5 |
7 | The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. | 4 |
8 | Ability for effective oral and official communication skills in foreign language. | 3 |
9 | Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. | 3 |
10 | Engineering graduates with well-structured responsibilities in profession and ethics. | 4 |
11 | Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues. | 5 |
12 | Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity. | 3 |
COURSE EVALUATION METHOD
|
Method | Quantity | Percentage |
Midterm Exam(s) |
1
|
25
|
Project |
1
|
15
|
Lab/Practical Exams(s) |
1
|
20
|
Final Exam |
1
|
40
|
Total Percent: | 100% |
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
|
Activities | Quantity | Duration(Hours) | Total Workload(Hours) |
Course Duration (Including the exam week: 16x Total course hours) | 16 | 4 | 64 |
Hours for off-the-classroom study (Pre-study, practice) | 16 | 2 | 32 |
Mid-terms | 1 | 3 | 3 |
Assignments | 3 | 16 | 48 |
Final examination | 1 | 3 | 3 |
Other | 0 | ||
Total Work Load:
|
150 | ||
Total Work Load/25(h):
|
6 | ||
ECTS Credit of the Course:
|
6 |
CONCLUDING REMARKS BY THE COURSE LECTURER
|
N/A |