Linux vs. Windows NT - PowerPoint by ozb45831


									Linux vs. Windows NT

    Rehana Shrestha
 Linux vs. Windows NT
Design Principles
System Components
Memory Management
File Systems
                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
  History of Windows NT
1988 by Microsoft; portable operating system that supported
both the OS/2 and POSIX application programming interfaces
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
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
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
  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.
  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.
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.
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.
           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.
       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.
   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
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.
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
    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)
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.
                  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
      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.
          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
   Internally, networking in the Linux kernel is implemented by
   three layers of software:
a.     The socket interface
b.     Protocol drivers
c.     Network device drivers
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
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
    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.
Operating System Concepts, Fifth

To top