220 likes | 881 Views
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.
E N D
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 • 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 (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
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.
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 • Two components to memory management: • First: Physical memory-management system deals with allocating and freeing pages, groups of pages, and small blocks of memory. • 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 • It’s security model can be classified in two groups: • Authentication: Making sure that nobody can access the system without first providing that she has entry rights • 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 • 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 hosts. • Internally, networking in the Linux kernel is implemented by three layers of software: • The socket interface • Protocol drivers • 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 • 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.
References • www.whatis.com • www.ask.com • Operating System Concepts, Fifth Edition