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:

  1. Operating system functions
  2. Types of operating systems
  3. User interfaces
  4. Updates
  5. Platforms


    Concepts related to Student Learning Objectives
  6. Network operating systems
  7. 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.


Assignment 1: Consider the discussion of updates in this chapter and in these notes. Discuss the downside. What would be some problems that you would encounter if you were running a system in which computers were forced to update their operating systems on a schedule controlled by a central authority? What alternatives to a very rigid schedule should be considered?

This is a group assignment.

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.


Assignment 2: IP Addressing

1. Assume you have been given the network address 10.20.0.0
If this were a classful address (which it is not), what would the subnet mask for this network look like (written in decimal form)?

2. Assume we are treating the address above like a class B address.
What would the broadcast address of this network be?

3. Convert the the first two bytes of the address given above to binary notation.