- Layered Operating System
- Why Layering in Operating System?
- Layers in Layered Operating System
- Hardware
- CPU Scheduling
- Memory Management
- Process Management
- I/O Buffer
- User Programs
- Windows Network Architecture and the OSI Model
- Physical Layer
- Data Link Layer
- Network Layer
- Transport Layer
- Windows operating system layers
- Which version of Windows operating system am I running?
- Find operating system info in Windows 10
- Related links
- Find operating system info in Windows 8.1 or Windows RT 8.1
- Related links
- Find operating system info in Windows 7
- Related links
- Computer Basics —
- Understanding Operating Systems
- Computer Basics: Understanding Operating Systems
- Lesson 8: Understanding Operating Systems
- What is an operating system?
- The operating system’s job
- Types of operating systems
- Microsoft Windows
- macOS
- Linux
- Operating systems for mobile devices
Layered Operating System
The operating system is split into various layers In the layered operating system and each of the layers have different functionalities. This type of operating system was created as an improvement over the early monolithic systems.
Why Layering in Operating System?
Layering provides a distinct advantage in an operating system. All the layers can be defined separately and interact with each other as required. Also, it is easier to create, maintain and update the system if it is done in the form of layers. Change in one layer specification does not affect the rest of the layers.
Each of the layers in the operating system can only interact with the layers that are above and below it. The lowest layer handles the hardware and the uppermost layer deals with the user applications.
Layers in Layered Operating System
There are six layers in the layered operating system. A diagram demonstrating these layers is as follows:
Details about the six layers are:
Hardware
This layer interacts with the system hardware and coordinates with all the peripheral devices used such as printer, mouse, keyboard, scanner etc. The hardware layer is the lowest layer in the layered operating system architecture.
CPU Scheduling
This layer deals with scheduling the processes for the CPU. There are many scheduling queues that are used to handle processes. When the processes enter the system, they are put into the job queue. The processes that are ready to execute in the main memory are kept in the ready queue.
Memory Management
Memory management deals with memory and the moving of processes from disk to primary memory for execution and back again. This is handled by the third layer of the operating system.
Process Management
This layer is responsible for managing the processes i.e assigning the processor to a process at a time. This is known as process scheduling. The different algorithms used for process scheduling are FCFS (first come first served), SJF (shortest job first), priority scheduling, round-robin scheduling etc.
I/O Buffer
I/O devices are very important in the computer systems. They provide users with the means of interacting with the system. This layer handles the buffers for the I/O devices and makes sure that they work correctly.
User Programs
This is the highest layer in the layered operating system. This layer deals with the many user programs and applications that run in an operating system such as word processors, games, browsers etc.
Windows Network Architecture and the OSI Model
This topic discusses the Windows network architecture and how Windows network drivers implement the bottom four layers of the OSI model.
If you are looking for general information on all seven layers of the model, see the OSI model.
The Microsoft Windows operating systems use a network architecture that is based on the seven-layer networking model developed by the International Organization for Standardization (ISO).
Introduced in 1978, the ISO Open Systems Interconnection (OSI) Reference model describes networking as «a series of protocol layers with a specific set of functions allocated to each layer. Each layer offers specific services to higher layers while shielding these layers from the details of how the services are implemented. A well-defined interface between each pair of adjacent layers defines the services offered by the lower layer to the higher one and how those services are accessed.»
The following diagram illustrates the OSI model.
Microsoft Windows network drivers implement the bottom four layers of the OSI model.
Physical Layer
The physical layer is the lowest layer of the OSI model. This layer manages the reception and transmission of the unstructured raw bit stream over a physical medium. It describes the electrical/optical, mechanical, and functional interfaces to the physical medium. The physical layer carries the signals for all of the higher layers.
In Windows, the physical layer is implemented by the network interface card (NIC), its transceiver, and the medium to which the NIC is attached.
Data Link Layer
The data link layer sends frames between physical addresses and is responsible for error detection and recovery occurring in the physical layer.
The data link layer is further divided by the Institute of Electrical and Electronics Engineers (IEEE) into two sublayers: media access control (MAC) and logical link control (LLC).
The MAC sublayer manages access to the physical layer, checks frame errors, and manages address recognition of received frames.
In the Windows network architecture, the MAC sublayer is implemented in the NIC. The NIC is controlled by a software device driver called the miniport driver. Windows supports several variations of miniport drivers including WDM miniport drivers, miniport call managers (MCMs), and miniport intermediate drivers.
The LLC sublayer provides error-free transfer of data frames from one node to another. The LLC sublayer establishes and terminates logical links, controls frame flow, sequences frames, acknowledges frames, and retransmits unacknowledged frames. The LLC sublayer uses frame acknowledgement and retransmission to provide virtually error free transmission over the link to the layers above.
In Windows, the LLC sublayer is implemented by a software driver known as a protocol driver.
Network Layer
The network layer controls the operation of the subnet. This layer determines the physical path that the data should take, based on the following:
Priority of service
Other factors, such as routing, traffic control, frame fragmentation and reassembly, logical-to-physical address mapping, and usage accounting
The network layer is implemented by a protocol driver.
Transport Layer
The transport layer ensures that messages are delivered error free, in sequence, and with no loss or duplication. This layer relieves the higher-layer protocols from being concerned about data transfer with their peers.
A minimal transport layer is required in protocol stacks that include a reliable network or LLC sublayer that provides virtual circuit capability. For example, because the NetBEUI transport driver for Windows is an OSI-compliant LLC sublayer, its transport layer functions are minimal. If the protocol stack does not include an LLC sublayer, and if the network layer is unreliable and/or supports datagrams (as with TCP/IP’s IP layer or NWLink’s IPX layer), the transport layer should include frame sequencing and acknowledgment, as well as retransmission of unacknowledged frames.
In the Windows network architecture, the transport layer is implemented by a protocol driver, which is sometimes referred to a transport driver.
Windows operating system layers
Layered Structure is a type of system structure in which the different services of the operating system are split into various layers, where each layer has a specific well-defined task to perform. It was created to improve the pre-existing structures like the Monolithic structure ( UNIX ) and the Simple structure ( MS-DOS ).
Example – The Windows NT operating system uses this layered approach as a part of it.
Design Analysis :
The whole Operating System is separated into several layers ( from 0 to n ) as the diagram shows. Each of the layers must have its own specific function to perform. There are some rules in the implementation of the layers as follows.
- The outermost layer must be the User Interface layer.
- The innermost layer must be the Hardware layer.
- A particular layer can access all the layers present below it but it cannot access the layers present above it. That is layer n-1 can access all the layers from n-2 to 0 but it cannot access the nth layer.
Thus if the user layer wants to interact with the hardware layer, the response will be traveled through all the layers from n-1 to 1. Each layer must be designed and implemented such that it will need only the services provided by the layers below it.
Layered OS Design
Advantages :
There are several advantages to this design :
- Modularity :
This design promotes modularity as each layer performs only the tasks it is scheduled to perform. - Easy debugging :
As the layers are discrete so it is very easy to debug. Suppose an error occurs in the CPU scheduling layer, so the developer can only search that particular layer to debug, unlike the Monolithic system in which all the services are present together. - Easy update :
A modification made in a particular layer will not affect the other layers. - No direct access to hardware :
The hardware layer is the innermost layer present in the design. So a user can use the services of hardware but cannot directly modify or access it, unlike the Simple system in which the user had direct access to the hardware. - Abstraction :
Every layer is concerned with its own functions. So the functions and implementations of the other layers are abstract to it.
Disadvantages :
Though this system has several advantages over the Monolithic and Simple design, there are also some disadvantages as follows.
- Complex and careful implementation :
As a layer can access the services of the layers below it, so the arrangement of the layers must be done carefully. For example, the backing storage layer uses the services of the memory management layer. So it must be kept below the memory management layer. Thus with great modularity comes complex implementation. - Slower in execution :
If a layer wants to interact with another layer, it sends a request that has to travel through all the layers present in between the two interacting layers. Thus it increases response time, unlike the Monolithic system which is faster than this. Thus an increase in the number of layers may lead to a very inefficient design.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
Which version of Windows operating system am I running?
Find operating system info in Windows 10
To find out which version of Windows your device is running, press the Windows logo key + R, type winver in the Open box, and then select OK.
Here’s how to learn more:
Select the Start button > Settings > System > About .
Under Device specifications > System type, see if you’re running a 32-bit or 64-bit version of Windows.
Under Windows specifications, check which edition and version of Windows your device is running.
Related links
If you’re having a problem with activation, see Activate in Windows 10.
If you forgot the password you use to sign in to Windows devices or email, see How to reset your Microsoft password.
For info about updating Windows, see Windows Update: FAQ.
Find operating system info in Windows 8.1 or Windows RT 8.1
To find out which version of Windows your device is running, press the Windows logo key + R, type winver in the Open box, and then select OK.
If your device is running Windows 8.1 or Windows RT 8.1, here’s how to learn more:
If you’re using a touch device, swipe in from the right edge of the screen, tap Settings, and then tap Change PC settings. Continue to step 3.
If you’re using a mouse, point to the lower-right corner of the screen, move the mouse pointer up, click Settings, and then click Change PC settings.
Select PC and devices > PC info.
Under Windows you’ll see which edition and version of Windows your device is running.
Under PC > System type you’ll see if you’re running a 32-bit or 64-bit version of Windows.
Related links
If you’re having a problem with activation, see Activate Windows 7 or Windows 8.1
If you forgot the password you use to sign in to Windows devices or email, see How to reset your Microsoft password.
For info about updating Windows, see Windows Update: FAQ.
Find operating system info in Windows 7
Select the Start button, type Computer in the search box, right-click on Computer, and then select Properties.
Under Windows edition, you’ll see the version and edition of Windows that your device is running.
Support for Windows 7 ended on January 14, 2020
We recommend you move to a Windows 10 PC to continue to receive security updates from Microsoft.
Related links
If you’re having a problem with activation, see Activate Windows 7 or Windows 8.1.
If you forgot the password you use to sign in to Windows devices or email, see How to reset your Microsoft password.
For info about updating Windows, see Windows Update: FAQ.
Computer Basics —
Understanding Operating Systems
Computer Basics: Understanding Operating Systems
Lesson 8: Understanding Operating Systems
What is an operating system?
An operating system is the most important software that runs on a computer. It manages the computer’s memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer’s language. Without an operating system, a computer is useless.
Watch the video below to learn more about operating systems.
Looking for the old version of this video? You can still view it here.
The operating system’s job
Your computer’s operating system (OS) manages all of the software and hardware on the computer. Most of the time, there are several different computer programs running at the same time, and they all need to access your computer’s central processing unit (CPU), memory, and storage. The operating system coordinates all of this to make sure each program gets what it needs.
Types of operating systems
Operating systems usually come pre-loaded on any computer you buy. Most people use the operating system that comes with their computer, but it’s possible to upgrade or even change operating systems. The three most common operating systems for personal computers are Microsoft Windows, macOS, and Linux.
Modern operating systems use a graphical user interface, or GUI (pronounced gooey). A GUI lets you use your mouse to click icons, buttons, and menus, and everything is clearly displayed on the screen using a combination of graphics and text.
Each operating system’s GUI has a different look and feel, so if you switch to a different operating system it may seem unfamiliar at first. However, modern operating systems are designed to be easy to use, and most of the basic principles are the same.
Microsoft Windows
Microsoft created the Windows operating system in the mid-1980s. There have been many different versions of Windows, but the most recent ones are Windows 10 (released in 2015), Windows 8 (2012), Windows 7 (2009), and Windows Vista (2007). Windows comes pre-loaded on most new PCs, which helps to make it the most popular operating system in the world.
Check out our tutorials on Windows Basics and specific Windows versions for more information.
macOS
macOS (previously called OS X) is a line of operating systems created by Apple. It comes preloaded on all Macintosh computers, or Macs. Some of the specific versions include Mojave (released in 2018), High Sierra (2017), and Sierra (2016).
According to StatCounter Global Stats, macOS users account for less than 10% of global operating systems—much lower than the percentage of Windows users (more than 80%). One reason for this is that Apple computers tend to be more expensive. However, many people do prefer the look and feel of macOS over Windows.
Check out our macOS Basics tutorial for more information.
Linux
Linux (pronounced LINN-ux) is a family of open-source operating systems, which means they can be modified and distributed by anyone around the world. This is different from proprietary software like Windows, which can only be modified by the company that owns it. The advantages of Linux are that it is free, and there are many different distributions—or versions—you can choose from.
According to StatCounter Global Stats, Linux users account for less than 2% of global operating systems. However, most servers run Linux because it’s relatively easy to customize.
To learn more about different distributions of Linux, visit the Ubuntu, Linux Mint, and Fedora websites, or refer to our Linux Resources. For a more comprehensive list, you can visit MakeUseOf’s list of The Best Linux Distributions.
Operating systems for mobile devices
The operating systems we’ve been talking about so far were designed to run on desktop and laptop computers. Mobile devices such as phones, tablet computers, and MP3 players are different from desktop and laptop computers, so they run operating systems that are designed specifically for mobile devices. Examples of mobile operating systems include Apple iOS and Google Android . In the screenshot below, you can see iOS running on an iPad.
Operating systems for mobile devices generally aren’t as fully featured as those made for desktop and laptop computers, and they aren’t able to run all of the same software. However, you can still do a lot of things with them, like watch movies, browse the Web, manage your calendar, and play games.
To learn more about mobile operating systems, check out our Mobile Devices tutorials.