Week003 Presentation
Week003 Presentation
• File management - Create, delete, copy, rename, print, dump, list, and
generally manipulate files and directories
• Status information
• Some ask the system for info - date, time, amount of available memory, disk space,
number of users
• Others provide detailed performance, logging, and debugging information
• Typically, these programs format and print the output to the terminal or other output
devices
• Some systems implement a registry - used to store and retrieve configuration
information
System Programs (Cont.)
• File modification
• Text editors to create and modify files
• Special commands to search contents of files or perform transformations of the text
• Programming-language support - Compilers, assemblers, debuggers
and interpreters sometimes provided
• Program loading and execution- Absolute loaders, relocatable loaders,
linkage editors, and overlay-loaders, debugging systems for higher-level
and machine language
• Communications - Provide the mechanism for creating virtual
connections among processes, users, and computer systems
• Allow users to send messages to one another’s screens, browse web pages, send
electronic-mail messages, log in remotely, transfer files from one machine to another
System Programs (Cont.)
• Background Services
• Launch at boot time
• Some for system startup, then terminate
• Some from system boot to shutdown
• Provide facilities like disk checking, process scheduling, error logging, printing
• Run in user context not kernel context
• Known as services, subsystems, daemons
• Application programs
• Don’t pertain to system
• Run by users
• Not typically considered part of OS
• Launched by command line, mouse click, finger poke
Operating System Design and Implementation
n Example of following
XEventsQueued system call
move from libc library to
kernel and back
Dtrace (Cont.)
n DTrace code to record
amount of time each
process with UserID 101 is
in running mode (on CPU)
in nanoseconds
Operating System Generation
n Operating systems are designed to run on any of a class of machines; the
system must be configured for each specific computer site
n SYSGEN program obtains information concerning the specific
configuration of the hardware system
l Used to build system-specific compiled kernel or system-tuned
l Can general more efficient code than one general kernel
System Boot
• When power initialized on system, execution starts at a fixed memory
location
• Firmware ROM used to hold initial boot code
• Operating system must be made available to hardware so hardware can
start it
• Small piece of code – bootstrap loader, stored in ROM or EEPROM locates the
kernel, loads it into memory, and starts it
• Sometimes two-step process where boot block at fixed location loaded by ROM
code, which loads bootstrap loader from disk
• Common bootstrap loader, GRUB, allows selection of kernel from multiple
disks, versions, kernel options
• Kernel loads and system is then running