Pages

May 15, 2011

Linux:Startup and run levels Part 2

We have seen the information about the login in the earlier post.Lets move into other aspects now.
Login invokes the shell program at the user's privilege level.One of the things bash will do is to look in the /etc/passwd file to get the name of the user. It will use the UID number to find the username and set the environment variable, USERNAME, to that value.

Files run when bash starts

When bash starts it runs script files in the following order if the files exist and if the shell is a login shell (called by the login program):
  1. The /etc/profile script file.
  2. The .bash_profile script in the user's home directory referred to as $HOME/.bash_profile or ~/.bash_profile. If it is missing $HOME/.bash_login is run. If both .bash_profile and .bash_login are missing $HOME/.profile is run. Only one of these files is run. The one run is the first one of the list found.
    1. $HOME/.bash_profile
    2. $HOME/.bash_login
    3. $HOME/.profile
  3. When bash exits the file called .bash_logout in the user's home directory is run.
I am skipping file systems for now.Lets move to Kernel

The kernel acts as a mediator for your programs and your hardware. First, it performs memory management for all of the running programs, and manages the time slices of the processor's cycles that they get. It provides a portable interface for programs to talk to your hardware.

The kernels main functions:
Device drivers:Interfacing to hardware through device drivers for character, block and network interface devices
Process Management:Controlling processes and the address space they have access to
Allocating time slices for processes
Inter-process communication including process to network card communication
Memory management:Virtual memory addressing control
Filesystem control and structuring
Networking

sysctl is a tool which is used to modify kernel params.
For further information have a look at sysctl -a |more

No comments: