like us on facebook

online job

masti masters

masti masters
every person who needs to learn tech news click on this image n follow that blog

Tuesday, 31 May 2011

3G vs WiFi


The two most important phenomena impacting telecommunications over the past decade have been explosive parallel growth of both the internet and mobile telephone services. The internet brought the benefits of data communications to the masses with email, the web, and ecommerce; while mobile service has enabled "follow-me anywhere/always on" telephony. The internet helped accelerate the trend from voice-centric to data-centric networking. Data already exceeds voice traffic and the data share continues to grow. Now these two worlds are converging. This convergence offers the benefits of new interactive multimedia services coupled to the flexibility and mobility of wireless. To realize the full potential of this convergence, however, we need broadband access connections.


Here we compare and contrast two technologies that are likely to play important roles: Third Generation mobile ("3G") and Wireless Local Area Networks ("WLAN") . The former represents a natural evolution and extension of the business models of existing mobile providers. In contrast, the WiFi approach would leverage the large installed base of WLAN infrastructure already in place. We use 3G and WiFi as shorthand for the broad classes of related technologies that have two quiet distinct industry origins and histories.
Speaking broadly, 3G offers a vertically -integrated , top -down , service - provider approach to delivering wireless internet access , while WiFi offers an end -user -centric , decentralized approach to service provisioning. We use these two technologies to focus our speculations on the potential tensions between these two alternative world views. The wireless future will include a mix of heterogenous wireless access technologies. Moreover, we expect that the two world views will converge such that vertically-integrated service providers will integrate WiFi or other WLAN technologies into their 3G or wire line infrastructure when this make sense. The multiplicity of potential wireless access technologies and /or business models provided some hope that we may be able to realize robust facilities - based competition for broadband local access services. If this occurs, it would help solve the "last mile" competition problem that has been deviled telecommunication policy.


SOME BACKGROUND ON WiFi AND 3G
3G:

3G is a technology for mobile service providers. Mobile services are provided by service providers that own and operate their own wireless networks and sell mobile services to and -users. Mobile service providers use licensed spectrum to provide wireless telephone coverage over some relatively large contiguous geographic service area. Today it may include the entire country. From a user's perspective, the key feature of mobile service is that it offers ubiquitous and continuous coverage. To support the service, mobile operators maintain a network of interconnected and overlapping mobile base stations that hand-off customers as those customers move among adjacent cells. Each mobile base station may support user's upto several kilometers away. The cell towers are connected to each other by a backhaul network that also provides interconnection to the wire line Public Switched Telecommunications Network (PSTN) and other services. The mobile system operator owns the end-to-end network from the base stations to the backhaul networks to the point of interconnection to the PSTN. Third
Generations (3G) mobile technologies will support higher bandwidth digital communications. To expand the range and capability of data services that can be supported by digital mobile systems, service providers will have to upgrade their networks to one of the 3G technologies which can support data rates of from 384Kbps up to 2Mbps.


WiFi

WiFi is the popular name for the wireless Ethernet 802.11b standard for WLANs . WiFi allows collections of PCs, terminals ,and other distributed computing devices to share resources and peripherals such as printers, access servers etc. One of the most popular LAN technologies was Ethernet.


HOW ARE WiFi AND 3G SAME

From the preceding discussion, it might appear that 3G and WiFi address completely different user needs in quiet distinct markets that do not overlap. While this was certainly more true about earlier generations of mobile services when compared with wired LANs or earlier versions of WLANs , it is increasingly not the case. The end- user does not care what technology is used to support his service. What matter is that both of these technologies are providing platforms for wireless access to the internet and other communication services.

Dynamic Virtual Private Network



Definition
Based on internet technology, intranets are becoming an essential part of corporate information systems today. However, internets were not originally designed with businesses in mind. It lacks the technology required for secure business transactions and communications. A challenge therefore arises for businesses with intranet, i.e. how to establish and maintain trust in an environment which was originally designed for open access to information. More specifically, a way has to be found to secure an intranet without impinging on its inherent benefits of flexibility, interoperability and ease of use.
Unlike traditional VPNs that offer limited or inflexible security, a dynamic VPN provide both high levels of security and, equally important, the flexibility to accommodate dynamically changing groups of users and information needs. Our dynamic VPN can provide this flexibility based on a unique agent-based architecture as well as other features.
Because information can now be made available in such a flexible and fine-grained fashion, a company's files, documents or data that had to locked in the past can now be accessed in either whole or in part to carefully selected groups of users in precisely determined ways. As a result, a dynamic VPN is an intranet enabler. It enables an intranet to offer more services and services than it could otherwise, thereby allowing the business to make more use of its information resources.
In order to accommodate new, changing and expanding groups of users and provide these users with information in a number of ways, intranets should deliver several benefits, including flexibility, interoperability, ease of use and extendibility. In particular, they should be open and and standards based, so information can be read by different users with different applications on different platforms.
However, the benefits promised by intranets lead to an important challenge for businesses using this technology: how to establish and maintain trust in an environment which was designed originally for free and open access to information. The Internet was not designed with business security in mind. It was designed by universities as an open network where users could access, share and add to information as early as possible. A way has to be found to secure an intranet for businesses without impinging on the intranet's inherent benefits of flexibility interoperability and ease of use. Indeed, an ideal solution must also provide not only the highest levels of security but also security in such a way that users can easily access, modify and share more information, not less, under carefully controlled and maintained conditions.
The most appropriate and successful answer to this challenge will be a DYNAMIC VIRTUAL PRIVATE NETWORK. Unlike traditional VPNs that offer limited or inflexible security, a dynamic VPN provides both extremely high levels of security and, equally important, the flexibility to accommodate dynamically changing groups of users and information needs.
A dynamic VPN is actually an intranet enabler. It enables an intranet to offer more resources and services than it could otherwise, thereby allowing the business to make more use of its information resources.



Major Drawbacks Of VPN
The single major problem on the road to VPN is network security. Because VPN is connected to a public network. , the internet, it is prone to be hacked. Though all networks have some basic security that prevents such access they are often insufficient. The main threat is to the data that is transmitted through the internet. Then the user at this has to be sure that the person at the other is really the person who he claims to be. This protects data through a combination of encryption, host authentication and protocol tunneling. The commonly used basic protecting data is encryption. This involves scrambling the data using an algorithm so that even if the transmitted data is tapped, it cannot be decoded without the correct key.

Monday, 23 May 2011

love


click hert to download love msg


djust a remix song from titanic movie click on that img and download that song

Wednesday, 18 May 2011

UNIX interview questions

UNIX interview
questions



1. How
are devices represented in UNIX?


Ans: All devices are
represented by files called special files that are located in/dev directory.
Thus, device files and other files are named and accessed in the same way. A
‘regular file’ is just an ordinary data file in the disk. A ‘block special
file’ represents a device with characteristics similar to a disk (data transfer
in terms of blocks). A ‘character special file’ represents a device with
characteristics similar to a keyboard (data transfer is by stream of bits in sequential order).


2. What
is ‘inode’?
 

Ans: All UNIX files have its
description stored in a structure called ‘inode’. The
inode contains info about the file-size, its
location, time of last access, time of last modification, permission and so on.
Directories are also represented as files and have an associated inode. In addition to descriptions about the file, the inode contains pointers to the data blocks of the file. If
the file is large, inode has indirect pointer to a
block of pointers to additional data blocks (this further aggregates for larger
files). A block is typically 8k.


Inode consists of the following fields:

File owner
identifier


File type

File access
permissions


File access
times


Number of
links


File size

Location of
the file data


3. Brief
about the directory representation in UNIX?


Ans: A Unix
directory is a file containing a correspondence between filenames and inodes. A directory is a special file that the kernel
maintains. Only kernel modifies directories, but processes can read
directories. The contents of a directory are a list of filename and inode number pairs. When new directories are created,
kernel makes two entries named ‘.’ (refers to the
directory itself) and ‘..’ (refers to parent
directory).


System call
for creating directory is mkdir (pathname, mode).


4. What
are the Unix system calls for I/O?
 

Ans: open(pathname,flag,mode)
– open file


creat(pathname,mode) – create file

close(filedes) – close an open file

read(filedes,buffer,bytes) – read data from an open file

write(filedes,buffer,bytes) – write data to an open file

lseek(filedes,offset,from) – position an open
file


dup(filedes) – duplicate an existing file descriptor

dup2(oldfd,newfd) – duplicate to a desired file descriptor

fcntl(filedes,cmd,arg) – change properties of
an open file


ioctl(filedes,request,arg) – change the behaviour of an open file

The
difference between fcntl anf ioctl is that the
former is intended for any open file, while the latter is for device-specific
operations.


5. How do
you change File Access Permissions?


Ans: Every file has following
attributes:


owner’s user
ID ( 16 bit integer )


owner’s group
ID ( 16 bit integer )


File access
mode word


‘r w x -r w
x- r w x’


(user
permission-group permission-others permission)


r-read, w-write,
x-execute


To change the
access mode, we use chmod(filename,mode).


Example 1:

To change
mode of myfile to ‘rw-rw-r–’ (ie. read, write
permission for user – read,write permission for group
– only read permission for others) we give the args
as:


chmod(myfile,0664) .

Each
operation is represented by discrete values


‘r’ is 4

‘w’ is 2

‘x’ is 1

Therefore,
for ‘rw’ the value is 6(4+2).


Example 2:

To change
mode of myfile to ‘rwxr–r–’
we give the args as:


chmod(myfile,0744).

6. What
are links and symbolic links in UNIX file system?
 

Ans: A link is a second name
(not a file) for a file. Links can be used to assign more than one name to a
file, but cannot be used to assign a directory more than one name or link
filenames on different computers.


Symbolic link
‘is’ a file that only contains the name of another file.Operation
on the symbolic link is directed to the file pointed by the it.Both
the limitations of links are eliminated in symbolic links.


Commands for
linking files are:


Link ln filename1 filename2

Symbolic link
ln -s filename1 filename2


7. What
is a FIFO?
 

Ans: FIFO are
otherwise called as ‘named pipes’. FIFO (first-in-first-out) is a special file
which is said to be data transient. Once data is read from named pipe, it
cannot be read again. Also, data can be read only in the order written. It is
used in interprocess communication where a process
writes to one end of the pipe (producer) and the other reads from the other end
(consumer).


8. How do
you create special files like named pipes and device files?
 

Ans: The system call mknod creates special files in the following sequence.

1. kernel assigns new inode,

2. sets the file type to indicate that the file is a pipe,
directory or special file,


3. If it is a
device file, it makes the other entries like major, minor device numbers.


For example:

If the device
is a disk, major device number refers to the disk controller and minor device
number is the disk.


9.
Discuss the mount and unmount system calls ?


Ans
:
 The privileged mount
system call is used to attach a file system to a directory of another file
system; the unmount system call detaches a file
system. When you mount another file system on to your directory, you are
essentially splicing one directory tree onto a branch in another directory
tree. The first argument to mount call is the mount point, that is , a directory in the current file naming system. The
second argument is the file system to mount to that point. When you insert a cdrom to your unix
system’s drive, the file system in the cdrom automatically
mounts to /dev/cdrom in your system.


10. How
does the inode map to data block of a file?
 

Ans: Inode has 13 block addresses.
The first 10 are direct block addresses of the first 10 data blocks in the
file. The 11th address points to a one-level index block. The 12th address
points to a two-level (double in-direction) index block. The 13th address
points to a three-level(triple in-direction)index
block. This provides a very large maximum file size with efficient access to
large files, but also small files are accessed directly in one disk read.


11. What
is a shell?


Ans: A shell is an interactive
user interface to an operating system services that
allows an user to enter commands as character strings or through a graphical
user interface. The shell converts them to system calls to the OS or forks off
a process to execute the command. System call results and other information
from the OS are presented to the user through an interactive interface.
Commonly used shells are sh,csh,ks
etc.


12. Brief
about the initial process sequence while the system boots up?
 

Ans: While booting, special
process called the ‘swapper’ or ‘scheduler’ is created with Process-ID 0. The
swapper manages memory allocation for processes and influences CPU allocation.
The swapper inturn creates 3 children:


the process
dispatcher, vhand and dbflush
with IDs 1,2 and 3 respectively.


This is done
by executing the file /etc/init. Process dispatcher
gives birth to the shell. Unix keeps track of all the
processes in an internal data structure called the Process Table (listing
command is ps -el).


13. What
are various IDs associated with a process?
 

Ans: Unix identifies each process
with a unique integer called ProcessID. The process
that executes the request for creation of a process is called the ‘parent
process’ whose PID is ‘Parent Process ID’. Every
process is associated with a particular user called the ‘owner’ who has
privileges over the process. The identification for the user is ‘UserID’. Owner is the user who executes the process.
Process also has ‘Effective User ID’ which determines the access privileges for
accessing resources like files.


getpid() -process id

getppid() -parent process id

getuid() -user id

geteuid() -effective user id

14.
Explain fork() system call?


Ans: The `fork()’
used to create a new process from an existing process. The new process is
called the child process, and the existing process is called the parent. We can
tell which is which by checking the
return value from `fork()’. The parent gets the
child’s pid returned to him,
but the child gets 0 returned to him.


15.
Predict the output of the following program code


main()

{

fork();

printf(“Hello World!”);

}

Ans: Hello World!Hello
World!


Explanation:

The fork
creates a child that is a duplicate of the parent process. The child begins
from the fork().All the statements after the call to
fork() will be executed twice.(once by the parent process and other by child).
The statement before fork() is executed only by the
parent process.


16.
Predict the output of the following program code


main()

{

fork();
fork(); fork();


printf(“Hello World!”);

}

Ans: “Hello World” will be
printed 8 times.


Explanation:

2^n times
where n is the number of calls to fork()


17. List
the system calls used for
 process
management
:

Ans: System calls Description

fork() To
create a new process


exec() To
execute a new program in a process


wait() To
wait until a created process completes its execution


exit() To
exit from a process execution


getpid() To get a process identifier of the current process

getppid() To get parent process identifier

nice() To
bias the existing priority of a process


brk() To increase/decrease the data segment size of a process

18. How
can you get/set an environment variable from a program?


Ans: Getting the value of an
environment variable is done by using `getenv()’. Setting the value of an environment variable is done by
using `putenv()’.


19. How
can a parent and child process communicate?


Ans: A parent and child can
communicate through any of the normal inter-process communication schemes
(pipes, sockets, message queues, shared memory), but also have some special
ways to communicate that take advantage of their relationship as a parent and
child. One of the most obvious is that the parent can get the exit status of
the child.


20. What
is a zombie?


Ans: When a program forks and
the child finishes before the parent, the kernel still keeps some of its
information about the child in case the parent might need it – for example, the
parent may need to check the child’s exit status. To be able to get this
information, the parent calls `wait()’; In the
interval between the child terminating and the parent calling `wait()’, the
child is said to be a `zombie’ (If you do `ps’, the
child will have a `Z’ in its status field to indicate this.)


21. What
are the process states in Unix?
 

Ans: As a process executes it
changes state according to its circumstances. Unix processes have the following
states:


Running : The
process is either running or it is ready to run .


Waiting : The process is waiting for an event or for a resource.

Stopped : The process has been stopped, usually by receiving a signal.

Zombie : The process is dead but have not been removed from the process
table.


22. What
Happens when you execute a program?


Ans: When you execute a program
on your UNIX system, the system creates a special environment for that program.
This environment contains everything needed for the system to run the program
as if no other program were running on the system. Each process has process
context, which is everything that is unique about the state of the program you
are currently running. Every time you execute a program the UNIX system does a
fork, which performs a series of operations to create a process context and
then execute your program in that context. The steps include the following:


Allocate a
slot in the process table, a list of currently running programs kept by UNIX.


Assign a
unique process identifier (PID) to the process.


iCopy the context of the parent, the process that requested the spawning
of the new process.


Return the
new PID to the parent process. This enables the parent process to examine or
control the process directly. After the fork is complete, UNIX runs your
program.


23. What
Happens when you execute a command?
 

Ans: When you enter ‘ls’ command to look at the contents of your current working
directory, UNIX does a series of things to create an environment for ls and the run it: The shell has UNIX perform a fork. This
creates a new process that the shell will use to run the ls
program. The shell has UNIX perform an exec of the ls
program. This replaces the shell program and data with the program and data for
ls and then starts running that new program. The ls program is loaded into the new process context,
replacing the text and data of the shell. The ls
program performs its task, listing the contents of the current directory.


24. What
is a Daemon?
 

Ans: A daemon is a process that
detaches itself from the terminal and runs, disconnected, in the background,
waiting for requests and responding to them. It can also be defined as the
background process that does not belong to a terminal session. Many system
functions are commonly performed by daemons, including the sendmail
daemon, which handles mail, and the NNTP daemon, which handles USENET news.
Many other daemons may exist. Some of the most common daemons are:


init: Takes
over the basic running of the system when the kernel has finished the boot
process.


inetd: Responsible for starting network services that do not have their
own stand-alone daemons. For example, inetd usually
takes care of incoming rlogin, telnet, and ftp connections.


cron: Responsible for running repetitive tasks on a regular schedule.

25. What
is ‘ps’ command for?
 

Ans: The ps
command prints the process status for some or all of the running processes. The
information given are the process identification number (PID),the
amount of time that the process has taken to execute so far etc.


26. How
would you kill a process?


Ans: The kill command takes the
PID as one argument; this identifies which process to terminate. The PID of a
process can be got using ‘ps’ command.


27. What
is an advantage of executing a process in background?


Ans: The most common reason to
put a process in the background is to allow you to do something else
interactively without waiting for the process to complete. At the end of the
command you add the special background symbol, &. This symbol tells your
shell to execute the given command in the background.


Example: cp
*.* ../backup& (cp is for copy)


28. How
do you execute one program from within another?


Ans: The system calls used for
low-level process creation are execlp() and execvp(). The execlp call overlays the existing program with the new one , runs that and exits. The original program gets back
control only when an error occurs. execlp(path,file_name,arguments..);
//last argument must be NULL A variant of execlp
called execvp is used when the number of arguments is
not known in advance. execvp(path,argument_array); //argument
array should be terminated by NULL


29. What
is IPC? What are the various schemes available?


Ans: The term IPC
(Inter-Process Communication) describes various ways by which different process
running on some operating system communicate between each other. Various
schemes available are as follows: Pipes:


One-way
communication scheme through which different process can communicate. The
problem is that the two processes should have a common ancestor (parent-child
relationship). However this problem was fixed with the introduction of
named-pipes (FIFO).


Message Queues :

Message
queues can be used between related and unrelated processes running on a
machine.


Shared Memory:

This is the
fastest of all IPC schemes. The memory to be shared is mapped into the address
space of the processes (that are sharing). The speed achieved is attributed to the fact that
there is no kernel involvement. But this scheme needs synchronization.


Various forms
of synchronization are mutexes, condition-variables,
read-write locks, record-locks, and semaphores.


30. What
is the difference between Swapping and Paging?


Ans: Swapping: Whole process is
moved from the swap device to the main memory for execution. Process size must
be less than or equal to the available main memory. It is easier to
implementation and overhead to the system. Swapping systems does not handle the
memory more flexibly as compared to the paging systems.


Paging:

Only the
required memory pages are moved to main memory from the swap device for
execution. Process size does not matter. Gives the concept of
the virtual memory.


It provides
greater flexibility in mapping the virtual address space into the physical
memory of the machine. Allows more number of processes to fit
in the main memory simultaneously.
Allows the greater
process size than the available physical memory.
Demand paging systems
handle the memory more flexibly.


31. What
is major difference between the Historic Unix and the
new BSD release of Unix System V in terms of
 Memory Management?

Ans: Historic Unix uses Swapping – entire process is transferred to the
main memory from the swap device, whereas the Unix System V uses Demand Paging
– only the part of the process is moved to the main memory. Historic Unix uses one Swap Device and Unix System V allow multiple
Swap Devices.


32. What
is the main goal of the
 Memory Management?

Ans: It decides which process
should reside in the main memory, Manages the parts of the virtual address
space of a process which is non-core resident, Monitors the available main
memory and periodically write the processes into the swap device to provide
more processes fit in the main memory simultaneously.


33. What
is a Map?


Ans: A Map is an Array, which
contains the addresses of the free space in the swap device that are allocatable resources, and the number of the resource units
available there.


This allows
First-Fit allocation of contiguous blocks of a resource. Initially the Map
contains one entry – address (block offset from the starting of the swap area)
and the total number of resources. Kernel treats each unit of Map as a group of
disk blocks. On the allocation and freeing of the resources Kernel updates the
Map for accurate information.


34. What
scheme does the Kernel in Unix System V follow while
choosing a swap device among the multiple swap devices?


Ans: Kernel follows Round Robin
scheme choosing a swap device among the multiple swap devices in Unix System V.


35. What
is a Region?
 

Ans: A Region is a continuous
area of a process’s address space (such as text, data and stack). The kernel in
a ‘Region Table’ that is local to the process maintains region. Regions are
sharable among the process.


36. What
are the events done by the Kernel after a process is being swapped out from the
main memory?
 

Ans: When Kernel swaps the
process out of the primary memory, it performs the following:


Kernel
decrements the Reference Count of each region of the process. If the reference
count becomes zero, swaps the region out of the main memory,Kernel allocates the space for the swapping process in the swap device,Kernel
locks the other swapping process while the current swapping operation is going on,The Kernel saves the swap address of the region in the
region table.


37. Is the Process before and after the swap are the same? Give
reason.
 

Ans: Process before swapping is
residing in the primary memory in its original form. The regions (text, data
and stack) may not be occupied fully by the process, there may be few empty
slots in any of the regions and while swapping Kernel do not bother about the empty
slots while swapping the process out. After swapping the process resides in the
swap (secondary memory) device. The regions swapped out will be present but
only the occupied region slots but not the empty slots that were present before
assigning. While swapping the process once again into the main memory, the
Kernel referring to the Process Memory Map, it assigns the main memory
accordingly taking care of the empty slots in the regions.


38. What
do you mean by u-area (user area) or u-block?
 

Ans: This contains the private
data that is manipulated only by the Kernel. This is local to the Process, i.e.
each process is allocated a u-area.


39. What
are the entities that are swapped out of the main memory while swapping the
process out of the main memory?
 

Ans: All memory space occupied
by the process, process’s u-area, and Kernel stack are swapped out,
theoretically. Practically, if the process’s u-area contains the Address
Translation Tables for the process then Kernel implementations do not swap the
u-area.


40. What
is Fork swap?
 

Ans: fork() is a system call to
create a child process. When the parent process calls fork() system call, the
child process is created and if there is short of memory then the child process
is sent to the read-to-run state in the swap device, and return to the user
state without swapping the parent process. When the memory will be available
the child process will be swapped into the main memory.


41. What
is Expansion swap?
 

Ans: At the time when any
process requires more memory than it is currently allocated, the Kernel
performs Expansion swap. To do this Kernel reserves enough space in the swap
device. Then the address translation mapping is adjusted for the new virtual
address space but the physical memory is not allocated. At last Kernel swaps
the process into the assigned space in the swap device. Later when the Kernel
swaps the process into the main memory this assigns memory according to the new
address translation mapping.


42. How
the Swapper works?
 

Ans: The swapper is the only
process that swaps the processes. The Swapper operates only in the Kernel mode
and it does not uses System calls instead it uses internal Kernel functions for
swapping. It is the archetype of all kernel process.


43. What
are the processes that are not bothered by the swapper? Give Reason.


Ans: Zombie process: They do
not take any up physical memory.Processes locked in
memories that are updating the region of the process.Kernel
swaps only the sleeping processes rather than the ‘ready-to-run’ processes, as
they have the higher probability of being scheduled than the Sleeping
processes.


44. What
are the requirements for a swapper to work?
 

Ans: The swapper works on the
highest scheduling priority. Firstly it will look for any sleeping process, if
not found then it will look for the ready-to-run process for swapping. But the
major requirement for the swapper to work the ready-to-run process must be
core-resident for at least 2 seconds before swapping out. And for swapping in
the process must have been resided in the swap device for at least 2 seconds.
If the requirement is not satisfied then the swapper will go into the wait
state on that event and it is awaken once in a second by the Kernel.


45. What
are the criteria for choosing a process for swapping into memory from the swap
device?
 

Ans: The resident time of the
processes in the swap device, the priority of the processes and the amount of
time the processes had been swapped out.


46. What
are the criteria for choosing a process for swapping out of the memory to the
swap device?


Ans: The process’s memory
resident time,Priority of
the process and the nice value.


47. What
do you mean by nice value?
 

Ans: Nice value is the value
that controls {increments or decrements} the priority of the process. This value that is returned by the nice () system call. The
equation for using nice value is: Priority = (“recent CPU usage”/constant) +
(base- priority) + (nice value) Only the administrator
can supply the nice value. The nice () system call works for the running process
only. Nice value of one process cannot affect the nice value of the other
process.


48. What
are conditions on which deadlock can occur while swapping the processes?
 

Ans: All processes in the main
memory are asleep.All ‘ready-to-run’ processes are
swapped out.


There is no
space in the swap device for the new incoming process that are
swapped out of the main memory. There is no space in the main memory for the
new incoming process.


49. What
are conditions for a machine to support Demand Paging?
 

Ans: Memory architecture must based on Pages, The machine must
support the ‘restartable’ instructions.


50. What
is ‘the principle of locality’?
 

Ans: It’s the nature of the
processes that they refer only to the small subset of the total data space of
the process. i.e. the process frequently calls the
same subroutines or executes the loop instructions.


51. What
is the working set of a process?
 

Ans: The set of pages that are
referred by the process in the last ‘n’, references, where ‘n’ is called the
window of the working set of the process.


52. What
is the window of the working set of a process?
 

Ans: The window of the working
set of a process is the total number in which the process had referred the set
of pages in the working set of the process.


53. What
is called a page fault?
 

Ans: Page fault is referred to
the situation when the process addresses a page in the working set of the
process but the process fails to locate the page in the working set. And on a
page fault the kernel updates the working set by reading the page from the
secondary device.


54. What
are data structures that are used for Demand Paging?
 

Ans: Kernel contains 4 data
structures for Demand paging. They are, Page table entries, Disk block
descriptors, Page frame data table (pfdata), Swap-use table.


55. What
are the bits that support the demand paging?


Ans: Valid, Reference, Modify,
Copy on write, Age. These bits are the part of the page table entry, which
includes physical address of the page and protection bits.


Page address

Age

Copy on write

Modify

Reference

Valid

Protection

56. How
the Kernel handles the fork() system call in
traditional Unix and in the System V Unix, while swapping?
 

Ans: Kernel in traditional Unix, makes the duplicate copy of the parent’s address space
and attaches it to the child’s process, while swapping. Kernel in System V
Unix, manipulates the region tables, page table, and pfdata
table entries, by incrementing the reference count of the region table of
shared regions.


57. Difference between the fork() and vfork() system call?

Ans: During the fork() system call the
Kernel makes a copy of the parent process’s address space and attaches it to
the child process. But the vfork() system call do not makes any copy of the parent’s address
space, so it is faster than the fork() system call. The child process as a
result of the vfork() system call executes exec() system call. The child
process from vfork() system call executes in the parent’s address space (this
can overwrite the parent’s data and stack ) which suspends the parent process
until the child process exits.


58. What
is BSS(Block Started by Symbol)?
 

Ans: A data representation at
the machine level, that has initial values when a program starts and tells
about how much space the kernel allocates for the un-initialized data. Kernel
initializes it to zero at run-time.


59. What
is Page-Stealer process?
 

Ans: This is the Kernel process
that makes rooms for the incoming pages, by swapping the memory pages that are
not the part of the working set of a process. Page-Stealer is created by the
Kernel at the system initialization and invokes it throughout the lifetime of
the system. Kernel locks a region when a process faults on a page in the
region, so that page stealer cannot steal the page, which is being faulted in.


60. Name
two paging states for a page in memory?
 

Ans: The two paging states are:

The page is
aging and is not yet eligible for swapping,


The page is
eligible for swapping but not yet eligible for reassignment to other virtual
address space.


61. What
are the phases of swapping a page from the memory?
 

Ans: Page stealer finds the
page eligible for swapping and places the page number in the list of pages to
be swapped. Kernel copies the page to a swap device when necessary and clears
the valid bit in the page table entry, decrements the pfdata
reference count, and places the pfdata table entry at
the end of the free list if its reference count is 0.


62. What
is page fault? Its types?
 

Ans: Page fault refers to the
situation of not having a page in the main memory when any process references
it. There are two types of page fault :


Validity
fault,


Protection
fault.


63. In
what way the Fault Handlers and the Interrupt handlers are different?
 

Ans: Fault handlers are also an
interrupt handler with an exception that the interrupt handlers cannot sleep.
Fault handlers sleep in the context of the process that caused the memory
fault. The fault refers to the running process and no arbitrary processes are
put to sleep.


64. What
is validity fault?
 

Ans: If a process referring a
page in the main memory whose valid bit is not set, it results in validity
fault. The valid bit is not set for those pages:


that are
outside the virtual address space of a process,


that are the
part of the virtual address space of the process but no physical address is
assigned to it.


65.
What does the swapping system do if it identifies the illegal page for
swapping?
 

Ans: If the disk block
descriptor does not contain any record of the faulted page, then this causes
the attempted memory reference is invalid and the kernel sends a “Segmentation
violation” signal to the offending process. This happens when the swapping
system identifies any invalid memory reference.


66. What
are states that the page can be in, after causing a page fault?


Ans: On a swap device and not
in memory, On the free page list in the main memory,
In an executable file, Marked “demand zero”, Marked “demand fill”.


67. In
what way the validity fault handler concludes?
 

Ans: It sets the valid bit of
the page by clearing the modify bit. It recalculates the process priority.


68. At
what mode the fault handler executes?
 

Ans: At the Kernel Mode.

69. What
do you mean by the protection fault?
 

Ans: Protection fault refers to
the process accessing the pages, which do not have the access permission. A
process also incur the protection fault when it attempts to write a page whose
copy on write bit was set during the fork() system
call.


70. How
the Kernel handles the copy on write bit of a page, when the bit is set?
 

Ans: In situations like, where
the copy on write bit of a page is set and that page is shared by more than one
process, the Kernel allocates new page and copies the content to the new page
and the other processes retain their references to the old page. After copying
the Kernel updates the page table entry with the new page number. Then Kernel
decrements the reference count of the old pfdata
table entry. In cases like, where the copy on write bit is set and no processes
are sharing the page, the Kernel allows the
physical page to be reused by the processes. By doing so, it clears the copy on
write bit and disassociates the page from its disk copy (if one exists),
because other process may share the disk
copy. Then it removes the pfdata table entry from the
page-queue as the new copy of the virtual page is not on the swap device. It
decrements the swap-use count for the page and if count drops to 0, frees the
swap space.


71. For
which kind of fault the page is
 checked first? 

Ans: The page is first checked for the validity fault, as soon as it
is found that the page is invalid (valid bit is clear), the validity fault
handler returns immediately, and the process incur the validity page fault. Kernel
handles the validity fault and the process will incur the protection fault if any one is present.


72. In
what way the protection fault handler concludes?
 

Ans: After finishing the
execution of the fault handler, it sets the modify and
protection bits and clears the copy on write bit. It recalculates the
process-priority and checks for signals.


73. How
the Kernel handles both the page stealer and the fault handler?
 

Ans: The page stealer and the
fault handler thrash because of the shortage of the memory. If the sum of the
working sets of all processes is greater that the physical memory then the
fault handler will usually sleep because it cannot allocate pages for a
process. This results in the reduction of the system throughput because Kernel
spends too much time in overhead, rearranging the memory in the frantic pace.


74.
Explain different types of Unix systems.
 

Ans: The most widely used are:
1. System V (AT&T) 2. AIX (IBM) 3. BSD (Berkeley) 4. Solaris
(Sun) 5.
Xenix ( A PC
version of Unix)


75. Explain kernal and shell. 

Ans: Kernal: It carries out basic
operating system functions such as allocating memory, accessing files and
handling communications. Shell:A
shell provides the user interface to the kernal.There
are 3 major shells : C-shell, Bourne shell , Korn
shell




76. What
is ex and vi ? 


Ans: ex is Unix
line editor and vi is the standard Unix screen editor.


77. Which
are typical system directories below the root directory?
 

Ans: (1)/bin: contains many
programs which will be executed by users (2)/etc :
files used by administrator (3)/dev: hardware devices (4)/lib: system libraries
(5)/usr: application software (6)/home: home
directories for different systems.


78. Construct pipes to execute the following jobs?

Ans:

1. Output of
who should be displayed on the screen with value of total number of users who
have logged in displayed at the bottom of the list.


2. Output of ls should be displayed on the screen and from this output
the lines containing the word ‘poem’ should be counted and the count should be
stored in a file.


3. Contents
of file1 and file2 should be displayed on the screen and this output should be
appended in a file.


From output
of ls the lines containing ‘poem’ should be displayed
on the screen along with the count.


4. Name of
cities should be accepted from the keyboard . This
list should be combined with the list present in a file. This combined list
should be sorted and the sorted list should be stored in a file ‘newcity’.


5. All files
present in a directory dir1 should be deleted any error while deleting should
be stored in a file ‘errorlog’.


79.Explain the following commands? 

$ ls > file1

$ banner
hi-fi > message


$ cat par.3
par.4 par.5 >> report


$ cat
file1>file1


$ date ; who

$ date ; who
> logfile


$ (date ;
who) > logfile


80. What
is the significance of the “tee” command?
 

Ans: It reads the standard
input and sends it to the standard output while redirecting a copy of what it
has read to the file specified by the user.


81. What
does the command “ $who | sort –logfile
> newfile” do?
 

Ans: The input from a pipe can
be combined with the input from a file . The trick is
to use the special symbol “-“ (a hyphen) for those
commands that recognize the hyphen as std input.


In the above
command the output from who becomes the std input to sort , meanwhile sort
opens the file logfile, the contents of this file is
sorted together with the output of who (rep by the hyphen) and the sorted
output is redirected to the file newfile.


82. What
does the command “$ls | wc –l > file1” do?
 

Ans: ls becomes the input to wc which counts the number of lines it receives as input
and instead of displaying this count , the value is
stored in file1.


83.Which
of the following commands is not a filter man
 , (b) cat , (c) pg , (d) head

man A filter
is a program which can receive a flow of data from std input, process (or
filter) it and send the result to the std output.


84. How
is the command “$cat file2 “ different from “$cat
>file2 and >> redirection operators ?
 

Ans: is the output redirection
operator when used it overwrites while >> operator appends into the file.


85.
Explain the steps that a shell follows while processing a command.
 

Ans: After the command line is
terminated by the key, the shell goes ahead with processing the command line in
one or more passes. The sequence is well defined and assumes the following
order.


Parsing: The shell first breaks up the command line into words,
using spaces and the delimiters, unless quoted.
All consecutive
occurrences of a space or tab are replaced here with a single space.


Variable
evaluation: All words preceded by a $ are valuated as
variables, unless quoted or escaped.


Command
substitution: Any command surrounded by back quotes is
executed by the shell which then replaces the standard output of the command
into the command line.


Wild-card
interpretation: The shell finally scans the command line for wild-cards (the
characters *, ?, [, ]).


Any word
containing a wild-card is replaced by a sorted list of


filenames
that match the pattern. The list of these filenames then forms the arguments to
the command.


PATH
evaluation: It finally looks for the PATH variable to determine the sequence of
directories it has to search in order
to hunt for the command.


86. What
difference between cmp and diff commands?
 

Ans: cmp – Compares two files byte
by byte and displays the first mismatch diff – tells the changes to be made to
make the files identical


87. What
is the use of ‘grep’ command?


Ans: grep
is a pattern search command. It searches for the pattern, specified in the
command line with appropriate option, in a file(s).


Syntax : grep

Example : grep 99mx mcafile



88. What
is the difference between cat and more command?
 

Ans: Cat displays file
contents. If the file is large the contents scroll off the screen before we
view it. So command ‘more’ is like a pager which displays the contents page by
page.


89. Write
a command to kill the last background job?
 

Ans: Kill $!

90. Which
command is used to delete all files in the current directory and all its
sub-directories?
 

Ans: rm -r *

91. Write
a command to display a file’s contents in various formats?
 

Ans: $od -cbd file_name
c – character, b – binary (octal), d-decimal, od=Octal
Dump.


92. What
will the following command do?
 

Ans: $ echo *

It is similar
to ‘ls’ command and displays all the files in the
current directory.


93. Is it
possible to create new a file system in UNIX?
 

Ans: Yes, ‘mkfs
is used to create a new file system.


94. Is it
possible to restrict incoming message?
 

Ans: Yes, using the ‘mesg’ command.

95. What is
the use of the command “ls -x chapter[1-5]”
 

Ans: ls stands for list; so it
displays the list of the files that starts with ‘chapter’ with suffix ’1′
to ’5′, chapter1, chapter2, and so on.


96. Is
‘du’ a command? If so, what is its use?
 

Ans: Yes, it stands for ‘disk
usage’. With the help of this command you can find the disk capacity and free
space of the disk.


97. Is it possible to count number char, line in a file; if so,
How?
 

Ans: Yes, wc-stands
for word count.


wc -c for counting number of characters in a file.

wc -l for counting lines in a file.

98. Name
the data structure used to maintain file identification?
 

Ans: inode’,
each file has a separate inode and a unique inode number.


99. How
many prompts are available in a UNIX system?
 

Ans: Two prompts, PS1 (Primary
Prompt), PS2 (Secondary Prompt).


100. How
does the kernel differentiate device files and ordinary files?
 

Ans: Kernel checks ‘type’ field
in the file’s inode structure.


101. How
to switch to a super user status to gain privileges?
 

Ans: Use ‘su
command. The system asks for password and when valid entry is made the user
gains super user (admin) privileges.


102. What
are shell variables?
 

Ans: Shell variables are
special variables, a name-value pair created and maintained by the shell.


Example:
PATH, HOME, MAIL and TERM


103. What
is redirection?
 

Ans: Directing the flow of data
to the file or from the file for input or output.


Example : ls > wc

104. How
to terminate a process which is running and the specialty on command kill 0?
 

Ans: With the help of kill
command we can terminate the process.


Syntax: kill pid

Kill 0 –
kills all processes in your system except the login shell.


105. What
is a pipe and give an example?
 

Ans: A pipe is two or more
commands separated by pipe char ‘|’. That tells the shell to arrange for the
output of the preceding command to be passed as input to the following command.


Example : ls -l | pr

The output
for a command ls is the standard input of pr.


When a sequence of commands are combined using pipe, then it is
called pipeline.


106.
Explain kill() and its possible return values.
 

Ans: There are four possible
results from this call:


‘kill()’
returns 0. This implies that a process exists with the given PID, and the
system would allow you to send signals to it. It is system-dependent whether
the process could be a zombie.


kill()’ returns -1, ‘errno ==
ESRCH’ either no process exists with the given PID, or security enhancements
are causing the system to deny its existence. (On some systems, the process
could be a zombie.)


kill()’ returns -1, ‘errno ==
EPERM’ the system would not allow you to kill the specified process. This means
that either the process exists (again, it could be a zombie) or draconian
security enhancements are present (e.g. your process is not allowed to send
signals to *anybody*).


kill()’ returns -1, with some other value of ‘errno’ you are in trouble! The most-used technique is to
assume that success or failure with ‘EPERM’ implies that the process exists,
and any other error implies that it doesn’t.


An
alternative exists, if you are writing specifically for a system (or all those
systems) that provide a ‘/proc’ filesystem: checking for the existence of ‘/proc/PID’ may
work.






thankU friends

urs

Mavvsn Reddy