what is an operating system
play

What is an operating system? "Peterson and Silbershatz" - PowerPoint PPT Presentation

Operating Systems slide 1 gaius What is an operating system? "Peterson and Silbershatz" "We can view an operating system as a resource allocator. A computer system has many resources (hardware and software) that may be required


  1. Operating Systems slide 1 gaius What is an operating system? "Peterson and Silbershatz" "We can view an operating system as a resource allocator. A computer system has many resources (hardware and software) that may be required to solve a problem: CPU time, memory space, file storage space, I/O devices, and so on. The operating system acts as the manager of these resources and allocates them to specific programs and users as necessary for their tasks. Since there may be many, possibly conflicting requests for resources, the operating system must decide which requests are allocated resources to operate the computer system efficiently and fairly."

  2. Operating Systems slide 2 gaius Windows NT many elements influenced the design of Windows NT it provides the same type of GUI found in the earlier Windows products including the use of windows pull down menus point and click interaction

  3. Operating Systems slide 3 gaius NT components internal interaction is inspired by the Mach operating system, which is in turn based on UNIX highly modular can execute on a variety of hardware platforms supports applications written for a variety of other operating systems as with virtually all operating systems, NT separates application oriented software from operating system software. (Kernel mode and user mode)

  4. Operating Systems slide 4 gaius Design goals of NT like any commercial operating system, Windows NT is the result of a complex interaction between idealized goals and market-driven realities Compatibility it should support a wide range of existing software and legacy hardware. (DOS, Windows 3.1 compatibility) Robustness it should resist attacks of naive or malicious users, individual programs should be isolated from each other Portability it should run on a wide variety of current and future hardware platforms

  5. Operating Systems slide 6 gaius Design goals of NT Extendibility it should be possible to add new features and support new I/O devices Performance it should give reasonable performance on commonly available hardware. Take advantage of multiprocessing hardware

  6. Operating Systems slide 7 gaius Major building blocks of NT Overall architecture of the NT kernel mode components

  7. Operating Systems slide 8 gaius Hardware abstraction layer HAL is a thin layer of software that presents the rest of the system with an abstract model of any hardware that is not part of the CPU HAL exposes a well defined set of functions that manage such items as: Off chip caches Timers I/O buses Device registers Interrupt controllers DMA controllers various system components use these HAL functions to interact with CPU hardware HAL routines make the kernel and device drivers binary compatible across platforms with the same CPU architecture

  8. Operating Systems slide 10 gaius Kernel consists of the most fundamental components of the operating system manages scheduling and context switching exception and interrupt handling multiprocessor synchronization Executive the most complex kernel mode component in Windows NT implement many of the basic functions normally associated with an operating system (Process manager, virtual memory manager, I/O manager, system call interface) the executive uses the HAL to interact with any CPU hardware

  9. Operating Systems slide 11 gaius Layered device drivers in NT the term driver normally refers to a piece of code that manages some peripheral or device NT takes a more flexible approach allows several driver layers to exist between an application program and hardware Device drivers manage actual data transfer and control operations for a specific type of physical device includes starting stopping I/O, handling interrupts and handling errors Intermediate drivers

  10. NT allows you to place any number of layers on top of a physical device driver intermediate layers provide a way of extending the capabilities of the I/O system without having to modify the drivers below them

  11. Operating Systems slide 13 gaius Example: Fault tolerant disk driver is implemented as a layer that sits between the file system and drivers for any physical disks. intermediate drivers separate hardware specific operations from more general management issues here the intermediate driver is referred to as a class driver and the hardware driver is called a port driver this structure makes it easier to target a wider range of hardware since only the port code needs to be rewritten

  12. Operating Systems slide 14 gaius File system drivers (FSDs) the following FSDs are supplied by Microsoft: Type Description FAT Windows 95 extended MSDOS file system NTFS Windows NT high reliability file system HPFS OS/2 high performance file system CSFS ISO 9660 CDROM file system MSFS Mailshot file system NPFS Named pipe file system RDR LAN Manager redirector unfortunately, you cannot develop file system drivers using the standard NT device driver kit also note the absence of NFS .

  13. Operating Systems slide 16 gaius Device driver

  14. Operating Systems slide 17 gaius UNIX vs NT NT available on other architectures Alpha, Mips, Power PC UNIX also available on other architectures, all of the above and more NT will run all Windows 3.1 software and MSDOS software UNIX may or may not depending on version, vendor generally unlikely

  15. Operating Systems slide 18 gaius UNIX vs NT both NT and UNIX (Solaris, Sequent) will operate with multiple processors both OSs have TCP/IP and associated utilities in different forms NT doesn’t hav e NFS though (which considered slow, but open!) nevertheless much research has been done to improve NFS performance both OSs support filesystems with long filenames NT will easily integrate with Novell, MACOS UNIX needs extra packages (eg samba) which has to be configured by an expert

  16. Operating Systems slide 19 gaius UNIX vs NT UNIX is still more flexible in resource sharing share any peripheral across the network all peripherals are as files, files can be on the network etc Windows NT NTFS is faster than NFS UNIX buffer cache is superior to NT thus it is not clear which OS will be faster! measure it! TCP/IP code is more mature than NT, witness problems in J111

  17. Operating Systems slide 20 gaius UNIX vs NT NT is much easier to manage NT is much easier to install NT is more tolerant of different hardware devices due to the HAL

  18. Operating Systems slide 21 gaius Network Operating Systems (Unix) UNIX started life as a research project within AT&T in 1970 since that time it has grown in popularity and functionality there are some excellent books available which describe UNIX Berny Goodheart & James Cox, "The magic garden explained" , Prentice-Hall . Smoot Carl-Mitchell & John S. Quarterman, "Practical Internetworking with TCP/IP and UNIX" , Addison Wesley . W.Richard Stevens, "UNIX Network Programming" , Prentice-Hall .

  19. Operating Systems slide 22 gaius UNIX networking history the first networking functionality added to UNIX was UUCP (UNIX to UNIX copy) in 1976 provided a mechanism to transfer files from different UNIX machines which typically only had modem connectivity implemented was a batch-oriented system that was typically used between systems remote printing and email were added in the Berkeley release of the Version 7 UNIX for the PDP-11 (called 2.x BSD) (Berkeley Standard Distribution) TCP/IP was released in 1981 in the 4.1 BSD UNIX

  20. Operating Systems slide 23 gaius Unix history TCP/IP opened the flood gates for networked applications NFS - network file system remote job execution remote login, telnet, ftp, R tools talk remote procedure calls and XDR news client server computing

  21. Operating Systems slide 24 gaius UNIX networking history the Berkeley releases of UNIX 4.1 BSD and 4.2 BSD provided the first UNIX systems with widespread network support (1982-1983) many Computer Science departments started to buy more than one VAX with Ethernet cards and so created UNIX LANs April 1986 4.3 BSD was released June 1988 a revision of the 4.3 BSD referred to as the Tahoe distribution was meant to be an interim release for testing by experienced users importantly it contained source code which was not licensed by AT&T so you could legally use the source code for your own products reference software was available for TCP/IP & sockets

  22. Operating Systems slide 25 gaius UNIX network services rexd remote job execution daemon allows a user to say: on floppsie gcc -g largeprogram.c the on command makes the C compiler execute on a machine called floppsie all input/output has to be rerouted to floppsie in order that the compilation will work. telnet - the ability to login into another machine NFS - Network file system. RPC - Remote procedure call package (1984)

  23. normally uses the XDR facility and it is an interprocess communication mechanism that allows programmers to write client-server based applications

Recommend


More recommend