Sie sind auf Seite 1von 8

,Polytechnic University of the Philippines

Sto. Tomas Branch

Sto. Tomas, Batangas

OS 1 AND OS 2

Comparative Paper on Operating Systems

COMP20103 – 1ST Semester AY2019-2020


Submitted to:

Ms. Ruth R Oclida

Submitted by:

Genite.Ealto Cliff

Dict 2-1

3 Oct. 19

I. Introduction
Operating system as a heart of every devices plays the most important role. Operating system is a
software as well as a hardware that support computer’s basic function, such as scheduling tasks,
executing applications, and controlling peripherals. Nowadays, there are five most famous operating
system this includes the Microsoft Windows, Apple iOS, Google Android OS, Apple macOS and the
Linux Operating System. In this paper I choose to study the Windows OS and Linux OS. We will know
the difference of the Microsoft Windows and Linux operating system based on their history, who
develops, their own scheduling algorithm, memory management, and last but not the least their process
synchronization.
II. First Operating System (Windows OS)
a. History and Developer
Windows OS is a computer operating system that is developed by the Microsoft
Corporation. Year 1985 when Microsoft Windows released their first version. In 1987, windows 2
arrive with better graphic including the overlapping windows. One year later Microsoft becomes the
largest PC software maker. In 1990, Microsoft sold 10 million copies of windows 3.0 added some
game features and the screen resolution. Afterwards, 1995 when the windows mania hit in all-time
high in. Next, the windows 98 was released across the board upgrade and when year 200 comes,
Microsoft windows 2000 released. 2001, when windows XP released fast, stable and tuned to the
internet. Sfter 6 years of awesome Microsoft Vista ended. 2007, when Windows 7 released. 2012,
when the Microsoft released the Windows 8. In present, we all now have the Windows 10 which is
master, and less hassle to use.
b. Scheduling Algorithm
Previously, a Microsoft Windows 3.1x uses a non-preemptive scheduler which means that
it did not interrupt the programs. It relies on the program to end and tell the operating system that it
didn’t need the processor and could move on to the another process. Sometimes called, cooperative
multitasking. On the other hand, Windows 95 introduced a rudimentary preemptive scheduler;
however, for legacy support opted to let 16 bit applications run without preemption. Later on, the
Windows NT- based operating system use a multilevel feedback queue and in Windows Vista uses
a priority scheduler for the I/O queue so that the disk defragmenters and other such programs do not
interfere with foreground operation.
c. Memory management
All Microsoft Windows has its own virtual address space that enables addressing up to
4GB of memory. Each process on 64-bit Windows has a virtual address space of 8 terabytes. All
threads of a process can access its virtual address space. However, threads cannot access memory
that belong to another process, which protects a process from being corrupted by another process.
d. Deadlock Handling (Monitoring Deadlock Detection)
Once Deadlock Detection finds a violation, the !deadlock kernel debugger extension can
be used to investigate exactly what has occurred. It can display the lock hierarchy topology as well
as the call stacks for each thread at the time the locks were originally acquired. For best results, the
driver in question should be running on a checked build of Windows, since that allows the kernel to
obtain more complete run-time stack traces. There is a detailed example of t he !deadlock extension,
as well as general information about debugger extensions, in the documentation in the Debugging
Tools for Windows package.
e. Process synchronization
In Windows, to synchronize access to a resource, you can use one of the synchronization
objects in one of the wait functions. Each synchronization object instance can be in either
a signaled or non-signaled state. A thread can be suspended on an object in a non-signaled state;
the thread is released when the object enters the signaled state. The mechanism is: a thread issues
a wait request to the NT executive by using the handle of the synchronization object. When an
object enters the signaled state, the NT executive releases all thread objects that are waiting on the
synchronization object. The wait functions allow a thread to block its own execution until a
specified non-signaled object is set to the signaled state. The functions described in this section
provide mechanisms that threads can use to synchronize access to a resource.
III. Second Operating System (Linux)
a. History
August 1991, when Linus Torvals posted announcement that his doing a free operating
system just a hobby wont be big and professional like gnu for 386 and 486 computer it is also a
multi-threaded file system but it’s not very portable because it only works on 386. In 1992, it was
re-licensed under GNU GPL and never moves to GPL v3. In 1993 the development of Slackware
and the Debian are released. By 1994, Linus has concluded that the components that make up the
kernel are mature enough for it to be called version 1 so he released a version 1 of Linux. Linux
version 1 was only works on IBM compatible PC’s with an Intel 386 or 486 processor. Year later
(1995) releases the version 1.2 for the first time and it’s actually been ported to other hardware
including the DEC Alpha, MPIS and Sun SPARC. On another year 1996, the version 2.0 of the
Linux kernel is released and it include the SMP support. Also in 1996, the development starts on
2.1 and establishes the pattern of 2.1, 2.3, and 2.5 being the unstable development kernels. 1999
when the Linux kernel hit its 2.2 version with Global Spinlocks removed and Frame-buffer console.
Also, for the first time they separated the Linux maintainer for older version – Alan Cox. By the
time of 2001, the Linux kernel is now 2.3. They include the USB support, the Bluetooth support and
the ext3. Also, 2.5 version development started and the first Linux kernel developers summit takes
place. In 2001 also, 2.4.25 version adds ext3 which is journal file system. By keeping a log of things
that is not yet committed to the file system, journaling improves reliability and eliminates the need
to check the file system after an unclean shutdown.
In 2002, Linus the man who started the Linux used the bitkeeper that help him automate
the process. 2003, the released of Linux 2.6. this includes the scheduler where every algorithm in
the scheduler should complete in constant time regardless of the number of running processes. The
scheduler also has a perfect SMP scalability and stays the current branch for 8 years. 2005 when
Linux stop using the bitkeeper and used git. Gits is used by open source advocate and its used in
enterprises all over the world today. In 2006, the first long term supported (LTS) kernel release:
2.6.16.
In 2007, the released of Android and the heart of Android is Linux kernel. In fact, Android
cupcake version 1.9 - 2.6.27 released in 2009. And today the Android Pi which is version 9 refuses
version 4.9.84 or newer. And, Google says there are two billion monthly active android users around
the world today. When 2008 comes, the ext4 added and support for volumes with sizes around 1
exabyte and files with sizes around 16 terabytes. 2011, the version 3.0 of the Linux kernel is
released. Linus Torvalds announced the release of Linux 3.0 starting the words: so, there it is. Gone
are the 2.6<bignum>days, and 3.0 is out. 2012, when the support for ARMS big.little support for
the Intel i386 was removed. Also in 2012, the launch of Raspberry Pi. All models are uses ARM
based processors including the ARMv6, ARMv7, and ARMv8 being the 64-bit variant across all
their different products.
In 2015, the version 4.0 of the Linux relaeased. The live patching includes; it can add a
security patches without rebooting the devices. 2016 when Linux celebrated their 25 years. And
2017 when the Linux 4.12 adds USB Type-C support including the Type-C power delivery. Lastly
2018, the latest kernel version of Linux; 4.18.
b. Description
Basically, the Linux refers only to the presence of the kernel itself. To build out a full
operating system. Linux distribution often include tooling and libraries from the GNU project and
other sources. Actually most of the developers uses the Linux to build and run devices such as
Chromebooks.
c. Developer
Linus Torvals was the developer of the Linux. At first he posted an announcement saying
he is doing a free operating system just a hobby and won’t be big and professional like other
operating system and that where Linux started.
d. Scheduling algorithm
Linux kernel before uses the Multi-level feedback queue as a scheduling algorithm. Multi-
level is a scheduling algorithm that give preference to short job first, it also separate processes into
categories based on their need for the processor. Nevertheless, when Linux releases the Linux kernel
2.6.23 it uses the completely fair scheduler. A completely fair scheduler is a process scheduler that
handles CPU resource allocation for executing processes and it aims to maximize overall CPU
utilization while maximizing also the interactive performance. In addition, both scheduling
algorithm uses a pre-emption.
e. Memory Management
Linux memory management includes the implementation of virtual memory and demand
paging, memory allocation for both kernel internal structures and user space programs. Furthermore,
it is a complex system with many configurable settings. It also has its own jargon.
f. Deadlock Handling
Linux, operating system kernel is currently organizing different platforms from the ARM
system through the Sun SPARC to the IBM PC due to the low level support for the various
platforms, including the multiprocessor support they comprises assembler level implementation for
the “spinlock”. A spinlock will keep other kernel threads out of a spinlocked region of code while
the code is being executed. Furthermore, spinlocks can give rise to runtime deadlocks in various
ways. For example, attempting to take the same spinlock again while already within a spinlocked
region of code is deadlock. The processor will spin in the busy loop within the spinlock call, waiting
for itself to release its own spinlock, which it will never do. Linux spinlocks are non-recursive with
such that case, there are few debugging mechanism that can be activated in the kernel that can detect
spinlock deadlocks at runtime. In order to enable this mechanism, the kernel has to be compiled in
debugging mode for spinlocks, and with the certain watchdog functions and monitors included.
g. Process Synchronization
In Linux, process synchronization involves the time-slice for each process. It could be done
using the fork() command. This creating process is called the parent process and the created process
in the child process. A child process can have only one parent process but a parent process may have
many children. Both the parent and child process have the same memory image, open files, and
environment strings. There are two major process in Linux, first the orphan process. Orphan process
First Operating System Second Operating System
(Windows) (Linux)

Scheduling Algorithm  A non-preemptiove, after  from multi-level feedback


developing it became pre- queue to Completely fair
emptive and later on it uses scheduler
multilevel feedback queue
Memory Management  virtual address space that  virtual memory and demand
enables addressing up to 4GB paging, memory allocation
of memory. Each process on for both kernel internal
64-bit Windows has a virtual structures and user space
address space of 8 terabytes. program. Later on uses the
jargon

Deadlock Handling  activate kernel debugger  activate debugging


mechanism in case there’s a
spinlock happened

Process  using synchronization and  using the fork command


Synchronization wait function
is a process in which they could still run even though their parent process has terminated or finished.
Correspondingly, this can be orphaned intentionally or not. An intentional orphaned process runs in
the background without any manual support. This is usually done to start an indefinite running
services to complete a long – running job without a user attention. An unintentional orphanes
process is created when its parent process crashes or terminates. It can be avoided using the process
group mechanism. Subsequently, the daemon process is a process that runs in background it is not
directly control/controlled by the user. This process are usually started when the system is
bootstrapped and they terminate when the system is shut.
IV. Comparative Matrix
V. Analysis/Conclusion

The two operating system Microsoft Windows and Linux both have their good and bad
side. Linux is open source operating system whereas Windows OS is commercial. Linux has access
to source code and alters the code as per user need whereas Windows does not have access to source
code. Linux will run faster than windows latest editions even with a modern desktop environment
and features of the operating system whereas windows are slow on older hardware. Linux
distributions don’t collect user data whereas Windows collect all the user details which lead to
privacy concern. Linux is more reliable then windows as in Linux we can kill application if they
hung through x kill command whereas, in windows, we need to try multiple times to kill it. Linux
supports a wide variety of free software’s than windows but windows have a large collection of
video game software. In Linux software cost is almost free as all programs, utilities, complex
applications such as open office are free but windows also have many free programs and utilities
but most of the programs are commercial. Linux is highly secure because it’s easy to identify bugs
and fix whereas Windows has a large user base and becomes a target for developers of viruses and
malware. Linux is used by corporate organizations as servers and operating system for security
purpose at Google, Facebook, twitter etc. whereas windows are mostly used by gamers and business
users. For me Linux is better than Windows but the windows is the most used OS, it is the common
OS used in computers and laptop, example when you buy a laptop or a desktop the installed OS is
Windows OS. Also the Linux is free but the Microsoft is commercial. This comparative paper gives
me an idea of installing and trying Linux because it seems better and faster than Microsoft Windows.

References:

Windows OS
Erik Gregersen ©2019. Hypertext transfer protocaol: https://www.britannica.com/technology/Windows-OS

Microsoft (07 March 2017).hypertext transfer protocol: https://docs.microsoft.com/en-us/windows-


hardware/drivers/devtest/deadlock-detection

Microsoft (May 31, 2018). Hypertect transfer protocol: https://docs.microsoft.com/en-


us/windows/win32/memory/about-memory-management

Wikipedia (2019). Hypertext transfer protocol: https://en.m.wikipedia.org/wiki/Scheduling_(computing)

Linux

[Gary., A Brief History of Linux, Volume 1. ©2017]

Hypertext transfer protocol: © Copyright The kernel development community.


https://www.kernel.org/doc/html/latest/admin-guide/mm/index.html

Hypertext transfer protocol:


https://www.researchgate.net/publication/221033382_Static_Deadlock_Detection_in_the_Linux_Kernel

[Kathleen Juell., History of Linux. ©2017]

Tutorials point Hypertext Protocol: https://www.tutorialspoint.com/process-synchronization-in-linux

Wikipedia (2019). Hypertext transfer Protocol: https://en.wikipedia.org/wiki/Completely_Fair_Scheduler

Das könnte Ihnen auch gefallen