Skip to main content

Essential Knowledge: Operating Systems

  • Chapter
  • First Online:
  • 3403 Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    See https://docs.microsoft.com/en-us/windows/wsl/install-win10 for details.

  2. 2.

    Some commands, like the exit command, are built into the bash executable.

  3. 3.

    http://windows.microsoft.com/en-us/windows/history.

  4. 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. 5.

    https://msdn.microsoft.com/en-us/library/dd184075.aspx.

  6. 6.

    Some commands, like the exit command, are built into Command Prompt.

  7. 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. 8.

    https://technet.microsoft.com/en-us/magazine/ff476070.aspx.

  9. 9.

    http://people.uvawise.edu/philosophy/phil206/Leibniz.html.

  10. 10.

    https://en.wikipedia.org/wiki/Design_by_contract.

  11. 11.

    Some definitions also consider the kernel as a process.

  12. 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.

    Google Scholar 

  • M. G. Sobell. Practical Guide to Ubuntu Linux. Prentice Hall, third edition, 2010.

    Google Scholar 

  • C. Newham. Learning the BASH Shell. O’Reilly Media Inc., third edition, 2005.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics