With the recognition of the Professional Engineer (PE) status for the practice of Computer Engineering in April of 2009, the practice of Control Systems Engineering in October of 2011, and the practice of Software Engineering in April of 2013, there has been the need for specialized continuing education courses related to these practices.
In some curricula, the operating system employed is assumed to be learned by the student without a formal course. We have chosen to examine Linux because it is a Free Open-Source Software (FOSS) system and as such we can delve into any and all of its components to draw examples.
Also, as software is increasingly included as an integral part of the practice of all disciplines of Professional Engineering practices and it is the legal responsibility of the PE that all results are correct, all disciplines face the need for understanding the tools they employ.
In recent years, the computer community has become acutely aware of the possibility of malicious attacks on software; most often through internet connections of the operating system. This course offers an overview of the Linux operating system discussing its operation and structure and why it is perceived to be less vulnerable to cyber-attacks.
This course introduces the origins of Linux along with the Free-Software and Open-Source developments leading to today’s distributions. We discuss the relation of the Linux kernel to popular distributions and two examples from the diverse suite of distributions. Using the bootstrap process involved in loading the Linux kernel, we discuss the memory management, I/O bus hardware interface and file system loading. In a set of appendices, we show how the VirtualBox application is used to support virtual machines and demonstrate concurrent installations of two Linux distributions. We contrast those distributions into the arena of the shell interface, shell programming, process management, communications and applications support.
We introduce many of the topics germane to the study of operating system software in the context of a Free Open-Source Software environment and equip the student with sufficient knowledge to answer basic why and how questions about operating systems software.