Saturday, November 10, 2012

Saturday, November 10, 2012 -

Explain UNIX system architecture.

At the center of the UNIX onion is program called the kernel. It is absolutely crucial to the operation of the UNIX system. The kernel provides the essential services that make up the heart of UNIX system; it allocates memory, keeps track of the physical location of files on the computer’s hard disks, loads, and executes binary programs such as shells, and schedules the task swapping without which UNIX systems would be incapable of doing more than one thing at a time .

 The kernel accomplishes all these tasks by providing an interface between the other programs running under its control and the physical hardware of the computer; this interface, the system call interface, effectively insulates the other programs on the UNIX system from the complexities of the computer. For example, when a running program needs access to file, it cannot simply open the file. The kernel takes over and handles the request, then notifies the program whether the request succeeded or failed. The kernel determines whether or not the request is valid, and if it is, the kernel reads the required block of data and passes it back to the programs do not have access to the physical hardware of the computer. All they see are the kernel services, provided by the system call interface.
Although there is a well-defined, technical and commercial standard for what constitutes “Unix,” in common usage, Unix refers to a set of operating systems, from private vendors and in various open-licensed versions, that act similarly from the view of users and administrators. Within any Unix version, there are several different “shells” which affect how commands are interpreted. Your default is that you are using Solaris (developed by Sun Microsystems primarily for use on hardware sold by Sun) within the “c-shell.” Most of the basic commands here will work the same in other Unix variants and shells, including Linux and the Mac OS X command-line environment.
A standard Unix system provides command for username, passwd, chsh and additional option on chdgrp to change username, passwords, default group, and shell environments.Wildcard: * is a “wildcard” character that can refer to any character string and ? is a wildcard character that can refer to any single character. For example, mv *.95 code would move every Fortran 95 program file on the current directory into a subdirectory called code.Filenames: Filenames may be upto 255 characters, and they may include any character except the regular slash /.(Avoid using backslashes, blank spaces, or non printing characters in filenames – they are allowed but will cause problems for you.)A pathnames beginning with / is an absolute path from the top of the system tree. A pathname not beginning with / is a relative path down from the current working directory.Directory shortcuts include: as a replacement for your home directory, username as a shorthand for username’shome directory, .. (two periods) for the subdirectory on level up from the current directory, and . (one period)for the current directory.