Windows NT
Windows NT
a)
Before operating systems, the tasks of the computers were controlled by changing the wires
connected to computer.
Later punch cards were introduced for this purpose. When a different program has to run in
the computer then the previous card has to be removed and the new card will be inserted.
This punch card was in many shapes. To run more than one program at a time people needed
a controller boss. Such a controller is called an operating system.
Then MS-DOS (Microsoft Disk Operating System) was introduced and this system didn’t
have a mouse. Instead the user had to type all the commands to work on the computer. It’s a
single tasking, single user, non-graphical command system. Earlier it was developed to run
with IBM. Later on newer versions of MS-DOS was developed and each on was build upon
it’s predecessor.
Later Operating Systems were introduced with a mouse that can be moved around and can be
clicked on things instead of typing.
Then the Mini computers were introduced. Digital Equipment corporation created several
operating systems for it’s 16-bit PDP-11 machines. They were time sharing operating system,
multiple users can operate the same computer in a time sharing manner. They were mainly
used for three purposes so called process control, data management and communication.
In middle of 1970s a new class of small computers named microcomputers are introduced. It
was on 8-bit processor and had some basic input output interfaces. It was introduced as a
hobbyist computer and later it was evolved into business tools.
Then after Windows 1.0 was introduced. This was the first version of microsoft windows.
This version also ran top of DOS system. This version of windows introduced more GUI bits
like scroll and “OK” buttons.
Windows 2000 was the next version of Microsoft windows series. This was used in both
client and server computers. Windows 2000 is based on the Windows NT kernel. This
operating system was coded mainly in C++. It was considered as a huge success in OS
market. This was more user friendly than previous OS’s. It was more secured and provided
high level interfaces for database.
Later a professional operating system was designed by Microsoft in the series of windows
called Windows XP. Then in the series Windows Vista, Windows 7, Windows 8 for PC,
Windows 8 for mobile phones, Windows 10 are introduced with more GUI bits and more
security. Even though there are many other operating systems such as Mac OS, Linux
windows considered more succeed in market.
b)
In the future technologies multiple technologies and systems maybe integrated and connected
together. In previous technologies, the individual systems are separated in operations. A
mobile did only making calls and connecting peoples. Later on browsing abilities were
included in mobile phones. Also in PC generations we could see this kind of gradient. Now
we could get any details from any modern devices. Also they were interconnected each other.
Our personal mobile phone and laptop can be connected to each other and we could locate
our mobile phone anywhere from the earth. Nowadays all our personal things such as
vehicles and our home appliance are could be connected to our devices. These improves the
reliability also security threads to individuals. If one hacked one of our device then he could
control all of the devices that are connected within it. Also, it creates a real mess within the
networks. Also scholars states that it’s possible to make sensorization of all the data using
IoT. Including refrigerator, ovens to collect data’s about the user. AI’s are in process to
collect trashes autonomously. For this purpose trash data’s are needed to be collected. Also,
this technology could destroy job opportunities of many. In the demand of technology, new
devices can be assembled using existing parts. For example a USB charger can be made using
a removable battery in seconds. And the link between OS and programming could be fade
away. Kernal can be developed for above purpose. OS may be modified as just functions
instead of having pipes and processes.
2.
a)
1. Process Identifications
o This uniquely identified by the user Identification and pointer connecting it it’s
descriptor
2. Process Status
o Indicates the current status of the process
3. Process state
o Indicates the current status of the process
4. Accounting
o What kind of process is used for how long it’s used.
5. Following are the 5 states in a process cycle;
Holds a job until the processor gives the permission
6. Hold
Ex: When opening a word document it awaits for the
approval
The process receives approvals to continue. Ready
Ready processes are waiting to have the processor allocated
to them.
The process currently gets processed. The processor
gives out its instruction.
Running
Ex: The word document opens and runs
It waits for a resources such as waiting for user input,
file or it searches for failures and waits for a solution
Waiting
Ex: If an error occurs while opening the word
document, it awaits for a solution and then goes back
to the ready state and once again runs
The process terminated after its completion.
Finishing Afterwards the process is removed from the main
memory.
b)
i) Exception is the process of stopping the operation of the CPU permanently or temporarily.
When undesired function occurs in operating system or in software, CPU tends to stop the
operation. Division by zero is an example for exception.
ii) Interrupt is a process that made to control the current operation of the PC. These interrupts
may be sent by hardware or softwares. Terminals send a signal to OS and OS will perform
the event handling actions. For example if we click minimize button of a file immediately all
the process has to be stopped and the file must be minimized.
iii) System call is a way of requesting a service from the kernel by the computer program. In
this way the programs will communicate with the OS. System call provides it’s service via
API (Application program Interface) to the user. It provides services like Main memory
management and input output device handling.
iv)
c) Kernel is used to manage system resources in the operating system. It’s the first program
that runs when the PC is turned on. Microkernel is one of the classification of the kernel. So it
serves it’s primary job as managing system resources. In microkernel, user services and
kernel services are implemented in separate address space. It contains the near minimum
amount of functions and features which are required for the implementation of the operating
system. These include,
The execution of servers,
Separate programs that assumes kernel functions such as device drivers,
GUI sever etc.
This provides mechanism to run the basic function of a system. In order to increase the
implementation flexibility it allows other parts of OS to implement efficiently. The
communication is done by passing messages.
Advantages:
Easier to maintain than monolithic kernel.
Resistance to Crash
Portable
Smaller in size
Disadvantages:
Process slowly because of additional messages
The main different between microkernel and monolithic kernel is that as I mentioned before
microkernel’s user service and kernel service are implemented in separate address space but
monolithic kernel’s kernel service and user services are implemented in the same address
space. So the size of the monolithic kernel is larger than microkernel. Monolithic is high
performance. But any crash in one service will crash all the upcoming services. Microkernel
doesn’t work in this manner. Monolithic kernel provides CPU scheduling. If user has to
modify or add new service to the monolithic kernel then he has to modify all the other
services. But in microkernel modification and implementation are easy. Microkernel process
execution is slow and monolithic process execution is fast. Coding monolithic coding is more
easier than microkernel coding. Monolithic works to kernel and microkernel works to
operating system.