EmbLogic's Blog

KERNEL MODULE vs APPLICATION

 

Difference between kernel module and application program.

  KERNEL MODULE                                                APPLICATION

1.Register itself to serve the future Request.

1.Perform a single task from beginning to end.

2.Not Lazy at releasing resources. it perform the cleanup fun altogether. exit undo everything init do.

2.Lazy at releasing resources

3.Lack of Floating point support.

3.Floating point support.

4.No Library support

4.There is glib c library.

5.Error can at least kill the current program if not the whole system.

5.Error not cause tremendous problems.

6.Run in kernel space.

6.Application runs in user space.

7.Concurrency is Important as many thing happenings frequently. at same time.

7.not much apart from MultiThreading. program run

8.not in virtual memory. so limited size of stack of (4 KB)

8.are laid out in virtual memory so large size of stack

9.Memory is not swap-able

9.User Memory is swap-able.

 

 

Posted in Device Drivers | Leave a comment

DATA TYPE : dev_t

dev_t data type :
*Kernel data type to represent a major / minor number pair

*Also called a device number.

*Defined in <linux/kdev_t.h>

*In Linux bit size is (major: 12 bits, minor: 20 bits)

*Macro to compose the device number:

MKDEV(int major, int minor);

*Macro to extract the minor and major numbers:

MAJOR(dev_t dev);
MINOR(dev_t dev);

Posted in Device Drivers, Linux Internals and System Programming | Leave a comment

client-server program using AF_UNIX

RCS file: header.h,v
Working file: header.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is the base header file for the Project
—————————-
revision 1.1 locked by: root;
date: 2016/04/03 15:35:50; author: root; state: Exp;
Initial revision
=============================================================================RCS file: req_client.c,v
Working file: req_client.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
This is the requesting client …sending request to the server.
Has socket() to creat the socket.
Has the connect() to connect to the server.
—————————-
revision 1.2 locked by: root;
date: 2015/06/18 09:04:22; author: root; state: Exp; lines: +7 -1
client has entered some data …into the buffer…and send that buffer through the socket file discriptor.
write()is used to wrote data
—————————-
revision 1.1
date: 2015/06/18 07:20:19; author: root; state: Exp;
Initial revision
=============================================================================RCS file: srvr.c,v
Working file: srvr.c
head: 1.4
branch:
locks: strict
root: 1.4
access list:
symbolic names:
keyword substitution: kv
total revisions: 4; selected revisions: 4
description:
this is my server program for socket programming.
this includes socket()to create the socket and returns file discriptor.
then there is bind call to name the socket created.
—————————-
revision 1.4 locked by: root;
date: 2016/01/29 08:41:59; author: root; state: Exp; lines: +36 -25
Used remove instead of unlink
used strncpy insted of strcpy to maintain the portability.
—————————-
revision 1.3
date: 2015/06/18 09:05:59; author: root; state: Exp; lines: +16 -2
the data accepted by the accept()call .
read and print the data
—————————-
revision 1.2
date: 2015/06/18 06:37:40; author: root; state: Exp; lines: +27 -7
Created listen() to listen the accept and given backlog value as 10.that is listen queue size
created accept() to accept the request of the client
—————————-
revision 1.1
date: 2015/06/18 05:55:53; author: root; state: Exp;
Initial revision
=============================================================================

Posted in Project 03: Client Server Communication using Linux and IPC, Project 04: FTP based Client Server using Threads and Sockets | Leave a comment

Multiple Client server program using Thread,Pipes and signals

RCS file: ./header.h,v
Working file: ./header.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is the header file
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 18:20:29; author: root; state: Exp;
Initial revision
=============================================================================RCS file: server.c,v
Working file: server.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
This is the server
—————————-
revision 1.2 locked by: root;
date: 2015/09/01 09:01:10; author: root; state: Exp; lines: +12 -4
Included comments
—————————-
revision 1.1
date: 2015/08/11 18:20:38; author: root; state: Exp;
Initial revision
=============================================================================

Posted in Project 03: Client Server Communication using Linux and IPC | Leave a comment

CAUSE OF CONCURRENCY

********************Cause of Concurrency*********************

–>Interrupts : An interrupt can occur asynchronously at almost any time, interrupting the currently executing code.

–>Softirqs and tasklets : The kernel can raise or schedule a softirq or tasklet at almost any time, interrupting the currently executing code.

–>Kernel preemption : Because the kernel is preemptive, one task in the kernel can preempt another.

–>Sleeping and synchronization with user-space : A task in the kernel can sleep and thus invoke the scheduler, resulting in the running of a new process.

–>Symmetrical multiprocessing : Two or more processors can execute kernel code at exactly the same time.

Posted in Linux Internals and System Programming | Leave a comment

char driver ioctl

summary
1-kernel documentation .txt file if not available in path usr/src/kernel/kernel version/documentation
then search online http:kernel.org/doc
2-prototype of unlocked ioctl is in fs.h file
3-_IO _IOR etc is available in path
usr/src/kernel/kernel version/include/uapi/asm-generic -ioctl.h
4.in user space second arrgument of ioctl should be macro of _IO _IOR etc

//////////////////////////////////////////////////////////////////////////////////
RCS file: ioctloperation.c,v
Working file: ioctloperation.c
head: 1.6
branch:
locks: strict
root: 1.6
access list:
symbolic names:
keyword substitution: kv
total revisions: 6; selected revisions: 6
description:
choce the fuction by switch statement
—————————-
revision 1.6 locked by: root;
date: 2016/03/31 19:11:28; author: root; state: Exp; lines: +1 -2
chang argumment back int to long int
—————————-
revision 1.5
date: 2016/03/31 19:08:11; author: root; state: Exp; lines: +2 -1
*** empty log message ***
—————————-
revision 1.4
date: 2016/03/31 18:55:06; author: root; state: Exp; lines: +9 -0
*** empty log message ***
—————————-
revision 1.3
date: 2016/03/31 18:16:02; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.2
date: 2016/03/31 18:15:24; author: root; state: Exp; lines: +9 -9
*** empty log message ***
—————————-
revision 1.1
date: 2016/03/31 18:03:35; author: root; state: Exp;
Initial revision
=============================================================================

RCS file: ioctldev.c,v
Working file: ioctldev.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
make function ioctl print its parameters
—————————-
revision 1.2 locked by: root;
date: 2016/03/31 18:53:25; author: root; state: Exp; lines: +2 -1
*** empty log message ***
—————————-
revision 1.1
date: 2016/03/31 18:51:37; author: root; state: Exp;
Initial revision
=============================================================================

RCS file: app.c,v
Working file: app.c
head: 1.63
branch:
locks: strict
root: 1.63
access list:
symbolic names:
keyword substitution: kv
total revisions: 63; selected revisions: 63
description:
—————————-
revision 1.63 locked by: root;
date: 2016/03/31 18:02:57; author: root; state: Exp; lines: +7 -8
add iocltl option
—————————-
revision 1.62
date: 2016/03/28 09:10:58; author: root; state: Exp; lines: +0 -1
remove write
—————————-
revision 1.61
date: 2016/03/28 05:30:49; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.60
date: 2016/03/26 10:45:24; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.59
date: 2016/03/26 10:19:56; author: root; state: Exp; lines: +2 -1
*** empty log message ***
—————————-
revision 1.58
date: 2016/03/26 10:16:28; author: root; state: Exp; lines: +1 -0
*** empty log message ***
—————————-
revision 1.57
date: 2016/03/25 17:45:23; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.56
date: 2016/03/25 12:45:46; author: root; state: Exp; lines: +3 -3
*** empty log message ***
—————————-
revision 1.55
date: 2016/03/25 11:51:09; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.54
date: 2016/03/25 11:41:12; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.53
date: 2016/03/25 09:58:25; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.52
date: 2016/03/25 09:57:26; author: root; state: Exp; lines: +2 -2
*** empty log message ***
—————————-
revision 1.51
date: 2016/03/25 09:57:02; author: root; state: Exp; lines: +1 -1
*** empty log message ***
—————————-
revision 1.50
84,1 Top

Posted in Uncategorized | Leave a comment

HIGH AND LOW MEMORY

==============HIGH AND LOW MEMORY================
High Memory : Memory for which logical addresses do not exist,
because it is beyond the address range set aside for kernel virtual
addresses.

Low Memory : Memory for which logical addresses exist in kernel space.
On almost every system you will likely encounter, all memory is low
memory.

Posted in Linux Internals and System Programming | Leave a comment

char driver

—————————-
revision 1.3
date: 2016/03/11 17:34:14;  author: root;  state: Exp;  lines: +5 -0
*** empty log message ***
—————————-
revision 1.2
date: 2016/03/11 17:29:28;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.1
date: 2016/03/11 06:36:04;  author: root;  state: Exp;
Initial revision
=============================================================================

RCS file: header.h,v
Working file: header.h
head: 1.20
branch:
locks: strict
root: 1.20
access list:
symbolic names:
keyword substitution: kv
total revisions: 20;    selected revisions: 20
description:
—————————-
revision 1.20   locked by: root;
date: 2016/03/30 11:28:43;  author: root;  state: Exp;  lines: +1 -0
add sched here TASK_NORMAL macros are define
—————————-
revision 1.19
date: 2016/03/30 10:39:42;  author: root;  state: Exp;  lines: +1 -0
*** empty log message ***
—————————-
revision 1.18
date: 2016/03/30 09:13:51;  author: root;  state: Exp;  lines: +1 -0
*** empty log message ***
—————————-
revision 1.17
date: 2016/03/28 10:05:51;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.16
date: 2016/03/28 10:05:29;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.15
date: 2016/03/28 10:04:15;  author: root;  state: Exp;  lines: +2 -0
add semaphore header file
—————————-
revision 1.14
date: 2016/03/16 08:11:58;  author: root;  state: Exp;  lines: +1 -0
*** empty log message ***
—————————-
revision 1.13
date: 2016/03/15 19:12:51;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.12
date: 2016/03/15 19:12:31;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.11
date: 2016/03/15 18:12:34;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.10
date: 2016/03/15 18:12:15;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.9
date: 2016/03/15 18:11:10;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.8
date: 2016/03/15 18:10:40;  author: root;  state: Exp;  lines: +1 -0
*** empty log message ***
—————————-
revision 1.7
date: 2016/03/11 06:17:31;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.6
date: 2016/03/11 05:46:03;  author: root;  state: Exp;  lines: +3 -0
*** empty log message ***
—————————-
revision 1.5
date: 2016/03/10 05:45:16;  author: root;  state: Exp;  lines: +1 -0
*** empty log message ***
—————————-
revision 1.4
date: 2016/03/09 15:23:14;  author: root;  state: Exp;  lines: +1 -0
*** empty log message ***
—————————-
revision 1.3
date: 2016/03/09 14:48:15;  author: root;  state: Exp;  lines: +1 -0
add linux.slab.h for kmalloc.h
—————————-
revision 1.2
date: 2016/03/09 14:22:38;  author: root;  state: Exp;  lines: +1 -1
add declare into header.h
—————————-
revision 1.1
date: 2016/03/04 11:38:30;  author: root;  state: Exp;
Initial revision
=============================================================================

RCS file: headermain.h,v
Working file: headermain.h
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;     selected revisions: 2
description:
—————————-
revision 1.2    locked by: root;
date: 2016/03/19 09:11:37;  author: root;  state: Exp;  lines: +1 -1
*** empty log message ***
—————————-
revision 1.1
date: 2016/03/19 09:10:37;  author: root;  state: Exp;
Initial revision
3013,1        99%

Posted in Uncategorized | Leave a comment

Multiple Client-server Program using threads and Message Queue

RCS file: ./header.h,v
Working file: ./header.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is the Base header file.
—————————-
revision 1.1 locked by: root;
date: 2016/03/30 17:27:32; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./req_client1.c,v
Working file: ./req_client1.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is req_client1
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 18:07:35; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./req_client2.c,v
Working file: ./req_client2.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
Req_client2
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 18:12:14; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./req_client3.c,v
Working file: ./req_client3.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
req_client3
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 18:07:49; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./request.h,v
Working file: ./request.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This header contains requesting structure.
—————————-
revision 1.1 locked by: root;
date: 2016/03/30 17:29:41; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./srvr.c,v
Working file: ./srvr.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
srvr
—————————-
revision 1.2 locked by: root;
date: 2015/09/01 08:53:00; author: root; state: Exp; lines: +7 -4
included comments
—————————-
revision 1.1
date: 2015/08/11 18:07:54; author: root; state: Exp;
Initial revision
=============================================================================

Posted in Project 03: Client Server Communication using Linux and IPC | Leave a comment

KERNEL SYMBOL TABLE

KERNEL SYMBOL TABLE

The Kernel symbol table contains the address of global kernel items – functions and variables that are needed to implement modularized kernel.

When a module is loaded,any symbol exported by the module becomes part of the kernel symbol table.
*Export the symbol only when other module get benefit from it.
*If your module needs to export symbols for other modules to use, the following macros should be used.
EXPORT_SYMBOL(name);
EXPORT_SYMBOL_GPL(name);

All exported symbols are in /proc/kallsyms

Posted in Device Drivers, Linux Internals and System Programming | Leave a comment

Multiple client server program using Shared Memory

RCS file: ./header.h,v
Working file: ./header.h
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is Base Header file for Multiple client server program using shared memory.
—————————-
revision 1.1 locked by: root;
date: 2016/03/30 17:16:27; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./req_add.c,v
Working file: ./req_add.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
req_add
—————————-
revision 1.2 locked by: root;
date: 2015/09/20 07:41:00; author: root; state: Exp; lines: +7 -4
*** empty log message ***
—————————-
revision 1.1
date: 2015/08/11 17:57:03; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./req_sub.c,v
Working file: ./req_sub.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
req_sub
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:57:08; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./req_mul.c,v
Working file: ./req_mul.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
req_mul
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:57:13; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./server.c,v
Working file: ./server.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
server
—————————-
revision 1.2 locked by: root;
date: 2015/09/01 08:16:17; author: root; state: Exp; lines: +8 -2
Included comment.
—————————-
revision 1.1
date: 2015/08/11 17:57:30; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./proc_add.c,v
Working file: ./proc_add.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
proc_ad
—————————-
revision 1.2 locked by: root;
date: 2015/09/01 08:16:00; author: root; state: Exp; lines: +4 -0
Included comment
—————————-
revision 1.1
date: 2015/08/11 17:57:17; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./proc_sub.c,v
Working file: ./proc_sub.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
proc_sub
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:57:21; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./proc_mul.c,v
Working file: ./proc_mul.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
proc_mul
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:57:26; author: root; state: Exp;
Initial revision
=============================================================================

Posted in Project 03: Client Server Communication using Linux and IPC | Leave a comment

Write a Program to Subtract two matrix?

code :

#include<stdio.h>
#include<stdlib.h>
int main()
{
system(“clear”);
int r,c,i,j,a[10][10],b[10][10],d[10][10];
printf(“Enter Row\n”);
scanf(“%d”,&r);
printf(“Enter Column\n”);
scanf(“%d”,&c);
printf(“Enter Element of Matrix1\n”);
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
scanf(“%d”,&a[i][j]);
}
}
printf(“Enter Element of Matrix2\n”);
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
scanf(“%d”,&b[i][j]);
}
}
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
d[i][j]=a[i][j]-b[i][j];
}
}
printf(“Subtraction of two Matrixs\n”);
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf(“%d-%d=%d\n”,a[i][j],b[i][j],d[i][j]);
}
}
}

Posted in Data Structures with C | Leave a comment

MUTEX

A semaphore with a count of one and treated them as a mutual exclusion lock—a sleeping version of the spin lock.

IMPORTANT POINTS ABOUT MUTEX

*Only one task can hold the mutex at a time. That is, the usage count on a mutex is always one.

*Whoever locked a mutex must unlock it. That is, you cannot lock a mutex in one context and then unlock it in another. This means that the mutex isn’t suitable for more complicated synchronizations between kernel and user-space. Most use cases,however, cleanly lock and unlock from the same context.

*Recursive locks and unlocks are not allowed. That is, you cannot recursively acquire the same mutex, and you cannot unlock an unlocked mutex.

*A process cannot exit while holding a mutex.

*A mutex cannot be acquired by an interrupt handler or bottom half, even with mutex_trylock().

*A mutex can be managed only via the official API: It must be initialized via the methods described in this section and cannot be copied, hand initialized, or reinitialized.

Only a spin lock can be used in interrupt context, whereas only a mutex can be held while a task sleeps..

Posted in Device Drivers, Linux Internals and System Programming, Project 03: Client Server Communication using Linux and IPC | Leave a comment

Multiple Client-server Program using Message Queue?

RCS file: ./header.h,v
Working file: ./header.h
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
This is Base Header file for this project.
—————————-
revision 1.2 locked by: root;
date: 2016/03/28 16:51:10; author: root; state: Exp; lines: +3 -6
*** empty log message ***
—————————-
revision 1.1
date: 2016/03/28 16:50:39; author: root; state: Exp;
Initial revision
=========================================================================RCS file: ./req_add.c,v
Working file: ./req_add.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is req_add
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:52:09; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./req_sub.c,v
Working file: ./req_sub.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
req-sub
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:52:16; author: root; state: Exp;
Initial revision
=============================================================================

====RCS file: ./req_mul.c,v
Working file: ./req_mul.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
rwq_mul
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:52:21; author: root; state: Exp;
Initial revision
==========================================================RCS file: ./server.c,v
Working file: ./server.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
server
—————————-
revision 1.2 locked by: root;
date: 2015/09/01 07:41:36; author: root; state: Exp; lines: +3 -3
Included comments.
—————————-
revision 1.1
date: 2015/08/11 17:52:57; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./proc_add.c,v
Working file: ./proc_add.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
proc_add
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:52:31; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./proc_sub.c,v
Working file: ./proc_sub.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
proc_sub
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:52:45; author: root; state: Exp;
Initial revision
=============================================================================RCS file: ./proc_mul.c,v
Working file: ./proc_mul.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
proc_mul
—————————-
revision 1.1 locked by: root;
date: 2015/08/11 17:52:51; author: root; state: Exp;
Initial revision
=============================================================================

===================

Posted in Project 03: Client Server Communication using Linux and IPC | Leave a comment

RUN_LEVELS

Runlevels define what tasks can be accomplished in the current state of a Linux system.
Linux Basic Run-levels.

LEVEL 0 —–>Shutdown

LEVEL 1——>Single user

LEVEL 6——>Reboot

Other Run-levels are:-

LEVEL 2 —–>Multiuser mode without networking

LEVEL 3——>Multiuser mode with networking

LEVEL 5——> Multiuser mode with networking and GUI

Default Run-level is Run-level 5.

to check the default run-level use command “runlevel”.

Run-level are in value /etc/inittab

Posted in Linux Internals and System Programming | Leave a comment