270 likes | 409 Views
Virtual Machine Concepts. Virtual Machine Structure. Application Programs - can call system pgms System Programs - can use system calls, hw instructions; treats sys calls and hw as same level Kernel - translates hardware instructions to system calls Hardware. Virtual Machine.
E N D
Virtual Machine Structure Application Programs - can call system pgms System Programs - can use system calls, hw instructions; treats sys calls and hw as same level Kernel - translates hardware instructions to system calls Hardware
Virtual Machine • Uses layered approach • Application program regards everything below it as part of the hardware • O/S creates the illusion of multiple processes, each executing its own processor, each with its own (virtual) memory • other operating systems can be loaded on top of the virtual machine (SUN and DEC have a virtual INTEL machine on top of their proc)
Virtual Machine • Can create virtual card readers and line printers, disks • Difficult to implement • virtual machine sw requires a lot of disk space • virtual machine can only run in monitor mode - so you must create a virtual user and virtual monitor mode • need exact duplication of configuration
Virtual Machine - dual mode • Virt. Mach sw runs in monitor • Machine runs in user mode • Create a virtual user and monitor mode which run in user mode • When I/O request (sys. Call) transfers from virtual user to virtual monitor • Virt. Monitor changes register contents and pgm cntr to simulate a system call • Privileged I/O instructions is executed • Virt. Mach. Monitor will simulate I/O instr.
IBM VM • Has privileged instructions on virtual machine and all others directly on the hw • Program can execute even though it is not entirely in memory • The CPU is spread across multiple virtual machines • Advantage: Protection. Machines are isolated; good for testing; no security probl.
File Systems • Original FAT - meant for DOS; stores directory information in a table format and it must be searched from beginning to end, one at a time. 8.3 file structure; now is 16 bit • VFAT - originated in WFW to process I/O in protected mode • VFAT in WIN95 supports long file names and is backward compatible
File systems… • FAT32 was released with a later version of WIN95 and supports 32 bit; uses smaller clusters for storage; no longer have to store root in first 512K; fault tolerant: can disable a copy of a FAT; boot records captures FS data for recovery • NTFS - began with WINDOWS NT; file search implemented with a more efficient method (b-tree)
NTFS - can handle larger partitions than FAT; file search does not degrade as number of files increases; files and directories can be secured via • Access Permissions - a user may belong to multiple groups • Share Permissions - users can connect to a remote directory across the network • HPFS - OS/2; FAT structure, but better sorting
MBR • BIOS bootstrap routine used by low level hw code stored in ROM
WINNT - HCL • Hardware Compatibility List • List of all hardware know to work properly with WIN2K • can obtain on install CD, documentation with software OR download from web: • www.microsoft.com/hwtest/hcl • newer machines - not an issue; older adapters (8bit) are an issue • MS will not support hardware that is not on the list
NT Boot Process • Power on the computer • POST processing - diagnostic testing • Loads MBR - points OS to boot info; describes partition and disk’s physical layout • NTLDR program runs - provides a menu of load choices and kicks off the BOOT.INI • defines Oss locations • NTDETECT runs: detects hw, configurations • NTOSKRNL is loaded
BOOT.INI • ARC partitions (advanced RISK computer) • identifies the drives (SCSI, multi for IDE…) • identifies the partitions where files are stored • identifies the path where OS can be found
WIN2K Boot • BIOS checks hardware and loads O/S • checks either floppy (boot sector) or hard drive (master boot record) for instructions on location of O/S • In WIN2K, BIOS calls boot loader (NTLDR) and it loads OS
Boot Sequence • NTLDR reads the BOOT.INI file (contains WIN menu and instructions on the kernel location) • User selects a menu item; NTDETECT.COM program loads • detects hw, tells NTLDR • NTLDR loads NTOSKRNL (kernel) and passes it info from NTDETECT; kernel loads WIN2K files
Registry • DB which contains info about the hw, sw and OS config • should be used as last resort - use Last Know good config instead….unless you are going to lab...
UNIX • History - joint venture between MIT and Bell Labs (originally called Multics) • 1969 - Ken Thompson (AT&T) created an operating system to run Space program • Ritchie (AT&T) wanted to run C program • multitasking, multi-user, timesharing
Connection - remotely via a modem or locally over network - give IP address • X Windows - gives it a GUI/graphics terminal • Terminal definitions - customize keyboard terminal key (erase key, shorthand - alias) • Command syntax - DOS-like • Shells - commands and programs • % is C-Shell; $ is Korn, Bourne
Communication - ping, who, users, write, mail, broadcast messages • Editors - VI is available on all systems; • EMACS • Printing - lp; “dee-mon” (daemon) - a program in the background; for example: print spooling program
Redirection/pipes - can write errors to file • Displaying files - more, pg, less, head, tail, permissions • UNIX file system - regular files, directory, device files • Directory is tree structured • Process Control - can run jobs in the background with & at the end of the command; monitor; kill; make
Host is the server - shares resources • Clients are the terminals • when you type, sent as signals to the host; the host echoes back to you • Network, Gateways (email) are the links to the network and the outside world • UNIX can work with various computers via VT100 terminal emulation
bin boot dev ect home lib lost+found mnt net proc root sbin tmp usr var UNIX: root directory
WIN3.1 - cooperative, multi-tasking • share data,resources; multiple processes execute concurrently; several processes appear to run at the same time • UNIX - preemptive, multi-tasking - allocates CPU to processes based on preset time slices; a deadlock of one won’t affect others
NT - preemptive, multi-tasking, multi-threaded: a process can break up into several threads of execution • default: process contains one thread: unique id, registers contain state • WIN95/98 - preemptive, multi-tasking uses predetermined time slices (default 20ms) • each button on task bar is a process • each is divided into threads, share CPU - take turns