General information
Course type | AMUPIE |
Module title | Linux, shell and system programming |
Language | English |
Module lecturer | prof. UAM dr hab. Grzegorz Musiał |
Lecturer's email | gmusial@amu.edu.pl |
Lecturer position | professor |
Faculty | Faculty of Physics |
Semester | 2024/2025 (winter) |
Duration | 30 |
ECTS | 5 |
USOS code | 04-W-PPDS-45 |
Timetable
lecture 15h + computer lab 15h = 30h
Wednesday 13:15-14:45, Collegium Physicum, Linux computer lab 42, after signing in and e-mail notification (gmusial@amu.edu.pl), the date of classes will be adjusted to the participants' time possibilities.
Module aim (aims)
- Explaining of the role and functionalities of operating systems, mainly Linux, indicating its design principles and applications, for which she/he will argue for the advantages of this operating system over others
- Working in Linux operating system and taking advantage of its key functionalities, including communication between users and transferring of files
- Explaining of procedures of information, processes, memory, files and I/O devices management in Linux operating system as well as its use for protection of user resources
- Executing of basic administrator activities in Linux operating systems, as well as she/he will be able to automate them using shell programming (scripts)
- The direct use of system calls (system programming) for handling files, processes, signals and pipes
- Benefiting from system information sources, as well as from literature and internet ones for independent solving problems in service activities and system programing in Linux operating system
Pre-requisites in terms of knowledge, skills and social competences (where relevant)
The basic knowledge and practice with UNIX/Linux operating systems and with C/C++ programming
Syllabus
Week 1: Linux operating system structures and functionalities
Week 2: File system in UNIX/Linux systems, disk structures, catalog and file handling, vi editor
Week 3: Shells, multitasking, pipelining, the user work interface. Communication between users
Week 4: Introduction to programming in the shell language
Week 5: Programming in the shell language, cron demon, elements of system administration
Week 6: Solving practical problems by constructing own shell scripts
Week 7: Redirecting of standard I/O and exploiting of starting parameters in simple C programs
Week 8: Programming with direct use of system functions for handling files and directories
Week 9: Programming with direct use of system functions for handling files and directories
Week 10: Programming with direct use of system functions for handling processes
Week 11: Programming with direct use of system functions for handling signals
Week 12: Programming with direct use of system functions for handling pipes
Week 13: Programming with direct use of system functions for solving own problems
Week 14: Presentation of own programs and discussion of the applied solutions
Week 15: Verification of earned knowledge, its maintenance, assigning of grades, summary
Reading list
- Silberschatz, P.B. Galvin, G. Gagne, Operating System Concepts, 8th Edition, J.Wiley & Sons Inc., 2008
- Tansley, Linux & Unix Shell Programming, Addison-Wesley, 2000
- K. Haviland, D. Gray, B. Salama, Unix System Programming, Addison-Wesley, 1999, ISBN-13: 978-0201877588