linuxÄÚºËÄ£¿é½âÎö
Linux ¾ÍÊÇͨ³£Ëù˵µÄµ¥Äںˣ¨monolithic kernel£©£¬¼´²Ù×÷ϵͳµÄ´ó²¿·Ö¹¦Äܶ¼±»³ÆÎªÄںˣ¬²¢ÔÚÌØÈ¨Ä£Ê½ÏÂÔËÐС£ËüÓë΢ÐÍÄÚºË ²»Í¬£¬ºóÕßÖ»°Ñ»ù±¾µÄ¹¦ÄÜ£¨½ø³Ì¼äͨÐÅ [IPC]¡¢µ÷¶È¡¢»ù±¾µÄÊäÈë/Êä³ö [I/O] ºÍÄÚ´æ¹ÜÀí£©µ±×÷ÄÚºËÔËÐУ¬¶ø°ÑÆäËû¹¦ÄÜ£¨Çý¶¯³ÌÐò¡¢ÍøÂç¶ÑÕ»ºÍÎļþϵͳ£©ÅųýÔÚÌØÈ¨¿Õ¼äÖ®Íâ¡£Òò´Ë£¬Äú¿ÉÄÜÈÏΪ Linux ÊÇÒ»¸öÍêÈ«¾²Ì¬µÄÄںˣ¬µ«ÊÂʵǡǡÏà·´¡£Í¨¹ý Linux ÄÚºËÄ£¿é£¨LKM£©¿ÉÒÔÔÚÔËÐÐʱ¶¯Ì¬µØ¸ü¸Ä Linux¡£
¿É¶¯Ì¬¸ü¸Ä ÊÇÖ¸¿ÉÒÔ½«ÐµĹ¦ÄܼÓÔØµ½Äںˡ¢´ÓÄÚºËÈ¥³ýij¸ö¹¦ÄÜ£¬ÉõÖÁÌí¼ÓʹÓÃÆäËû LKM µÄРLKM¡£LKM µÄÓŵãÊÇ¿ÉÒÔ×îС»¯Äں˵ÄÄÚ´æÕ¼Óã¬Ö»¼ÓÔØÐèÒªµÄÔªËØ£¨ÕâÊÇǶÈëʽϵͳµÄÖØÒªÌØÐÔ£©¡£
Linux ²»ÊÇ¿ÉÒÔ½øÐж¯Ì¬¸ü¸ÄµÄΩһ£¨Ò²²»ÊǵÚÒ»¸ö£©µ¥Äںˡ£Berkeley Software Distribution£¨BSD£©µÄ±äÌå¡¢Sun Solaris¡¢¸üÀϵÄÄںˣ¨±ÈÈç OpenVMS£©£¬ÒÔ¼°ÆäËûÁ÷ÐеIJÙ×÷ϵͳ£¨±ÈÈç Microsoft® Windows® ºÍ Apple Mac OS X£©¶¼Ö§³Ö¿É¼ÓÔØÄ£¿é¡£
LKM£¬ËüÊÇÒÔÒ»¸öʲôÑùµÄ¶«Î÷ÄØ£¿ÎÒÃÇÖªµÀ£¬Ëû±àÒëÖ®ºó»áÊÇÒ»¸ökoºó׺ÃûµÄ¶«Î÷£¬µ«ÊÇÀïÃæÊÇÒ»¸öʲôÑùµÄ¡£ÎÒÃÇ¿´£¬Ò»°ãµÄÄ£¿éµÄÄ£°å¡£
/*
* hello.c Hello, World! As a Kernel Module
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
/*
* hello_init the init function, called when the module is loaded.
* Returns zero if successfully loaded, nonzero otherwise.
*/
static int hello_init(void)
{
printk(KERN_ALERT "I bear a charmed life.\n");
return 0;
}
/*
* hello_exit the exit function, called when the module is removed.
*/
static void hello_exit(void)
{
printk(KERN_ALERT "Out, out, brief candle!\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Shakespeare");
Ä£¿é²¢²»ÊÇÇý¶¯£¬Ö»ÊÇLinuxµÄÒ»ÖÖÄÚºËÀ©Õ¹»úÖÆ£¬Çý¶¯¾ÍÊǽèÖúÕâÖÖ»úÖÆµÄ£¬ÀíÂÛÉÏÓ¦¸ÃÕâÑùµÄÀí½â¡£
Õâ¾ÍÊÇÒ»¸öÄ£¿éµÄ»ù±¾Ä£°å£¬Í¨¹ý±àÒëÖ®ºó£¬»áÉú³ÉÒ»¸öko£¬×¢Ò⣬±àÒëµÄʱºòÓëÆäËûµÄÓ¦ÓóÌÐòÓкܴóµÄ²»Í¬£¬ÔÒòÊÇËüÉú³ÉµÄ¶«Î÷Ê
Ïà¹ØÎĵµ£º
¹ØÓÚϵͳµ÷ÓýٳÖ
Èç¹ûÒ»¸öľÂíÒªÒþ²ØÆðÀ´£¬²»±»ÏµÍ³¹ÜÀíÔ±·¢ÏÖ¡£½Ø»ñϵͳµ÷ÓÃËÆºõÊDZØÐëµÄ¡£´ó²¿·ÖÇé¿öÏ£¬Í¨¹ýÐÞ¸Äϵͳµ÷ÓñíÀ´ÊµÏÖϵͳµ÷ÓõĽٳ֡£ÏÂÃæÊÇÒ»¸öµäÐ͵Ľػñϵͳµ÷ÓõÄÄ£¿é£º
Ä£¿éÒ»£º
#include
#include
#include
#include
#include
#include
#include
#include
#include
MODULE_LICE ......
ÍøÉÏÓкܶàµÄ·½·¨£¬¹ØÓÚÍü¼ÇlinuxµÇ¼ÃÜÂëÖ®ºóÓ¦¸ÃÔõô°ì¡£ÓÐÎåÖÖ·½·¨£¬¶¼ºÜºÃ¡£
±¾ÈËÒÔΪÓÃgrubÒýµ¼µÄÄÇÖÖ×îʵÓ㬺Ǻǣ¡ÊÔÁËһϣ¬¹ûÈ»¿ÉÒÔ£¡£¡
grubÒýµ¼
1. ÔÚ³öÏÖgrub»ÃæÊ±£¬Ñ¡ÔñlinuxÒýµ¼ÏȻºó°´e¼ü
2. Ñ¡ÔñÒÔkernel¿ªÍ·µÄÒ»ÐУ¬ÔÙ°´e ¼ü£¬ÔÚ´ËÐеÄĩ⣬°´¿Õ¸ñ¼üºóÊäÈësingle£¬ÒԻسµ¼üÀ´Í˳ö±à¼Ä£Ê½£» ......
Linux²Ù×÷ϵͳ¶¨Ê±µ÷¶ÈϵͳCron½éÉÜ
cronÊÇÒ»¸ölinuxÏµĶ¨Ê±Ö´Ðй¤¾ß£¬¿ÉÒÔÔÚÎÞÐèÈ˹¤¸ÉÔ¤µÄÇé¿öÏÂÔËÐÐ×÷Òµ£¬±¾Îĵµ²»½²cronʵÏÖÔÀí£¬Ö÷Òª½²Ò»ÏÂcronµÄ¾ßÌåʹÓü°¼òµ¥½éÉÜ¡£
ÐÂÔöµ÷¶ÈÈÎÎñ
ÍÆ¼öʹÓÃcrontab -eÃüÁîÌí¼Ó×Ô¶¨ÒåµÄÈÎÎñ£¨±à¼µÄÊÇ/var/spool/cron϶ÔÓ ......
vi /etc/rc.d/rc.local
Ôö¼Ó£º/usr/local/httpd/bin/apachectl start
2£º[×¢²áΪService]
cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
vi httpd
ÕÒµ½£º#!/bin/sh
ÁíÆðÒ»ÐУ¬Ôö¼Ó£º
# chkconfig: 35 70 30
ÆäÖÐËùÔö¼ÓµÄµÚ¶þÐÐÖÐÈý¸öÊý×ÖµÚÒ»¸ö±íʾÔÚÔËÐм¶±ð3ºÍ5ÏÂÆô¶¯apache£¬µÚ¶þ¡¢ÈýÊǹØÓÚÆô¶¯ºÍÍ ......
1. xhost hostname Æô¶¯/Ìí¼ÓxwindowȨÏÞ,·ñÔò±¨´í
2. °²×°Oracle10g,Èç¹û²»ÉèÖÃORACLE_SID»òÕßûÓÐexport,µÇ¼ʱÌáʾORA-12162: TNS:net service name is incorrectly specified
3.groupadd
4.useradd -g groupname username
5.cat /etc/group ²é¿´Óû§×é
6.id usename ²é¿´Óû§×éµÈÊôÐÔ
7.Oracle 10g Æô¶¯ 1) lsnc ......