|
|
NET 101 - Networking Essentials I
Chapter 9, Operating Systems
Objectives:
This lesson discusses details about operating systems and their functions. Objectives important to this lesson:
- Operating system functions
- Types of operating systems
- User interfaces
- Updates
- Platforms
Concepts related to Student Learning Objectives
- Network operating systems
- Network models
Concepts:This is a short chapter, so it will be easier to hit its high points.
Page 378 offers several versions of a definition for an operating system (OS). It may be easiest to define it by its features:
- it coordinates the activities of programs and system hardware
- it performs startup and shutdown functions for the device
- it typically includes one or more user interfaces
- it is meant to run at startup, from a hard disk, a solid state drive, a bootable flash drive, or installed firmware
The text says that the operating system installed on a device can be called a platform.
In the real world, platform may mean a combination of hardware and
operating system. For instance, we might refer to a particular model of computer from Dell or HP and the operating system
running on it as a specific platform that requires a particular kind of
support. The book's example of choosing the right software based on
which OS you are running is correct, but incomplete. You must also make
sure your hardware matches the software's requirements, such as having
enough RAM, enough space on a hard drive, a processor and graphics card
that meet the minimum or recommended performance levels, and so on.
A better point from this section may be the short description of cross-platform applications. They are meant to have the same feel to a user regardless of the platform the user is running.
The discussion on pages 380 and 381 includes some useful terms, in case you are not aware of them:
- boot - to boot a device is to start it and load the OS; follow this link for more information about this term
- cold boot - to start a device whose power is completely off (cold circuits)
- warm boot - to restart a device without powering it off completely (warm circuits)
The text says that some of the cold boot steps are skipped in a warm
boot, they are not really skipped. They do not happen in a warm boot
because the processes they start were never shut down. For example, the
BIOS stays loaded and the hard drive is already accessible.
The text informs us that devices are turned on with a power button.
(As opposed to putting hamsters in a treadmill, I suppose. Or telling
Igor to put more electric eels in the tank.) Despite the silliness of
this passage, there is some value in the section about shutting down
devices:
- the OS may prefer to be shut down through a software command
- you may be able to force a shut down by holding down a power button, but you should not assume this, and it may do some harm to open files
- for mobile devices, it is common that the user is required to press the power button, then confirm the shutdown command, to avoid accidental shutdown and data loss
- a laptop power button may be configured to put its device into a sleep or hibernation mode
when pressed in a certain way; this may be fine for you, but I have
seen users very upset with sleeping devices that refused to wake up (my
advice is not to use this feature)
The text lists three classic OS user interface types:
- command-line interface - also called character based interface,
this was common before computer graphics were common; features a
flashing cursor where the user enter commands with a keyboard, and the
system responds with character based output
- graphical user interface
- user clicks icons, drags objects, seleccts choices shown on a screen
by using a mouse or other pointing device, such a using finger on a
touch screen
- natural user interface - an interface that accepts "natural" input, like speech
They have been promising this for forty years. First, there is no such
thing as "natural". All communication relies on learned behavior.
Second, we still don't have computers that understand us very well.
Just watch a Scotsman try to talk to Siri on YouTube (yes, there are
SFW examples).
Computer operating systems can approach tasks in a number of ways. Two broad
categories are:
- single tasking - the operating system can only do one thing at a
time
- multitasking - the operating system loads more than one task
at a time. Often, this is an illusion. In cooperative
multitasking, several tasks are loaded into memory and the processor gives
a few nanoseconds to each one in turn until they are done. In
preemptive multitasking, the same thing happens, except that more
important tasks are given more time than less important tasks.
An operating system that
supports multiple processors can do real multitasking, assigning
different tasks to different processors.
You should be aware that an operating system must manage the memory of
a system as well as the input and output
of a system. A common method for doing so is illustrated in the graphic
on page 385: parts of a program or file that are not being used at the
moment may be swapped into virtual memory, which is usually reserved file space on a hard drive.
The text discusses updates to operating systems, which are
typically available as downloads from the publisher's web site. A point
to discuss is whether it is better to enable automatic updating for
patches and service packs, or to make the system notify the user that
such an update is available.
You may be aware that Microsoft tends to release patches and such on particular Tuesdays,
unless there is a pressing reason to do it sooner. Such reasons lead to several different kinds of updates. Be aware that the terms listed below are not universal. Different publishers are free to use these words as they please.
- critical update - typically corrects a failure in the
program; usually not a security failure
- feature pack - a collection of additions
that are typically not critical: they are new features, not fixes for existing
ones; usually not a security fix
- update - a collection of fixes that
correct problems; typically not security related, but Adobe
seems to use this word to include security updates as
well
- patch (security patch) - a release that typically addresses a
security issue
- hotfix - a package with one or more fixes, often related to
security issues, that may only apply in a
custom environment
- update rollup - a set of fixes that may include all of the
above types
- service pack - a package that contains all the above
changes to the program that apply since its release, or since the last service
pack
The first three types in the list typically do not
address security issues, but the last four types do. Managing patches and other
updates does not have a clear cut best answer. The four options options below, offered by Windows, are presented as
representative examples of your choices:
- install automatically
- download automatically, but let me choose what to install
- check for update, notify me, but let me choose to download and install
- never check
The first three include automatically checking for updates, or their
functions would not take place. In the environment of my day job, we typically
do not have devices check Microsoft for updates because of the
degree of customization of applications and the possibility of
patches breaking some functionality.
In environments where the users do not own their computers
(e.g. large companies, government offices, schools) it is better to have central
control over configuration and patches. Several advantages apply:
- a distributed network of servers can be used for patch distribution
to workstations, making better use of bandwidth and access (this has
the greatest value when the LANs are in different geographic locations)
- computers that are not allowed to go to the Internet can get updates (for
example, computers secure areas where Internet access is not allowed)
- administrators can test updates before general deployment, and request
hotfix updates for a customized environment instead
- administrators can choose not to deploy updates that do not apply to their
configurations
- hotfixes provided by the vendor can be deployed, which would not be
available from the general update site of the vendor
- users cannot refuse updates to "their" computers
Page 393 begins a discussion of types of operating systems, based on three device types:
- desktops and laptops
- Windows
- OS X (or later) for Apple computers
- UNIX
- Linux
- Chrome OS
- servers
- Windows Server
- Mac OS X Server
- UNIX
- Linux
- mobile devices
- Android
- iOS
- Windows Phone
Most
students have probably seen or used many of these systems. If you are
not familiar with these systems, browse through this section of the
chapter for an overview of anything you have not seen.
Since the book is not covering several topics that we are
supposed to cover, let's look at a few facts about Network Operating Systems and Network Models.
Network Operating Systems
The text
barely mentions that some operating systems support networking, and
that the server versions of those operating systems include programs to
manage the networks they are part of. In short, a network operating
system is used to make a network possible, and to manage the network.
By managing the network, we mean running the system that allows users to
log in and out, that allows the sharing of resources, that restricts
and enables users to do things with the network and with their
workstations.
Networks originated with mainframes, which were typically used from
terminals that had no computing power of their own. This kind of computing
follows the centralized model. All computing is actually done at a
central location (the mainframe) not at the terminals. There are several
problems with this model: all processing is done at one place,
increasing the computing power of the network is expensive, and the
programs that run on these networks tend to be expensive custom made
programs.
Some critical terms have appeared in the chapters, but have not been defined:
- Server - not just a computer, but the set of hardware and software
used to provide a service
- Client - any entity on the network that requests a service
- Peer - a network entity that may request and provide services
simultaneously.
- Workstation - typically, a personal computer that is attached to a
network
- Host - any device assigned an IP address on a network
If entities on a network act as peers, then this is Peer-to-Peer
Networking. If entities act in strictly defined roles, as either servers or
clients, but not as peers, then this is Server-Centric Networking. Most
PC networks are this type.
Most networks follow a client/server model, which is also a
distributed computing model. Clients typically perform some or most of
the processing on the network, while servers provide services like data storage,
instead of providing all the computing power. Client/server networks are
typically easier to upgrade, both on the client side and on the server side.
Network Models
The way a network works can be understood in terms of a model of a network
that was created by the International Organization for Standardization,
called the ISO for short. (No it isn't an acronym, it is from the Greek word
isos, meaning equal.) Their model is called the Open Systems
Interconnection (OSI) Reference Model, hence the ISO-OSI model.
Once you understand this model, you will have a general, powerful reference
for examining and comparing networks.
The seven layers of the model are usually written in a list, numbering the
top as layer seven and the bottom as layer one.
Layer Number |
ISO Layer |
Functional Description |
7 |
Application |
services and programs |
6 |
Presentation |
translation across networks |
5 |
Session |
connection setup and end |
4 |
Transport |
guarantee delivery |
3 |
Network |
find other networks |
2 |
Data-Link |
media access |
1 |
Physical |
wiring, bit transmission |
Several mnemonic sentences exist to help us remember the proper order. I
recommend "Please Do Not Throw Sausage
Pizza Away", because this is in the correct numeric order
(bottom to top, 1 to 7). If you must have one that goes from top to bottom, try
"All People Studying This Need Drastic
Psychotherapy". On any certification test that covers this model, you MUST remember the correct order, the
correct numbers, and the correct details for each layer.
The processes that happen in each layer communicate with the next layer.
Which way is next, up or down? It depends whether data is being passed
out of the stack (down) or into it (up). Typically, a computer generates
a request starting at the top layer, and working down. The request is passed
across the network (probably to a server) and the received request is
passed up the layers. When a response is generated, the process reverses.
Another metaphor for the model:
think of each layer of the model as being like a shelf in a
bookcase. There are seven shelves, and each shelf has several
books on it. The books represent the topics that we discuss
in our study of that layer. In fact, in each book are discussions of the various
methods that relate to that topic. A method is a way of
implementing a task the topic covers. For instance, the Physical layer includes
the Connection Type topic (a task), and we will see that there are two
classic methods for making connections (ways to do it).
This is an overview of the functions of the seven layers:
- Layer 1, Physical - Protocols define structure, physical specifications for
media, rules for transmitting bits. Most network models do not specify
what happens on this layer, making it possible to use many kinds of wiring for
different kinds of networks. This layer tells us how the network is
physically set up.
- Layer 2, Data Link - Bits are formed into frames, headers give
address information. This layer tells us how the network is physically
accessed, how some errors are handled, how data flow is
handled and how entities on the network are addressed. Sub-layers:
- Media Access Control (MAC) - Rules to access the media, logical topologies,
hardware addressing.
- Logical Link Control (LLC) - Frame synchronization, connection services and
error control
- Layer 3, Network - Datagram packets are routed to other networks.
Connection services are introduced. The Network Layer is concerned with
moving data to specific locations across networks.
- Layer 4, Transport - The Transport Layer is concerned with segment
development (building message units) and moving data to specific
processes or services in a reliable way. Associate this layer with
the words "reliable" and "dependable". End-to-end control and
error checking. In some networks, this may be the last or next-to-last layer.
- Layer 5, Session -The Session Layer is concerned with
communications between service requesters and providers. Dialogs are set
up, maintained, and terminated at this layer.
- Layer 6, Presentation - The Presentation Layer is concerned with
translation of signals into formats network entities can understand. This
includes translating network protocols, characters, and file standards.
- Layer 7, Application - The Application Layer is concerned with all
the network services, as well as service advertisement, and
service use
- Layers 5, 6 and 7: Session, Presentation and Application- Some networks
group all these functions into one group of Upper Layer Protocols. The
Session layer functions control dialog between nodes, the Presentation
layer functions format data and bits, and the Application layer functions
share network services.
As a request is passed down the layers, a header is added to the
request at each new layer. The header holds information that is added to the
request by processes at that layer. So, by the time the request leaves
the computer, it has had six more parts added to it. When the request is
received by the server, the receiving layers strip off the information added to
the request by their counterpart layers. The request increases in size as it
leave the requester, and decreases in size as it is processed by the
receiver. This is a simplification to get the idea across to you, but
then ,"it's only a model". (Patsy, Monty Python and the Holy Grail.)
The Internet Protocol suite (TCP, IP, and a bunch of others) was developed before the
ISO-OSI model. The model used to construct it was the Department of
Defense (DoD) model. The Department of Defense was instrumental in the
construction of the Internet. Think of the DOD model as a condensed
version of the OSI model. The chart below shows how the two models
relate to each other.
DOD and ISO Models
Functional Description |
DOD Layers |
ISO Layers |
Upper Layer Processes |
Process/Application |
Application |
Presentation |
Session |
Reliable Connections |
Host-to-host |
Transport |
Internetwork Connections |
Internet |
Network |
Hardware/Network Connections |
Network Access |
Data-Link |
Physical |
The four layers of the DOD model address the topics found in
the ISO model. If you understand the ISO model, you already understand the DOD
model.
|