linux vs. windows nt rehana shrestha. linux vs. windows nt history design principles system...

22
Linux vs. Windows NT Rehana Shrestha

Upload: steven-jenkins

Post on 12-Jan-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

Linux vs. Windows NT

Rehana Shrestha

Page 2: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

Linux vs. Windows NT

History

Design Principles

System Components

Kernel

Memory Management

File Systems

Security

Networking

Page 3: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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

Page 4: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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

Page 5: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

Design Principles of Linux

Multi-user, multitasking system with a full set of UNIX-compatible toolsruns 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.

Page 6: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 7: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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 passingInternational use: support for different locales via the national language support API.

Page 8: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

 

Page 9: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 10: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 11: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 12: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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

Page 13: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 14: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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

Page 15: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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)

Page 16: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 17: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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

Page 18: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 19: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

Networking in Linuxsupports 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 interfaceb. Protocol driversc. Network device drivers

Page 20: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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

Page 21: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

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.

Page 22: Linux vs. Windows NT Rehana Shrestha. Linux vs. Windows NT History Design Principles System Components Kernel Memory Management File Systems Security

References

www.whatis.com

www.ask.com

Operating System Concepts, Fifth Edition