¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´Ëµ,¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄgdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3λ°üÀ¨Á˳ÌÐòÊÇ·ñÔÚÄÚ´æÖÐÒÔ¼°³ÌÐòµÄÔÚcpuÖеÄÔËÐм¶±ð,Ö¸ÏòµÄgdtÊÇÓÉÒÔ64λΪһ¸öµ¥Î»µÄ±í£¬ÔÚÕâÕűíÖоͱ£´æ×ųÌÐòÔËÐеĴúÂë¶ÎÒÔ¼°Êý¾Ý¶ÎµÄÆðʼµØÖ·ÒÔ¼°Óë´ËÏàÓ¦µÄ¶ÎÏÞºÍÒ³Ãæ½»»»»¹ÓгÌÐòÔËÐм¶±ð»¹ÓÐÄÚ´æÁ£¶ÈµÈµÈµÄÐÅÏ¢¡£Ò»µ©Ò»¸ö³ÌÐò·¢ÉúÁËÔ½½ç·ÃÎÊ£¬cpu¾Í»á²úÉúÏàÓ¦µÄÒì³£±£»¤£¬ÓÚÊÇsegmentation fault¾Í³öÏÖÁË.
ÔÚ±à³ÌÖÐÒÔϼ¸Àà×ö·¨ÈÝÒ×µ¼Ö¶δíÎó,»ù±¾ÊÇÊÇ´íÎóµØÊ¹ÓÃÖ¸ÕëÒýÆðµÄ
1)·ÃÎÊϵͳÊý¾ÝÇø£¬ÓÈÆäÊÇÍù ϵͳ±£»¤µÄÄÚ´æµØÖ·Ð´Êý¾Ý
×î³£¼û¾ÍÊǸøÒ»¸öÖ¸ÕëÒÔ0µØÖ·
2)ÄÚ´æÔ½½ç(Êý×éÔ½½ç£¬±äÁ¿ÀàÐͲ»Ò»ÖµÈ) ·ÃÎʵ½²»ÊôÓÚÄãµÄÄÚ´æÇøÓò
½â¾ö·½·¨
ÎÒÃÇÔÚÓÃC/C++ÓïÑÔд³ÌÐòµÄʱºî£¬ÄÚ´æ¹ÜÀíµÄ¾ø´ó²¿·Ö¹¤×÷¶¼ÊÇÐèÒªÎÒÃÇÀ´×öµÄ¡£Êµ¼ÊÉÏ£¬ÄÚ´æ¹ÜÀíÊÇÒ»¸ö±È½Ï·±ËöµÄ¹¤×÷£¬ÎÞÂÛÄã¶à¸ßÃ÷£¬¾Ñé¶à·á¸»£¬ÄÑ Ãâ»áÔÚ´Ë´¦·¸Ð©Ð¡´íÎ󣬶øÍ¨ ......
1.linux ϵͳµ÷ÓõĻù±¾ÔÀí
linuxµÄϵͳµ÷ÓÃÐÎʽÓëPOSIX¼æÈÝ£¬Ò²ÊÇÒ»Ì×CÓïÑÔº¯ÊýÃûµÄ¼¯ºÏ¡£È»¶ø£¬linuxϵͳµ÷ÓõÄÄÚ²¿ÊµÏÖ·½Ê½È´ÓëDOCµÄINT 21HÏàËÆ£¬ËüÊǾ¹ýINT 0X80HÈíÖжϽøÈëºó£¬ÔÙ¸ù¾Ýϵͳµ÷ÓúŷÖÃűðÀàµØ·þÎñ¡£
´Óϵͳ·ÖÎöµÄ½Ç¶È£¬linuxµÄϵͳµ÷ÓÃÉæ¼°4¸ö·½ÃæµÄÎÊÌâ¡£
(1)Óëϵͳµ÷ÓÃÓйصÄÊý¾Ý½á¹¹ºÍº¯Êý
º¯ÊýÃûÒÔ“sys_”¿ªÍ·£¬ºó¸ú¸Ãϵͳµ÷ÓõÄÃû×Ö¡£ÀýÈ磬ϵͳµ÷ÓÃfork()µÄÏìÓ¦º¯ÊýÊÇsys_fork()(¼ûkernel/fork.c),exit()µÄÏìÓ¦º¯ÊýÊÇsys_exit()(¼ûkernel/fork.c)¡£
Îļþinclude/asm/unisted.hΪÿ¸öϵͳµ÷Óù涨ÁËΨһµÄ±àºÅ¡£¼ÙÉèÓÃname±íʾϵͳµ÷ÓõÄÃû³Æ£¬ÄÇôϵͳµ÷ÓúÅÓëϵͳµ÷ÓÃÏìÓ¦º¯Êý
µÄ¹ØÏµÊÇ£ºÒÔϵͳµ÷ÓúÅ_NR_name×÷Ϊϱ꣬¿ÉÕÒ³öϵͳµ÷Óñísys_call_table(¼ûarch/i386/kernel
/entry.S)ÖжÔÓ¦±íÏîµÄÄÚÈÝ£¬ËüÕýºÃ ÊǸÃϵͳµ÷ÓõÄÏìÓ¦º¯Êýsys_nameµÄÈë¿ÚµØÖ·¡£ÏµÍ³µ÷
Óñísys_call_table¼Ç¼Á˸÷sys_nameº¯ÊýÔÚ±íÖеÄλ Ö㬹²190Ïî¡£ÓÐÁËÕâÕÅ±í£¬¾ÍºÜÈÝÒ׸ù¾ÝÌØ¶¨ÏµÍ³µ÷ÓÃ
ÔÚ±íÖÐµÄÆ«ÒÆÁ¿£¬ÕÒµ½¶ÔÓ¦µÄϵͳµ÷ÓÃÏìÓ¦º¯ÊýµÄÈë¿ÚµØÖ·¡£ÏµÍ³µ÷ÓÃ±í¹²256ÏÓàϵÄÏîÊǿɹ©Óû§× ......
http://www.puschitz.com/InstallingOracle10g.shtml
ÎÒÓõÄÊÇCentos5.4
DVD¹âÅ̰²×°µÄlinux²Ù×÷ϵͳ£¬°²×°linuxµÄʱºòÑ¡ÉÏ¿ª·¢¹¤¾ß£¬Xmanager,ÓëÊý¾Ý¿âÏà¹ØµÄ°ü¡£
²Ù×÷ϵͳ°²×°Íê³ÉÖ®ºóÐèÒª½øÐÐһϵÁеÄÅäÖòÅÄܰ²×°oracle10g£¬ÏÂÃæ°Ñ
Ö÷Òª²½Öè¼Ç¼ÏÂÀ´¡£
1.°²×°Íê²Ù×÷ϵͳ֮ºó»¹ÊÇÓÐЩ°üûÓа²×°£¬È»¶ø°²×°oracle10gµÄʱºò
ÐèÒªÓõ½£¬Ã»Óа²×°µÄ°üÓÐ:
libXp-1.0.0-8.i386.rpm
openmotif-2.3.0-0.3.el5.i386.rpm
compat-db-4.2.52-5.1.i386.rpm
ps
ÒÀÀµµÄ°üÓУº
£±£®binutils-2.17.50.0.6-12.el5
¡¡¡¡£²£®compat-db-4.2.52-5.1
¡¡¡¡£³£®control-center-2.16.0-16.el5
¡¡¡¡£´£®gcc-4.1.2-46.el5_4.1
¡¡¡¡£µ£®gcc-c++-4.1.2-46.el5_4.1
¡¡¡¡£¶£®glibc-2.5-42
¡¡¡¡£·£®glibc-common-2.5-42
¡¡¡¡£¸£®libstdc++-4.1.2-46.el5_4.1
¡¡¡¡£¹£®libstdc++-devel-4.1.2-46.el5_4.1
¡¡¡¡£±£°£®make-3.81-3.el5
¡¡¡¡£±£±£®pdksh-5.2.14-36.el5
¡¡¡¡£±£²£®sysstat-7.0.2-3.el5
¡¡¡¡£±£³£®libaio-0.3.106-3.2
¡¡¡¡£±£´£®openmotif22-2.2.3-18
¡¡¡¡£±£µ£®libXp-1.0.0-8.1.el5
2.Ìí¼Ó×éºÍÓû§
groupadd
dba ......
http://www.puschitz.com/InstallingOracle10g.shtml
ÎÒÓõÄÊÇCentos5.4
DVD¹âÅ̰²×°µÄlinux²Ù×÷ϵͳ£¬°²×°linuxµÄʱºòÑ¡ÉÏ¿ª·¢¹¤¾ß£¬Xmanager,ÓëÊý¾Ý¿âÏà¹ØµÄ°ü¡£
²Ù×÷ϵͳ°²×°Íê³ÉÖ®ºóÐèÒª½øÐÐһϵÁеÄÅäÖòÅÄܰ²×°oracle10g£¬ÏÂÃæ°Ñ
Ö÷Òª²½Öè¼Ç¼ÏÂÀ´¡£
1.°²×°Íê²Ù×÷ϵͳ֮ºó»¹ÊÇÓÐЩ°üûÓа²×°£¬È»¶ø°²×°oracle10gµÄʱºò
ÐèÒªÓõ½£¬Ã»Óа²×°µÄ°üÓÐ:
libXp-1.0.0-8.i386.rpm
openmotif-2.3.0-0.3.el5.i386.rpm
compat-db-4.2.52-5.1.i386.rpm
ps
ÒÀÀµµÄ°üÓУº
£±£®binutils-2.17.50.0.6-12.el5
¡¡¡¡£²£®compat-db-4.2.52-5.1
¡¡¡¡£³£®control-center-2.16.0-16.el5
¡¡¡¡£´£®gcc-4.1.2-46.el5_4.1
¡¡¡¡£µ£®gcc-c++-4.1.2-46.el5_4.1
¡¡¡¡£¶£®glibc-2.5-42
¡¡¡¡£·£®glibc-common-2.5-42
¡¡¡¡£¸£®libstdc++-4.1.2-46.el5_4.1
¡¡¡¡£¹£®libstdc++-devel-4.1.2-46.el5_4.1
¡¡¡¡£±£°£®make-3.81-3.el5
¡¡¡¡£±£±£®pdksh-5.2.14-36.el5
¡¡¡¡£±£²£®sysstat-7.0.2-3.el5
¡¡¡¡£±£³£®libaio-0.3.106-3.2
¡¡¡¡£±£´£®openmotif22-2.2.3-18
¡¡¡¡£±£µ£®libXp-1.0.0-8.1.el5
2.Ìí¼Ó×éºÍÓû§
groupadd
dba ......
Linux¿ª»ú¹ý³Ì
1. BIOS£º¿ª»úÖ÷¶¯Ö´ÐеÄÈÍÌ壬»áÈÏʶµÚÒ»¸ö¿É¿ª»úµÄ×°Öã»
2. MBR£ºµÚÒ»¸ö¿É¿ª»ú×°ÖõĵÚÒ»¸öÉÈÇøÄÚµÄÖ÷ÒªÆô¶¯¼ÇÂ¼Çø¿é£¬ÄÚº¬¿ª»ú
¹ÜÀí³ÌÐò£»
3. ¿ª»ú¹ÜÀí³ÌÐò(boot loader)£ºÒ»¸ö¿É¶ÁÈ¡ºËÐÄÎļþÀ´Ö´ÐеÄÈí¼þ£»
4. ºËÐÄÎļþ£º¿ªÊ¼²Ù×÷ϵͳµÄ¹¦ÄÜ...
MBR ½öÓÐ 446 bytes¡£
boot loader µÄÖ÷ÒªÈÎÎñ£º
Ìṩѡµ¥£ºÓû§¿ÉÒÔÑ¡Ôñ²»Í¬µÄ¿ª»úÏîÄ¿£¬ÕâÒ²ÊǶàÖØÒýµ¼µÄÖØÒª¹¦ÄÜ£¡
ÔØÈëºËÐĵµ°¸£ºÖ±½ÓÖ¸Ïò¿É¿ª»úµÄ³ÌÐòÇø¶ÎÀ´¿ªÊ¼²Ù×÷ϵͳ£»
ת½»ÆäËû loader£º½«¿ª»ú¹ÜÀí¹¦ÄÜת½»¸øÆäËû loader ¸ºÔð¡£
¿ª»ú¹ÜÀí³ÌÐò³ýÁË¿ÉÒÔ°²×°ÔÚ MBR Ö®Í⣬ »¹¿ÉÒÔ°²×°ÔÚÿ
¸ö·ÖÇøµÄÆô¶¯ÉÈÇø(boot sector)¡£
¹ÒÔØ(mount)
ÔÚĬÈϵÄÇé¿öÏ£¬Linux Êǽ«¹âÇýµÄÊý¾Ý·ÅÖõ½/media/cdrom Àï
NATÍøÂçµØÖ·×ª»»(¹²ÏíÉÏÍø)
SAMBA(¹²ÏíÎļþ)
Mail(Óʼþ·þÎñÆ÷)
Web(WWW ·þÎñÆ÷)
DHCP(Ìṩ¿Í»§¶Ë×Ô¶¯È¡µÃ IP µÄ¹¦ÄÜ)
Proxy(´úÀí·þÎñÆ÷)
FTP(Îļþ·þÎñÆ÷)
......
/************************
cÓïÑÔ±àдµÄtcp socketͨÐŵÄserver¶Ë¡£
¿ÉÒÔ³ÖÐø¼àÌýmyprotÖ¸¶¨µÄ¶Ë¿Ú
´òÓ¡¶Ë¿Ú½ÓÊÕµ½µÄ×Ö·ûÁ÷
Í·ÎļþÒòΪ¼âÀ¨ºÅ±»×ªÒ壬ËùÒÔÓÃÁËÒýºÅ
************************/
#include "stdio.h"
#include "stdlib.h"
#include "errno.h"
#include "string.h"
#include "sys/types.h"
#include "netinet/in.h"
#include "sys/socket.h"
#include "sys/wait.h"
int main(int argc,char **argv)
{
int sockfd, new_fd;
struct sockaddr_in my_addr;
struct sockaddr_in their_addr;
unsigned int sin_size,myport,listnum;
myport = 9785; //°ó¶¨µÄ¶Ë¿ÚºÅ
listnum = 10;
/*************************************************
Socket½Ó¿Ú£ºÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àµÄº¯Êý£¬¿ÉÒÔ
&n ......
linuxÏÂmd5sumµÄʹÓÃ
MD5Ëã·¨³£³£±»ÓÃÀ´ÑéÖ¤ÍøÂçÎļþ´«ÊäµÄÍêÕûÐÔ£¬·ÀÖ¹Îļþ±»È˴۸ġ£MD5
È«³ÆÊDZ¨ÎÄÕªÒªËã·¨£¨Message-Digest Algorithm
5£©£¬´ËËã·¨¶ÔÈÎÒⳤ¶ÈµÄÐÅÏ¢Öðλ½øÐмÆË㣬²úÉúÒ»¸ö¶þ½øÖƳ¤¶ÈΪ128λ£¨Ê®Áù½øÖƳ¤¶È¾ÍÊÇ32룩µÄ“Ö¸ÎÆ”£¨»ò³Æ“±¨ÎÄÕªÒª”£©£¬²»Í¬µÄÎļþ²úÉúÏà
ͬµÄ±¨ÎÄÕªÒªµÄ¿ÉÄÜÐÔÊǷdz£·Ç³£Ö®Ð¡µÄ¡£
ÔÚlinux»òUnixÉÏ£¬md5sumÊÇÓÃÀ´¼ÆËãºÍУÑéÎļþ±¨ÎÄÕªÒªµÄ¹¤¾ß³ÌÐò¡£Ò»°ãÀ´Ëµ£¬°²×°ÁËLinuxºó£¬¾Í»áÓÐmd5sumÕâ¸ö¹¤¾ß£¬Ö±½ÓÔÚÃüÁîÐÐÖÕ¶ËÖ±½ÓÔËÐС£
1¡¢Ê¹ÓÃmd5sumÀ´²úÉúÖ¸ÎÆ£¨±¨ÎÄÕªÒª£©ÃüÁîÈçÏ£º
md5sum file > file.md5
»òÕß
md5sum file >>file.md5
Ò²¿ÉÒ԰Ѷà¸öÎļþµÄ±¨ÎÄÕªÒªÊä³öµ½Ò»¸ömd5ÎļþÖУ¬ÕâҪʹÓÃͨÅä·û*£¬±ÈÈçijĿ¼ÏÂÓм¸¸öisoÎļþ£¬Òª°ÑÕ⼸¸öisoÎļþµÄÕªÒªÊä³öµ½iso.md5ÎļþÖУ¬ÃüÁîÈçÏ£º
md5sum *.iso > iso.md5
2¡¢Ê¹ÓÃmd5±¨ÎÄÕªÒªÑéÖ¤Îļþ£¬·½·¨Óжþ£º
°ÑÏÂÔØµÄÎļþfileºÍ¸ÃÎļþµÄfile.md5±¨ÎÄÕªÒªÎļþ·ÅÔÚͬһ¸öĿ¼Ï£¬È»ºóÓÃÈçÏÂÃüÁî½øÐÐÑéÖ¤£º
md5sum -c file.md5
È»ºóÈç¹ûÑéÖ¤³É¹¦£¬Ôò»áÊä³ö:ÕýÈ· ......