2. Linux vs. Windows NT
Prepared ByPrepared By:
Vimal N Patel
MCA 5th
Sem
Roll no : 04021
3. Linux vs. Windows NT
History
Design Principles
System Components
Kernel
Memory Management
File Systems
Security
Networking
4. History of Linux
1991; self-contained kernel for 80386 processor, the first true
32-bit processor in Intel’s range of PC-compatible CPUs
Development revolved largely around the central operating-
system kernel - that manages all system resources and that
interacts directly with the hardware
The Kernel is an entirely original piece of software developed
from scratch by the Linux community
The Linux system includes a multitude of components, some
written from scratch, others borrowed from other development
projects or created in collaboration with other teams
Linux distribution includes all the standard components of the
Linux system, a set of administrative tools to simplify the initial
installation and upgrading of Linux, and to manage installation
and de-installation of other packages on the system
5. History of Windows NT
1988 by Microsoft; portable operating system that supported
both the OS/2 and POSIX application programming interfaces
(APIs).
NT was supposed to use the OS/2 API as its native
environment, but during the development NT was changed to
use the 32-bit Windows API for Win32 API, reflecting the
popularity of Windows 3.0
The first Version of NT were Windows NT 3.1 and Windows
NT 3.1 Advanced Server.
In Version 4.0, NT adopted the Windows 95 user interface
and incorporated Internet web-server and browser software
6. Design Principles of Linux
Multi-user, multitasking system with a full set of UNIX-
compatible tools
runs on a wide variety of platforms, in its early days it was
developed exclusively on PC architecture, run on a
multiprocessor machine with hundreds of megabytes of main
memory and many gigabytes of disk space, but it is still
capable of operating under 4 MB of RAM
Speed and efficiency are important design goals, but much of
the recent and current work has concentrated on
Standardization.
Supporting a wide base of applications is important for any
operating system, so implementation of standards is a major
goal for Linux development even if the implementation is not
formally certified. There is a substantial expense involved in
certifying an operating system’s compliance with most
standards.
7. Design Principles of NT
Extensibility, portability, reliability, compatibility, performance,
and international support
Extensibility: hopes to keep up with advancement in
computing technology
NT uses loaded drivers in the I/O system, so that new file
systems, new kinds of I/O devices, and new kinds of
networking can be added while the system is running
NT utilizes a client-server model like the Mac operating
system, and supports distributed processing by remote
procedure calls
Portable: it can be moved from one hardware architecture to
another with relatively few changes.
8. Design Principles of NT
Reliability: ability to handle error conditions, including the
ability of the operating system to protect itself and its users
from defective or malicious software.
NT comes with a file system, called the native NT file system
(NTFS), that recovers automatically from many kinds of file
system errors after a system crash.
Compatibility: NT can run the executable binaries for many
programs compiled for Intel X86 running MS-DOS, 32-bit
Windows, OS/2, LAN Manager, and 32-bit Windows.
Performance: communicate with one another efficiently by a
local-procedure-call facility that provides high-performance
message passing
International use: support for different locales via the national
language support API.
9. System Components of Linux
Kernel: responsible for maintaining all the important
abstractions of the operating system, including such things as
virtual memory and processes
System libraries: a standard set of functions through which
applications can interact with the kernel, and which implement
much of the operating system functionality that does not need
the full privileges of kernel code
System utilities: programs that perform individual, specialized
management tasks.
10. System Components of NT
The architecture of NT is a layered system of modules.
The main layers are the hardware, abstraction layer, the
kernel and the executive that run in protected mode, and a
large collection of subsystems that run in user mode.
11. Kernel of Linux
First Linux kernel was version 0.01, dated May 14th
1991.
It has no networking, ran on only 80386 compatible Intel
processors and PC hardware, and had extremely limited
device-driver support
In March 14, 1994 Linux 1.0 was released. This included
support for UNIX’s standard TCP/IP networking protocols as
well as a BSD compatible socket interface for networking
programming. Device-driver support was added for running IP
over an Ethernet or over serial lines or modems.
12. Kernel of Linux Cont..
In March 1995, the 1.2 kernel was released. It include support
for a much wider variety of hardware, including PCI hardware
bus architecture, support for 80386 CPU’s virtual 8086 mode,
networking stack was updated to provide support for the IPX
protocol, and a more complete IP implementation was provided
that included accounting and firewall functionality
Linux 2.0 was released in June 1996. This include support for
multiple architectures, including a fully 64-bit native Alpha port,
and support for multiprocessor architectures. Linux distributions
based on 2.0 are also available for the Motorola 68000-series
processors and for Sun’s Sparc systems. It also included much
improved TCP/IP performance, and a number of new
networking and ISDN support.
13. Kernel of Windows NT
The kernel of NT provides the foundation for the executive
and the subsystems. It has four main responsibilities: thread
scheduling, interrupt and exception handling, low-level
processor synchronization, and recovery after a power failure.
The kernel is object-oriented. An object type in NT is a
system-defined data type that has a set of attributes and a set
of methods. The kernel uses two sets of objects. The first set
of objects is the dispatcher objects. These control dispatching
and synchronization in the system. The second set of kernel
objects comprises the control objects. These objects include
asynchronous procedure calls, interrupts, power notify, power
status, process, and profile objects
14. Memory Management of Linux
1. Two components to memory management:
a. First: Physical memory-management system deals with allocating
and freeing pages, groups of pages, and small blocks of
memory.
b. Second: Handles virtual memory, which is memory mapped into
the address space of running processes.
15. Memory Management of NT
The Win32 API provides several ways for an application to
use memory: virtual memory, memory-mapped files, heaps,
and thread-local storages.
One way to use memory is by memory mapping a file into its
address space. Memory mapping is also a convenient way for
two processes to share memory – both processes map the
same file into their virtual memory. Memory mapping is a
multistage process
16. File Systems of Linux
Linux kernel handles various different types of file by hiding
the implementation details of any single file type behind a
layer of software, the virtual file system (VFS)
17. File Systems of Windows NT
Historically, MS-DOS systems have used the file-allocation table
(FAT) file system. The 16-bit FAT file system has several
shortcomings, including internal fragmentation, a size limitation
of 2 GB, and a lack of access protection for files. The 32-bit FAT
file system has solved the size and fragmentation problems, but
the performance and features are still weak by comparison with
modern file systems. The NTFS is much better. It was designed
with many features in mind, including data recovery, security,
fault tolerance, large files and file systems, multiple data
streams, UNICODE names, and file compression.
18. Security of Linux
1. It’s security model can be classified in two groups:
a. Authentication: Making sure that nobody can access the
system without first providing that she has entry rights
b. Access control: Providing a mechanism for checking
whether a user has the right to access a certain object,
and preventing access to objects as required
19. Security of Windows NT
1. Security of an NTFS volume is derived from the NT object
model. Each file object has a security descriptor attribute
stored in its MFT record. This attribute contains the access
token of the owner of the file, and an access-control list that
states the access privileges that are granted to each user that
has access to the file.
20. Networking in Linux
supports number of protocols native to other, non-UNIX
operating systems such as Apple-Talk and IPX.
The important set of protocols in the Linux networking system
is the Internet Protocol (IP) suite. This suite comprises a
number of separate protocols. The IP implements routing
between different hosts anywhere on the network. On top of
the routing protocol are built the UDP, TCP, and ICMP
protocols. The UDP protocol carries arbitrary individual
datagrams between hosts, whereas TCP implements reliable
connections between hosts with guaranteed in-order delivery
of packets and automatic retransmission of lost data. ICMP is
used to carry various error and status messages between
hosts.
Internally, networking in the Linux kernel is implemented by
three layers of software:
a. The socket interface
b. Protocol drivers
c. Network device drivers
21. Networking in Windows NT
NT supports both peer-to-peer and client-server networking
The networking components in NT provide data transport,
inter-process communication, file sharing across a network,
and the ability to send print jobs to remote printers.
NT comes with several networking protocols
Server message-block protocol is used to send I/O requests over
the network.
Network Basic Input/Output System (NetBIOS) is a hardware-
abstraction interface for networks, which is used to establish
logical names on the network, to establish logical connections or
sessions between two logical names on the network, and to
support reliable data transfer for a session via either NetBIOS or
SMB requests
22. Networking in Windows NT
a. The NetBIOS Extended User Interface (NetBEUI) was introduced
by IBM in 1985 as a simple, efficient networking protocol for up to
254 machines. It is the default protocol for Windows 95 peer
networking and for Windows for Workgroups.
b. The point-to-point tunneling protocol (PPTP) is a new protocol
provided by Windows NT 4.0 to communicate between remote-
access server modules running on NT machines that are
connected over the Internet.
The data-link control (DLC) protocol is used to access IBM
mainframes and HP printer that are connected directly to the
network.
The AppleTalk protocol was designed as a low-cost connection
by Apple so that Macintosh computers could share files. NT
systems can share files and printers with Macintosh computers
via AppleTalk if an NT server on the network is running the
Windows NT Services for Macintosh package.