0% found this document useful (0 votes)
76 views4 pages

Operating System: Bibliographical Notes

This chapter introduces operating systems and their major components. It discusses how operating systems manage computer hardware resources and act as an intermediary between users and hardware. The chapter provides an overview of contemporary computer systems and the functions of operating systems, including allocating resources to programs. It also covers topics like data structures, computing environments, and open-source operating systems to set the stage for the rest of the text.

Uploaded by

Tugas Utomo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views4 pages

Operating System: Bibliographical Notes

This chapter introduces operating systems and their major components. It discusses how operating systems manage computer hardware resources and act as an intermediary between users and hardware. The chapter provides an overview of contemporary computer systems and the functions of operating systems, including allocating resources to programs. It also covers topics like data structures, computing environments, and open-source operating systems to set the stage for the rest of the text.

Uploaded by

Tugas Utomo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

CHAPTER

1
Introduction

An operating system is software that manages a computer’s hardware. It


also provides a basis for application programs and acts as an intermediary
between the computer user and the computer hardware. An amazing aspect
of operating systems is how they vary in accomplishing these tasks in a wide
variety of computing environments. Operating systems are everywhere, from
cars and home appliances that include “Internet of Things” devices, to smart
phones, personal computers, enterprise computers, and cloud computing envi-
ronments.
In order to explore the role of an operating system in a modern computing
environment, it is important first to understand the organization and architec-
ture of computer hardware. This includes the CPU, memory, and I/O devices,
as well as storage. A fundamental responsibility of an operating system is to
allocate these resources to programs.
Because an operating system is large and complex, it must be created
piece by piece. Each of these pieces should be a well-delineated portion of the
system, with carefully defined inputs, outputs, and functions. In this chapter,
we provide a general overview of the major components of a contemporary
computer system as well as the functions provided by the operating system.
Additionally, we cover several topics to help set the stage for the remainder of
the text: data structures used in operating systems, computing environments,
and open-source and free operating systems.

Bibliographical Notes

Many general textbooks cover operating systems, including [Stallings (2017)]


and [Tanenbaum (2014)]. [Hennessy and Patterson (2012)] provide coverage of
I/O systems and buses and of system architecture in general. [Kurose and Ross
(2017)] provides a general overview of computer networks.
[Russinovich et al. (2017)] give an overview of Microsoft Windows and cov-
ers considerable technical detail about the system internals and components.
[McDougall and Mauro (2007)] cover the internals of the Solaris operating sys-
tem. macOS and iOS internals are discussed in [Levin (2013)]. [Levin (2015)]
covers the internals of Android. [Love (2010)] provides an overview of the
1
2 Chapter 1 Introduction

Linux operating system and great detail about data structures used in the Linux
kernel.
The history of open sourcing and its benefits and challenges appears in
[Raymond (1999)]. The Free Software Foundation has published its philos-
ophy in http://www.gnu.org/philosophy/free-software-for-freedom.html.
Free software and open-source software are two different ideas
championed by different groups of people, but with a sim-
ilar net effect of requiring source code to be available (see
http://gnu.org/philosophy/open-source-misses-the-point.html/
GNU/Linux is the most famous open-source operating system, with some
distributions free and others open source (http://www.gnu.org/distros/).
The free “Virtualbox” virtualization tool is available from
https://www.virtualbox.org/. There are pre-built operating system
images for virtualbox available at http://virtualboxes.org/images/. An
alternative to using Virtualbox is to use the free program “Qemu”
(http://wiki.qemu.org/Download/), which has the qemu-img for convert-
ing Virtualbox images to Qemu images to easily import them. VMware
(http://www.vmware.com) provides a free virtual machine “player” for
Windows on which hundreds of free “virtual appliances” can run.
The source code of FreeBSD is available for free on line at
https://svnweb.freebsd.org
Version control systems aid in software development, one common one
is subversion: https://subversion.apache.org/source-code, and another is git:
http://www.git-scm.com.
The open source of macOS are available from http://www.apple.com/open
source/. Apple also provides extensive developer tools, documentation, and
support at http://connect.apple.com. For more information, see Appendix C.
The source code for opensolaris is available via a source code browser and
for download at http://src.opensolaris.org/source. The active fork of OpenSo-
laris is Illumos and is available at http://wiki.illumos.org.
Thousands of open-source projects are available from sites like
http://freshmeat.net/ and http://distrowatch.com/.
An extensive but incomplete list of open-source operating-system projects
is available from http://dmoz.org/Computers/Software/Operating Systems/
Open Source/.

Bibliography

[Hennessy and Patterson (2012)] J. Hennessy and D. Patterson, Computer Archi-


tecture: A Quantitative Approach, Fifth Edition, Morgan Kaufmann (2012).
[Kurose and Ross (2017)] J. Kurose and K. Ross, Computer Networking — A Top–
Down Approach, Seventh Edition, Addison-Wesley (2017).
[Levin (2013)] J. Levin, Mac OS X and iOS Internals to the Apple’s Core, Wiley
(2013).
[Levin (2015)] J. Levin, Android Internals – A Confectioner’s Cookbook. Volume I
(2015).
Bibliographical Notes 3

[Love (2010)] R. Love, Linux Kernel Development, Third Edition, Developer’s


Library (2010).
[McDougall and Mauro (2007)] R. McDougall and J. Mauro, Solaris Internals,
Second Edition, Prentice Hall (2007).
[Raymond (1999)] E. S. Raymond, The Cathedral and the Bazaar, O’Reilly & Asso-
ciates (1999).
[Russinovich et al. (2017)] M. Russinovich, D. A. Solomon, and A. Ionescu, Win-
dows Internals – Part 1, Seventh Edition, Microsoft Press (2017).
[Stallings (2017)] W. Stallings, Operating Systems, Internals and Design Principles
(9th Edition) Ninth Edition, Prentice Hall (2017).
[Tanenbaum (2014)] A. S. Tanenbaum, Modern Operating Systems, Prentice Hall
(2014).

You might also like