Giuseppe CATTANEO | OPERATING SYSTEMS
Giuseppe CATTANEO OPERATING SYSTEMS
cod. 0512100006
OPERATING SYSTEMS
0512100006 | |
DIPARTIMENTO DI INFORMATICA | |
EQF6 | |
COMPUTER SCIENCE | |
2019/2020 |
OBBLIGATORIO | |
YEAR OF COURSE 2 | |
YEAR OF DIDACTIC SYSTEM 2017 | |
PRIMO SEMESTRE |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
INF/01 | 6 | 48 | LESSONS | |
INF/01 | 3 | 24 | LAB |
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 | |
---|---|
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. (4 HOURS CLASSES) 2.BASIC ELEMENTS OF THE LINUX OPERATING SYSTEM: INSTALLATION AND BASIC BASH COMMANDS. (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 METHOD, 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, AND 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, IL PROBLEMA DELLA REGIONE CRITICA, PETERSON'S ALGORITHM, SEMAPHORES. (4 HOURS CLASSES) 13.MEMORY MANAGEMENT: BACKGROUND, SWAPPING, CONTIGUOUS ALLOCATION, PAGING, AND PAGE TABLE STRUCTURE. (4 HOURS CLASSES) 14.VIRTUAL MEMORY: BACKGROUND, DEMAND PAGING, COPY ON WRITE, PAGE REPLACEMENT, FRAME ALLOCATION AND THRASHING (4 HOURS CLASSES) 15.SIGNALS: CONCEPT, TYPES AND USE THE SIGNALS. (2 HOURS LECTURES, 3 HOURS LABORATORY) |
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 WILL BE DEVELOPED IN LABORATORY (24 HOURS). DURING THESE ACTIVITIES THE STUDENTS WILL EXPERIMENTS 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 | |
---|---|
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 LINUX SYSTEM CALLS TO TEST KNOWLEDGE OF OPERATING SYSTEM FUNCTIONS AND THEIR PROPER USE FOR SOLVING CONCRETE PROBLEMS 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. THE LEVEL OF EVALUATION OF THE WRITTEN EXAMS TAKES INTO ACCOUNT THE COMPLETENESS AND ACCURACY OF THE ANSWERS, AS WELL AS THE CLARITY IN THE PRESENTATION. THE MINIMUM LEVEL OF EVALUATION (18) IS ASSIGNED WHEN THE STUDENT SHOWS AN INCOMPLETE PREPARATION IN THE APPLICATION OF THE METHODS THAT HAVE BEEN STUDIED AND HE HAS A LIMITED UNDERSTANDING 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 OF THE DIFFERENT MODULES OF AN OPERATING SYSTEM. MOREOVER HE IS ABLE TO SOLVE THE PROPOSED PROBLEMS ARRIVING EFFICIENTLY AND ACCURATELY TO THE SOLUTION AND SHOWS A REMARKABLE ABILITY TO LINK DIFFERENT CONCEPTS TOGETHER. PRAISE IS GIVEN WHEN THE CANDIDATE WHO DEMONSTRATES A SIGNIFICANT MASTERY OF THE THEORETICAL AND OPERATIONAL CONTENT AND SHOWS HOW TO PRESENT THE TOPICS WITH CONSIDERABLE OWNERSHIP OF LANGUAGE AND AUTONOMOUS PROCESSING SKILLS EVEN IN CONTEXTS DIFFERENT FROM THOSE PROPOSED BY THE TEACHER. |
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 | |
---|---|
E-MAILS: - ARESCIGNO@UNISA.IT - ABATE@UNISA.IT - BC@DIA.UNISA.IT - CATTANEO@UNISA.IT |
BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2021-02-19]