OPERATING SYSTEMS

Computer science OPERATING SYSTEMS

0512100006
DIPARTIMENTO DI INFORMATICA
EQF6
COMPUTER SCIENCE
2016/2017



OBBLIGATORIO
YEAR OF COURSE 2
YEAR OF DIDACTIC SYSTEM 2015
PRIMO SEMESTRE
CFUHOURSACTIVITY
756LESSONS
330LAB


Objectives
KNOWLEDGE AND UNDERSTANDING:
THE COURSE AIMS TO GIVE TO THE STUDENTS:
•DEEP UNDERSTANDING ABOUT THE STRUCTURE OF A CLASSICAL OPERATING SYSTEM AND HOW IT COULD BE MANAGED BY THE ADMINISTRATOR.
•GENERAL KNOWLEDGE OF THE MAIN MODULES OF A MODERN OPERATING SYSTEM AND HOW THEY COOPERATE TO PROVIDE HIGH LEVEL SERVICES TO THE USERS.
•OVERVIEW OF THE MAIN SYSTEM CALLS PROVIDED BY THE API OF LINUX (UNIX) OPERATING SYSTEM.
•DETAILED DESCRIPTION OF THE FILE SYSTEM IMPLEMENTATION AND THE API OR SYSTEM COMMANDS TO MANAGE STORAGE AND BACKUPS.
•BASIC DEFINITION OF THE PROCESS CONCEPT AND PRESENTATION OF THE MAIN SCHEDULING ALGORITHMS;
•UNDERSTANDING OF THE IMPACT PRODUCED BY THE (VIRTUAL) MEMORY MANAGEMENTS ON THE PERFORMANCE OF THE USER PROCESSES.

APPLYING KNOWLEDGE AND UNDERSTANDING:
AT THE END OF COURSE THE STUDENTS SHOULD BE ABLE TO:
•INSTALL, CONFIGURE AND MANAGE A MULTIUSER OPERATING SYSTEM.
•DESIGN AND IMPLEMENT SIMPLE SHALL COMMAND (BASED ON THE SYSTEM CALL OR HIGH LEVEL API) TO SPEED-UP SPECIFIC MANAGEMENT FUNCTIONS.
•EVALUATE THE PERFORMANCE OF THE TARGET OPERATING SYSTEM, OPTIMIZING THROUGH TUNING AND PROFILING THE RESOURCE USAGE.
•IDENTIFY OPTIMAL SOLUTION FOR TYPICAL ADMINISTRATION TASKS (THROUGH USER COMMANDS RUN FROM THE SHELL, OR SPECIFIC PROGRAM WRITTEN USING THE C PROGRAMMING LANGUAGE.
Prerequisites
THE STUDENTS NEED TO KNOW THE COMPUTER ARCHITECTURE AND THE C PROGRAMMING LANGUAGE.
Contents
56 HOURS FOR CLASSES
30 HOURS FOR LABORATORY

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

2)BASIC ELEMENTS OF THE LINUX OPERATING SYSTEM: INSTALLATION, COMPILATION AND DEBUGGING, AND ELEMENTS OF A FIRST INTRODUCTION TO BASH. (3 HOURS LABORATORY)

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

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

5)IMPLEMENTATION OF FILE SYSTEM: STRUCTURES OF A FS, FS AND DIRECTORIES. (6 HOURS CLASSES)

6)I/O FILES: FILE DESCRIPTOR, STANDARD FILE OPERATIONS ON FILES, FILE TABLE, FILE SHARING, ATOMIC OPERATIONS, I/O BUFFER. (3 HOUR CLASS, 6 HOURS LABORATORY)

7)FILES AND DIRECTORIES: FILE TYPES, STAT STRUCTURE, REAL AND EFFECTIVE USER ID, ACCESS PERMISSIONS, LINKS (3 HOUR CLASS, 3 HOURS LABORATORY)

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

9)SCHEDULING: BASIC CONCEPTS, CRITERIA, SCHEDULING ALGORITHMS, EXAMPLES. (4 HOURS CLASSES)

10)INTERPROCESS COMMUNICATION: UNIX PIPE() AND FIFO (2 HOURS CLASSES + 4 HOURS LAB)

11)THREADS AND SHARED MEMORY APPROACCHES (4 HOURS CLASSES)

12)PROCESS SYNCHRONIZATION: THE PROBLEM OF CRITICAL REGION, MONITORS, SEMAPHORES, HARDWARE PRIMITIVES (4 HOURS CLASSES)

13)MEMORY MANAGEMENT: BACKGROUND, SWAPPING, CONTIGUOUS ALLOCATION, PAGING, PAGE TABLE STRUCTURE. (4 HOURS CLASSES)

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

15)SIGNALS: CONCEPT, TYPES AND USE THE SIGNALS. (2 HOURS LECTURES, 3 HOURS LABORATORY)

16)BASH: COMMAND, COMMAND LINE EDITING, CUSTOMIZING ENVIRONMENT VARIABLES, SCRIPTS AND FUNCTIONS. (3 HOURS CLASSES + 5 HOURS LABORATORY)
Teaching Methods
THE COURSE "SISTEMI OPERATIVI" PROVIDES:
•A THEORETICAL PART OF LESSONS (56 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 WILL BE DEVELOPED IN LABORATORY (30 HOURS). DURING THESE ACTIVITIES THE STUDENTS WILL EXPERIMENTS THE UNIX API, WRITING, DEBUGGING AND RUNNING SIMPLE PROGRAMS WRITTEN IN THE C PROGRAMMING LANGUAGE.
THIS SMALL SAMPLE APPLICATIONS WILL BE PROFILED TO ACQUIRE OBJECTIVE DATA FOR THE TUNING STEP.
Verification of learning
EACH STUDENT SHOULD PASS AN EXAMINATION TO EVALUATE HIS/HER KNOWLEDGE. THERE ARE TWO DIFFERENT PROCEDURES:
1.A WRITTEN TEST AND, AFTER PASSING IT, AN ORAL TEST WITH CONTEXTUAL VERIFICATION OF THE SKILLS OWNED BY THE STUDENT.
THE WRITTEN EXAM WILL PROVIDE A SET OF QUESTIONS DESIGNED TO TEST THE KNOWLEDGE OF THE MAIN MODULES OF AN OPERATING SYSTEM AND THE ORGANIZATION. SOME QUESTIONS FROM THE WRITTEN EXAM WILL REQUIRE WRITING A PROGRAM IN C LANGUAGE FOR SOLVING A PROBLEM INVOKING SYSTEM CALL UNDER LINUX TO TEST KNOWLEDGE OF OPERATING SYSTEM FUNCTIONS AND THEIR PROPER USE FOR SOLVING A CONCRETE PROBLEM.

2.OTHERWISE THE STUDENTS CAN PASS TWO MID-TERM EXAMS DURING THE LESSON PERIOD. THE ON-GOING KNOWLEDGE IS CHECKED THROUGH A SET OF QUESTIONS (SIMILARLY TO THE WRITTEN EXAM BUT BASED ON THE TOPICS TAUGHT IN THE CORRESPONDING PERIOD)

STUDENTS MAY CHOOSE WHETHER TO PASS ALL MID-TERM TESTS OR TO PASS TRADITIONAL EXAMS AFTER THE END OF CLASSES. STUDENTS WHO HAVE NOT PASSED THE MID-TERM TESTS CAN STILL CHOOSE THE TRADITIONAL EXAM.
Texts
A. SILBERSCHATZ, P.B.GALVIN, G.GAGNE, “SISTEMI OPERATIVI”, ADDISON-WESLEY, 8TH EDITION, ISBN: 9788865183717
W.R. STEVENS, S.A. RAGO, “ADVANCED PROGRAMMING IN THE UNIX ENVIROMENT”, ADDISON-WESLEY, 2ND EDITION , ISBN: 9780321637734.
SUGGESTED:
C. NEWHAM, B. ROSENBLATT, “LEARNING THE BASH SHELL”, O'REILLY, ISBN: 0-596-00965-8

SOFTWARE / HARDWARE:
OPERATING SYSTEM: LINUX
PC WITH NETWORK CONNECTION
More Information
E-MAIL: ARESCIGNO@UNISA.IT - ABATE@UNISA.IT
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2019-03-11]