Abstract
In Chap. 2, we discussed the CPU and how it executes a sequence of assembly language instructions. This suggests the following model: a programmer writes a computer program as a sequence of assembly language instructions, loads them into memory, and instructs the CPU to execute them one by one by pointing the program counter at the relevant memory address. Unfortunately, there are many problems with this scheme: only one program can run at any particular time, one programmer may overwrite information important for another programmer, and it is hard to reuse instructions implementing common tasks. The operating system mediates between the computer hardware and programmers, and resolves difficulties such as the ones mentioned above. This chapter describes the concepts of an operating system, then delves into the Linux and Windows operating systems in some detail as concrete examples; in addition, it explores command-line interfaces like bash, Command Prompt, and PowerShell, which are essential for developers to know intimately.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
See https://docs.microsoft.com/en-us/windows/wsl/install-win10 for details.
- 2.
Some commands, like the exit command, are built into the bash executable.
- 3.
- 4.
.COM as in “command,” which is a file extension for text files that contain a batch of executable commands; it has nothing to do with .com as in “commercial,” the commonly used top-level Internet domain name. Don’t mistake COM files for web bookmarks; that’s a security hazard that recent versions of Windows try to mitigate by notifying you when a program requests administrator-level permission to run.
- 5.
- 6.
Some commands, like the exit command, are built into Command Prompt.
- 7.
The Hierarchical File System Plus (HFS+), which is widely used by macOS, is case-insensitive; while the New Technology File System (NTFS), which is commonly used by recent versions of Windows, is case-sensitive; however, the vast majority of applications that run on Windows treat file names with case-insensitivity. For more details, see https://support.microsoft.com/en-us/kb/100625.
- 8.
- 9.
- 10.
- 11.
Some definitions also consider the kernel as a process.
- 12.
The CTRL+Break combination always sends a signal to terminate a process while applications can choose to change the default CTRL+c behavior; that said, it’s getting harder to find keyboards with the Break key these days.
References
A. Silberschatz, P. B. Galvin, and G. Gagne. Operating System Concepts. Wiley, eighth edition, 2008.
M. G. Sobell. Practical Guide to Ubuntu Linux. Prentice Hall, third edition, 2010.
C. Newham. Learning the BASH Shell. O’Reilly Media Inc., third edition, 2005.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Lebanon, G., El-Geish, M. (2018). Essential Knowledge: Operating Systems. In: Computing with Data. Springer, Cham. https://doi.org/10.1007/978-3-319-98149-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-98149-9_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-98148-2
Online ISBN: 978-3-319-98149-9
eBook Packages: Computer ScienceComputer Science (R0)