OS usually generalize network access as a form of file access, with the details of networking being contained in the network interface’s device driver.
WWW is a new access method improving existing file-transfer protocol (FTP) and network-file system (NFS) protocol by removing the need for a user to log in before she is allowed to use a remote resource.
Using the new protocol, http , a web browser send a request to the remote web server, and the information (text, graphics, links) is returned.
A running program needs to be able to halt its execution either normally ( end ) or abnormally ( abort ).
A process or job executing one program may want to load and execute another program.
If multiprogrammed, to create a new job or process ( create process )
For controlling the execution, determine ( get process attribute ) and reset ( set process attribute ) the attributes of a job or process, and terminate the job or process we created ( terminate process ).
When a process is running in the background, it cannot receive input directly from the keyboard, because the shell is using this resource. I/O is therefore done through files, or through a mouse and windows interface.
When the process is done, it executes an exit system call to terminate, returning to the invoking process a status code of 0, or a nonzero error code.
The recipient process give permission for communication with an accept connection call.
System programs, daemons, receiving the connections by executing a wait for connection call and are awakened when a connection is made.
The source of the comm., the client, and the receiving daemon, known as a server, then exchange messages by read message and write message system calls. The close connection call terminates the communication.
There are two ways to implement a command issued by the user –
contains the code in command interpreter itself
implement by system programs, as in UNIX. The command interpreter merely uses the command to identify a file to be loaded into memory and execute. Example: rm G In this way, new commands can be added to the system easily.
UNIX – limited by hardware functionality, the original UNIX operating system had limited structuring. The UNIX OS consists of two separable parts.
Consists of everything below the system-call interface and above the physical hardware
Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level.
System Structure – Simple Approach §3.5.1
UNIX System Structure Enormous amount of functionality combined into one level. New version of UNIX are designed to use more advanced hardware and the OS may be broken into pieces that are smaller and more appropriate. OS retain greater control over the computer and over the applications that using the computer. Implementors are free to make changes to the inner working of the system. Information hiding also leaves programmers free to implement the low level routines.
Digital UNIX – provides a UNIX interface to the user, but is implemented with a Mach kernel.
Apple MacOS X Server – based on the Mach kernel.
Windows NT – a hybrid structure. It is designed to run various applications, including Win32 (native Windows applications), OS/2, and POSIX. It provides a server that runs in user space for each application type.
A virtual machine takes the layered approach to its logical conclusion. OS creates the illusion that a process has its own processor with its own (virtual) memory….a (virtual) copy of the underlying computer.
The VM operating system for IBM systems is the best example of the virtual-machine concept.
The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated from all other virtual machines.
A virtual-machine system is a perfect vehicle for operating-systems research and development. System research and development is done on the virtual machine, instead of on a physical machine and, so, does not disrupt normal system operation.
Virtual Intel machine on top of Sun or DEC computer in order to run MS-DOS programs. When a MS-DOS program is running in Sun or DEC computer, its Intel instructions are translated into the native instruction set.
PowerPC-based Apple Macintosh includes a Motorola 68000 virtual machine to allow execution of binary codes that were written for the older 68000-based Macintosh.
Key feature of Java – it runs on a virtual machine.
MS-DOS was written in Intel 8088 assembly language. Consequently, it is available on only the Intel family of CPUs. The UNIX written in C is available on a number of different CPUs, including Intel 80X86, Motorola 680X0, SPARC, and MIPS RX000.