Operating Systems CIS 250

Download Report

Transcript Operating Systems CIS 250

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
• 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
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.
WINNT
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/Linux
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
UNIX: root directory
•
•
•
•
•
•
•
•
bin
boot
dev
ect
home
lib
lost+found
mnt
•
•
•
•
•
•
•
net
proc
root
sbin
tmp
usr
var
Summary of OSs
• 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, multithreaded: 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