Monday 11 February 2013

Booting Process in Solaris


Booting Process in Solaris

1. Boot prom phase
2. Boot program phase
3. Kernel initialization phase
4. Init initialization phase
Power on –> POST –>Boot Device (1-15) –>ufs boot loader –>Kernel –>/file system –>/sbin/init –> /svc/lib/svc.startd
1. Boot prom phase
When we power on the server it displays banner. Banner includes host id, mac address, promt chip release & version, physical memory size.
After displays the banner it starts post (Power On Self Test) and starts boot program phase
2. Boot program phase
Here it starts reading the boot program which is available in 1-15 sector of the HDD.
This 1-15 sector of HDD contains ufs which is responsible for loading secondary boot program called ufs boot loader.
3. Kernel initialization phase
Ufs boot loader loads the kernel in to the memory. After the loading the kernel it starts unmapping the ufs boot loader for loading operating system (O/S) modules and start mounting the root file system.
4. Init initialization phase
Here it starts /sbin/init process which is invoke /svc/lib/svc.startd which is responsible for following process
a. configuring all network devices
b. mounting all file system
c. starts all network services
d. runs rc-scripts which brings the machine to multi user mode
NOTE:-
In solaros_10 svc.startd act as a separate boot phase
The common process which starts at boot time in all flavor of Unix is init. But where as in Solaris there is another process which starts before init is swapper and its process id is 0 but it is in solaris 9. from solaris 10 its renamed as scheduled process at the same process id.
Daemon
Its continuous processes which runs in a background and provide service as per client request. The daemon which is responsible for starting the service and stopping the service is init.d But from solaris_10 its replaced with svc.startd
Stand Alone Services
This services which as starts as start time and which as ends down time its called as Stand Alone Services . these are stored under /etc/init.d directory
PORT NO
For every service we are having an address called port number these are the port no are stored under /etc/services file. /etc/services file and /etc/init/service are having symbolically link