Untitled 1

Operation on a Process

  1. Process creation:  A user requests, and already running process can creates new processes. Parent process creates children processes using a system call, which, in turn create other processes, forming a tree of processes.
  2. Process pre-empting:  A process pre-empted if I/O event or timeout occurs. Then process moves from running state to ready state and CPU loads another process from ready state to running state, if available.
  3. Process blocking: When a process needs I/O event during its execution, then process moves from running state to waiting state and dispatches another process to CPU.
  4. Process termination:  A process terminated if when a process completes its execution. Also, these events: OS, Hardware interrupt, and Software interrupt can cause termination of a process.

Unix I/O Systems

Standard I/O -Processes can open files as they like, but most processes expect three file descriptors (numbers 0, 1, and 2) to be open when they start. These file descriptors are inherited across the fork (and possibly the execvc) that created the process. They are known as standard input (0), standard output (1), and standard error (2). All three are frequently open to the user’s terminal. Thus, the program can read what the user types by reading standard input, and the program can send output to the user’s screen by writing to standard output. The standard-error file descriptor is also open for writing and is used for error output; standard output is used for ordinary output. Most programs can also accept a file (rather than a terminal) for standard input and standard output.



Shell and Its purpose/Function

In Unix, the shell is a program that interprets commands and acts as an intermediary between the user and the inner workings of the operating system. Providing a command-line interface (i.e., the shell prompt or command prompt), the shell is analogous to DOS and serves a purpose similar to graphical interfaces like Windows, Mac OS X, and the X Window System.

 Purpose of the Shell

There are three main uses for the shell:

  • Interactive use
  • Customization of your UNIX session
  • Programming

Interactive Use

When the shell is used interactively, the system waits for you to type a command at the UNIX prompt. Your commands can include special symbols that let you abbreviate filenames or redirect input and output.

Customization of Your UNIX Session

A UNIX shell defines variables to control the behavior of your UNIX session. Setting these variables will tell the system, for example, which directory to use as your home directory, or the file in which to store your mail. Some variables are preset by the system; you can define others in start-up files that are read when you log in. Start-up files can also contain UNIX commands or special shell commands. These will be executed every time you log in.

Programming

UNIX shells provide a set of special (or built-in) commands that can be used to create programs called shell scripts. In fact, many built-in commands can be used interactively like UNIX commands, and UNIX commands are frequently used in shell scripts. Scripts are useful for executing a series of individual commands. This is similar to BATCH files in MS-DOS. Scripts can also execute commands repeatedly (in a loop) or conditionally (if-else), as in many high-level programming languages.



Networking Features of windows NT

NT supports both peer-to-peer and client-server networking. It also has facilities for network management. The networking components in NT provide data transport, interprocess communication, file sharing across a network, and the ability to send print jobs to remote printers.

NT supports many protocols that are used in computer networking. Next, we discuss the distributed-processing mechanisms of NT. A domain is a group of NT server machines that share a common security policy and user database. Finally, NT has mechanisms for name resolution that enable one computer to look up the address of another computer, given that computer’s name.

To describe networking in NT, we will refer to two of the internal networking interfaces, called the Network Device Interface Specification (NDIS) and the Transport Driver Interface. (TDI). Microsoft and 3Com to separate network adapters from the transport protocols so that either could be changed without affecting the other developed the NDIS interface in 1989.

 Linux Security Model and Its Mechanism

 Linux’s security model is closely related to typical UNIX security mechanisms. The security’ issues can be classified in two groups:

 Authentication=Authentication in UNIX has typically been performed through the use of a publicly readable password file. When a user presents a password to the system, it is recombined with the value stored in the password file and is passed through the same one-way transformation. If the result matches the contents of the password file, then the password is accepted.

Access Control=Access control under UNIX systems, including Linux, is performed through the use of unique numeric identifiers. A user identifier (uid) identifies a single use or a single set of access rights. A group identifier (gid) is an extra identifier that can be used to identify rights belonging to more than one user.

Linux Security Mechanism

Linux implements the standard UNIX setuidmechanism. This mechanism allows a program to run with privileges different from those of the user running the program. Under Linux, this mechanism is augmented in two ways. First, Linux implements the POSIX specification’s saved-user idmechanism, which allows a process to drop and require its effective uid repeatedly; for security reasons, a program may want to perform

most of its operations in a safe mode, waiving the privileges granted by its setuid status, but may wish to perform selected operations with all its privileges.



Layered Architecture of Unix

 Unix Architecture

Here is a basic block diagram of a Unix system −

Unix Architecture

The main concept that unites all the versions of Unix is the following four basics −

  • Kernel − The kernel is the heart of the operating system. It interacts with the hardware and most of the tasks like memory management, task scheduling and file management.
  • Shell − The shell is the utility that processes your requests. When you type in a command at your terminal, the shell interprets the command and calls the program that you want. The shell uses standard syntax for all commands. C Shell, Bourne Shell and Korn Shell are the most famous shells which are available with most of the Unix variants.
  • Commands and Utilities − There are various commands and utilities which you can make use of in your day to day activities. cpmvcat and grep, etc. are few examples of commands and utilities. There are over 250 standard commands plus numerous others provided through 3rd party software.

 All the commands come along with various options.

  • Files and Directories − All the data of Unix is organized into files. All files are then organized into directories. These directories are further organized into a tree-like structure called the filesystem.


System Component of windows NT

System Components

The architecture of NT is a layered system of modules. Figure  shows the architecture of NT Version 4. The main layers are the hardware abstraction layer, the kernel and the executive that run in protected mode, and a large collection of subsystems that run in user mode. The user-mode subsystems are in two categories. The environmental subsystems emulate different operating systems; the protection subsystems provide security functions.

MdcvkfQojKRaIxAUg0CiGEECLpSDQmAIlGIYQQQi