UNIX & Windows NT Name: Jing Bai ID: 90297 Date:8/28/00
Content 1. Introduction 2. Kernel Architecture 3. File System 4. Memory Management 5. Security 6. Conclusion
Introduction • UNIX: • It is a machine independent operating system. Ken Thompson developed it in 1969 • Unix OS was written by programmer to programmer. It use C language to instead of the previously used assembly language • Time-sharing, multi-user, multi-tasking are basic designed in the system(Multiple users can have multiple tasks running at same time) • Windows NT • Microsoft released it in 1993. It was a full 32-bit OS • Its design goals include extensibility, portability, reliability, compatibility, performance and international support.
User program library Unix shell Unix command program library us Use level Kernel level System call interface File subsystem Process management subsystem inter-process communication process scheduling Memory management Disk block cache Int process 1 Swapper process 0 Character I/O Block I/O Derive drivers Hardware control-interrupt service Kernel level Hardware level Hardware =Process Unix Kernel model Figure 1
Windows NT kernel mode Logon process O/S application Win 16 application Win 32 application MSDOD application POSIX application Security subsystem O/S system Win 16 VDM MSDOS VDM POSIX system Authentication package Win 32 subsystem Security-account- manage database User mode Executive I/O manager File system cache manager Virtual- memory- manager Process manager Object manager Security- reference- monitor Local procedure call facility Device drivers network drive Kernel Hardware abstraction Layer Kernel mode Hardware Figure 2
UNIX File System • UNIX file is a Hierarchical file structure. All the files are organized into a multi-leveled hierarchy called a directory tree • The file system supports two main objects: file and directory • The directory contains a root directory with many subdirectories • File is stored as an array of fixed-size data blocks with perhaps a fragment • The block sizes are set during a file system creation
The root directory / A B dev Other directories and file AA AB d1 d2 a1 a2 a3 f1 Special files in the device directory/dev Normal files at the leaves UNIX File System Interface Directory files at interior node
UNIX File System Implementation • IN Unix system, a file is represented by an Inode (Index Node) • An Inode is a record that stores most of the information about a file on the disk, such as its size and location. Each file has an own indoe, all inodes have the same size • The inode contains pointer that points to file block. In Unix, the first 12 pointers of inode point to blocks directly, so small files can be accessed efficiently. • Example for READ file
Read(4...) File-structure table In-core inode list Tables of open files UNIX mapping of a file descriptor to an Inode Data blocks Inodelist Disk space System space User space
UNIX Memory Management • UNIX system uses swapping to handle memory contention among processes. Processes are swapped out until enough memory is available. The process is either in the memory or on the disk. • Decisions regarding which processes to swap in or out are made by the scheduler process. The scheduler wakes up at least once every 4 seconds to check for processes to be swapped in or out • A process is more likely to be swapped out if it is idle, has been in main memory a long time or it is large • A process is more likely to be swapped in if it has been swapped out a long time, or is small
Unix Memory Management • Berkeley introduced paging to UNIX. Paging is added in order to handle a large programs . The basic idea is : some programs don’t need entirety bring into memory to run. Such as text, data. We can bring them to memory by dynamic. When we need them, we can bring in. • Paging can eliminate the external fragmentation of memory. Page-replacement algorithm can keep enough free frames to support the executing processes.
Window NT File System • The fundament entity in NTFS is a volume. A volume is created by the NT disk administrator utility, and is based on a logical disk partition. The volume may occupy a portion of a disk, may occupy an entire disk, or may span across several disks. In NTFS, all information about the volume are stored in a regular file. • NTFS does not deal with individual sectors of a disk, but instead uses clusters as the unit of disk allocation. A cluster is a number of disk sectors that is a power of 2. The cluster size is configured when an NTFS file system is formatted.
Window NT File System • A file in NTFS is a structured object consisting of attributes. Each attribute of a file is an independent byte stream that can be created, deleted, read, and written. • Every file in NTFS is described by one or more records in an array stored in a special file called the master file table (MFT). The size of a record is determined when the file system is created.
Windows NT Memory Management • The virtual-memory portion of the NT executive is the virtual-memory manager(VM) • The VM manager in NT uses a page-based management scheme with a page size of 4KB. Pages of data that are assigned to a process but are not in physical memory are stored in the paging file on disk • The VM manager uses 32 bit addresses, so each process has a 4 GB virtual address space. The upper 2GB is identical for all processes, and is used by NT in kernel mode. The low 2 GB is distinct for every process, and is accessible by both user-and kernel mode threads
Windows NT Memory Management • The NT VM manager uses a two-step process to allocate memory. The first step reserves a portion of the process’s address space. The second step commits the allocation by assigning space in the NT paging file. • The VM manager allows a privileged process to lock selected pages in physical memory thus ensuring that the pages will not be swapped out to the paging file
UNIX Hierarchical file structure File and Directory Block Inode WINDOWs NT NTFS Volume Clusters MFT(master file table) FILE SYSTEM
UNIX Swapping Paging WINDOWs NT Virtual-memory manager(VM) Paging File Memory Management
UNIX Mature and cheaper Reliability Configuration do not require a shutdown and reboot Can setting keyboard and mouse NT Immature And Expensive Set up e-mail by separate software Slow More crash than UNIX Less stability than UNIX Conclusion