Linux vs. Windows NT. Rehana Shrestha. Linux vs. Windows NT . History Design Principles System Components Kernel Memory Management File Systems Security Networking. History of Linux.
PowerPoint Slideshow about 'Linux vs. Windows NT' - nadalia
An Image/Link below is provided (as is) to download presentation
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
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
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.
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.
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.
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.
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
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
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 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.
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:
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
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.
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.