OPERATING SYSTEMS

Computer science OPERATING SYSTEMS

0512100006
COMPUTER SCIENCE
EQF6
COMPUTER SCIENCE
2022/2023

OBBLIGATORIO
YEAR OF COURSE 2
YEAR OF DIDACTIC SYSTEM 2017
AUTUMN SEMESTER
CFUHOURSACTIVITY
648LESSONS
324LAB


Objectives
KNOWLEDGE AND UNDERSTANDING

- STRUCTURED AND ORGANIC VISION OF A MODERN OPERATING SYSTEM
- UNDERSTANDING OF THE MAIN IMPLEMENTATION CHOICES AND MECHANISMS OF MANAGEMENT OF AN INFORMATION SYSTEM
- INTERFACE DESCRIPTION AND A FILE SYSTEM IMPLEMENTATION
- DEFINING THE PROCESS STRUCTURE, THE SCHEDULING ALGORITHMS TO OPTIMIZE THE USE OF THE CPU, AND THE TIMING FOR THE MANAGEMENT OF SHARED RESOURCES
- MANAGEMENT OF THE CENTRAL MEMORY
- UNDERSTANDING OF LINUX (UNIX) OPERATING SYSTEM WITH MAIN SYSTEM CALL AND SHELL


APPLYING KNOWLEDGE AND UNDERSTANDING

- INSTALL, CONFIGURE AND MANAGE A MULTIUSER OPERATING SYSTEM
- DESIGN AND IMPLEMENT SIMPLE SYSTEM FUNCTIONS
- EVALUATE THE PERFORMANCE OF THE TARGET OPERATING SYSTEM, OPTIMIZING THROUGH TUNING AND PROFILING THE RESOURCE USAGE
- IDENTIFY OPTIMAL SOLUTIONS INDEPENDENTLY EVALUATING THE EFFICIENCY AND FORMAL CORRECTNESS.
Prerequisites
THE STUDENTS NEED TO KNOW THE COMPUTER ARCHITECTURE AND THE C PROGRAMMING LANGUAGE.
Contents
48 HOURS FOR CLASSES
24 HOURS FOR LABORATORY

1) INTRODUCTION OF THE ORGANIZATION, THE DATA STRUCTURES, AND THE OPERATIONS OF A MODERN OPERATING SYSTEM. PROCESS MANAGEMENT AND MEMORY. [2 CLASSES HOURS]

2) BASIC ELEMENTS OF THE LINUX OPERATING SYSTEM: INSTALLATION AND BASIC BASH COMMANDS. [4 LABORATORY HOURS]

3) STRUCTURE OF OPERATING SYSTEMS: SERVICES, USER INTERFACE, SYSTEM CALLS, TYPES OF CALLS, AND SYSTEM PROGRAMS. [2 CLASSES HOURS]

4) FILE SYSTEM INTERFACE: THE CONCEPT OF FILE ACCESS METHODS, DIRECTORY STRUCTURE, MOUNTING A FILE SYSTEM BLOCK ALLOCATION METHOD, MANAGEMENT OF FREE SPACE. [8 CLASSES HOURS]

5) IMPLEMENTATION OF FILE SYSTEM: STRUCTURES OF A FS, FS, AND DIRECTORIES. [8 CLASSES HOURS]

6) I/O FILES: FILE DESCRIPTOR, STANDARD FILE OPERATIONS ON FILES, FILE TABLE, FILE SHARING, ATOMIC OPERATIONS, I/O BUFFER. [4 LABORATORY HOURS]

7) FILES AND DIRECTORIES: FILE TYPES, STAT STRUCTURE, REAL AND EFFECTIVE USER ID, ACCESS PERMISSIONS, LINKS. [6 LABORATORY HOURS]

8) PROCESSES: CONCEPT, SCHEDULING, OPERATIONS ON PROCESSES, PID, FORK, WAIT, EXIT, ENVIRONMENT, AND ENVIRONMENT VARIABLES, FILE SHARING, EXEC. [4 CLASSES HOURS + 4 LABORATORY HOURS]


9) SCHEDULING: BASIC CONCEPTS, CRITERIA, SCHEDULING ALGORITHMS, AND EXAMPLES. [4 CLASSES HOURS]

10) INTERPROCESS COMMUNICATION: UNIX PIPE AND FIFO. [4 LABORATORY HOURS]

11) THREADS AND SHARED MEMORY APPROACHES. [2 CLASSES HOURS]

12) PROCESS SYNCHRONIZATION: THE PROBLEM OF CRITICAL REGION, IL PROBLEMA DELLA REGIONE CRITICA, PETERSON'S ALGORITHM, SEMAPHORES. [6 CLASSES HOURS]

13) MEMORY MANAGEMENT: BACKGROUND, SWAPPING, CONTIGUOUS ALLOCATION, PAGING, AND PAGE TABLE STRUCTURE. [8 CLASSES HOURS]

14) VIRTUAL MEMORY: BACKGROUND, DEMAND PAGING, COPY ON WRITE, PAGE REPLACEMENT, FRAME ALLOCATION, AND THRASHING [4 CLASSES HOURS]

15) SIGNALS: CONCEPT, TYPES, AND USE THE SIGNALS. [2 LABORATORY HOURS]

Teaching Methods
THE COURSE "OPERATING SYSTEMS" PROVIDES:

- A THEORETICAL PART OF LESSONS (48 HOURS) TO TRANSFER THE KNOWLEDGE ABOUT THE STRUCTURES OF AN OPERATING SYSTEM IN GENERAL AND PARTICULARLY FOR THE UNIX OS

- A SECTION ON PRACTICAL ASPECTS (C PROGRAMMING CALLING LOW-LEVEL SYSTEM API) WILL BE DEVELOPED IN THE LABORATORY (24 HOURS). DURING THESE ACTIVITIES THE STUDENTS WILL EXPERIMENTS WITH THE UNIX API, WRITING, DEBUGGING, AND RUNNING SIMPLE PROGRAMS WRITTEN IN THE C PROGRAMMING LANGUAGE. THESE SMALL SAMPLE APPLICATIONS WILL BE PROFILED TO ACQUIRE OBJECTIVE DATA FOR THE TUNING STEP.
Verification of learning
THE ACHIEVEMENT OF THE OBJECTIVES OF THE COURSE IS CERTIFIED BY PASSING AN EXAM (WITH MARKS FROM 0 TO 30).
THE EXAM INCLUDES A WRITTEN TEST AND, AFTER PASSING IT, AN ORAL TEST AIMED AT VERIFYING THE ACQUIRED SKILLS.
DURING THE COURSE, THERE ARE 2 TESTS: ONE MID-TERM AND ANOTHER AT THE END). PASSING BOTH TESTS WILL ALLOW THE STUDENT TO TAKE ONLY THE ORAL EXAM AT THE FIRST SESSION ON THE CALENDAR. EACH TEST CONSISTS OF A SET OF 5 QUESTIONS TO WHICH THE STUDENT SHOULD PROVIDE OPEN ANSWERS. IN THE MID-TERM TESTS, THE QUESTIONS WILL BE RELATED ONLY TO THE TOPICS PRESENTED IN THE CORRESPONDING COURSE PERIOD.
IN BOTH CASES FOR THE WRITTEN TESTS WILL BE GIVEN A TIME LIMIT OF 120 MIN. EACH STUDENT WILL BE PROVIDED WITH A SHEET WITH THE 5 QUESTIONS AND BLANK SPACE FOR THE ANSWERS.
4 QUESTIONS, EACH WITH GRADES FROM 0 TO 5, WILL REFER DIRECTLY TO THE THEORETICAL TOPICS OF THE COURSE, WHILE THE LAST, WITH GRADES FROM 0 TO 14, WILL BE A PROGRAMMING EXERCISE AND THE STUDENT SHOULD WRITE A PROGRAM IN C LANGUAGE WITH THE USE OF SOME OF THE SYSTEM CALLS OF THE LINUX OPERATING SYSTEM INTRODUCED DURING THE COURSE.
THE KNOWLEDGE ACQUIRED BY THE STUDENT OF THE MAIN MODULES OF AN OPERATING SYSTEM AND ITS MAIN ORGANIZATION WILL BE VERIFIED BY MEANS OF THE ANSWERS PROVIDED TO THE FIRST 4 QUESTIONS.
THE LEVEL OF ASSESSMENT OF THE TESTS SHALL TAKE INTO ACCOUNT THE COMPLETENESS AND ACCURACY OF THE ANSWERS AND THE CLARITY IN THE PRESENTATION.
THE MINIMUM LEVEL OF ASSESSMENT (18) IS ASSIGNED WHEN THE STUDENT DEMONSTRATES UNCERTAINTIES IN THE APPLICATION OF THE METHODS STUDIED AND HAS A LIMITED KNOWLEDGE OF THE STRUCTURE AND ORGANIZATION OF AN OPERATING SYSTEM.
THE MAXIMUM LEVEL (30) IS ASSIGNED WHEN THE STUDENT DEMONSTRATES A COMPLETE AND IN-DEPTH KNOWLEDGE OF THE CONCEPTS AND DIFFERENT MODULES OF AN OPERATING SYSTEM. IN ADDITION, IT IS ABLE TO SOLVE THE PROPOSED PROBLEMS BY BECOMING EFFICIENT AND ACCURATE TO THE SOLUTION AND SHOWS A REMARKABLE ABILITY TO CONNECT DIFFERENT CONCEPTS TO EACH OTHER.
THE LAUDE IS ATTRIBUTED WHEN THE CANDIDATE DEMONSTRATES SIGNIFICANT MASTERY OF THEORETICAL AND OPERATIONAL CONTENTS AND SHOWS THAT HE KNOWS HOW TO PRESENT THE TOPICS WITH CONSIDERABLE PROPERTIES OF LANGUAGE AND AUTONOMOUS PROCESSING SKILLS EVEN IN CONTEXTS OTHER THAN THOSE PROPOSED BY THE TEACHER.

THE PROGRAMMING EXERCISE WILL MAKE IT POSSIBLE TO VERIFY THE SKILLS IN THE USE OF THE LOW-LEVEL SERVICES PROVIDED BY THE OPERATING SYSTEM AND THEIR CORRECT USE FOR THE SOLUTION OF A CONCRETE PROBLEM.
STUDENTS WHO HAVE NOT PASSED THE EXAMS WILL STILL BE ABLE TO TAKE THE TRADITIONAL EXAM.
Texts
A. SILBERSCHATZ, P.B. GALVIN, G.GAGNE: SISTEMI OPERATIVI: CONCETTI ED ESEMPI. 9A EDITION. PEARSON EDUCATION ITALIA, 2014, ISBN: 9788865183717

W.R. STEVENS, S.A. RAGO, “ADVANCED PROGRAMMING IN THE UNIX ENVIRONMENT”, ADDISON-WESLEY, ISBN: 9780321637734

SUGGESTED:
C. NEWHAM, B. ROSENBLATT, “LEARNING THE BASH SHELL”, O'REILLY, ISBN: 0-596-00965-8 

SOFTWARE / HARDWARE:
OPERATING SYSTEM: LINUX
PC CONNECTED TO INTERNET
More Information
TO ACHIEVE A GOOD KNOWLEDGE, IT IS REASONABLE TO ASSUME THAT ON AVERAGE 2 HOURS OF STUDY WILL BE REQUIRED FOR EACH HOUR OF LESSONS.
THE COURSE REQUIRES THAT STUDENTS ACQUIRE A GOOD SKILL WITH C-LANGUAGE PROGRAMMING (WRITING CODE, COMPILING, DEBUGGING, AND RUNNING). IT IS THEREFORE DESIRABLE THAT EACH STUDENT WILL SPEND THE NECESSARY NUMBER OF HOURS IN NON-ASSISTED EDUCATIONAL LABORATORIES TO HIGHLIGHT AND FILL ANY EDUCATIONAL GAP.

E-MAIL: CATTANEO@UNISA.IT
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2022-11-30]