Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux¸ùÎļþϵͳ¹ÒÔØ

ÓÉbootload½øÈëlinuxºóÓÉhead.s½øÈëÁËstart_kernelÁË.
asmlinkage void __init start_kernel(void)
{
       char * command_line;
       extern struct kernel_param __start___param[], __stop___param[];
       ………………..
       setup_arch(&command_line);
       ………….
       ………..
       vfs_caches_init(num_physpages); ………….     
 
…………...
       rest_init();
}
 
ÖØÒªº¯Êý½âÊÍ
 
1.Setup_archÊǽâÊÍbootloader´«¹ýÀ´µÄ²ÎÊý£¬²¢¸½Ïà¹Ø²ÎÊý¡£
 
void __init setup_arch(char **cmdline_p)
{
       struct tag *tags = (struct tag *)&init_tags;
       struct machine_desc *mdesc;
       char *from = default_command_line;
 
       setup_processor();
       mdesc = setup_machine(machine_arch_type);
       machine_name = mdesc->name;
 
       if (mdesc->soft_reboot)
              reboot_setup("s");
 
       if (mdesc->boot_params)
              tags = phys_to_virt(mdesc->boot_params);
 
       /*
        * If we have the old style parameters, convert them to
        * a tag list.
        */
 &nb


Ïà¹ØÎĵµ£º

linuxÄÚºË lock free


//
ͬ²½ÎÊÌ⣺
¶Ô¹²ÏíÊý¾ÝµÄ·ÃÎÊ£¬ÐèҪͬ²½£¬»¥³â¡£
ÔÚÖжϣ¬ÇÀÕ¼£¬¶àCPU£¬¶àÏß³Ì »·¾³ÏÂÓÈÆäÖØÒª¡£
ͬ²½·ÖΪ: ×èÈûͬ²½£¬·Ç×èÈûͬ²½
×èÈûͬ²½ÓÐÐí¶àʵÏÖ·½Ê½ÁË£ºmutex, semaphore. ×èÈûͬ²½Ê¹Óò»µ±¾Í¿ÉÄÜÔì³ÉËÀËø£¬»îËø£¬ÓÅÏȼ¶·´×ª¡£
·Ç×èÈûͬ²½£º£¨ÏÖÔÚÁ÷ÐÐÈýÖÖ£©
wait free ºÜÄÑʵÏÖ£¬Ë¼ÏëÊDZ¾Ïß³ÌÓÐÏÞ²½¾Í ......

Linux ÄÚºËÅäÖÃ

LinuxÄÚºËÅäÖð취£º
1. make config
ÕâÖÖ°ì·¨»á±éÀúËùÓÐÅäÖÃÏҪÇóÓû§Öð¸öÑ¡ÔñY/N/M
2. make menuconfig
Õâ¸ö°ì·¨ÊÇ»ùÓÚncurse¿â±àÖÆµÄͼÐνçÃæ¹¤¾ß¡£³£ÓÃ
3. make xconfig
ÓÃÓÚ»ùÓÚX11µÄͼÐι¤¾ß
4. make gconfig
ÓÃÓÚ»ùÓÚgtk+ͼÐι¤¾ß
5. make defconfig
´´½¨Ò»¸öĬÈϵÄÅäÖã¬Éú³Éµ±Ç°µÄ.config
6. make x ......

linux 0.11 ÄÚºËѧϰ file_dev.c


/*
 *  linux/fs/file_dev.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <errno.h>
#include <fcntl.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <asm/segment.h>
#define MIN(a,b) (((a)<(b))?(a):(b))
#defi ......

LinuxÖØ¶¨ÏòÏê½â

×ªÔØ£ºhttp://www.cnblogs.com/hexapodsoft/archive/2007/04/24/724902.html
I/OÖØ¶¨ÏòÏê½â¼°Ó¦ÓÃʵÀý
1¡¢ »ù±¾¸ÅÄÕâÊÇÀí½âºóÃæµÄ֪ʶµÄǰÌᣬÇëÎñ±ØÀí½â£©
a¡¢ I/OÖØ¶¨Ïòͨ³£Óë FDÓйأ¬shellµÄFDͨ³£Îª10¸ö£¬¼´ 0¡«9£»
b¡¢ ³£ÓÃFDÓÐ3¸ö£¬Îª0£¨stdin£¬±ê×¼ÊäÈ룩¡¢1£¨stdout£¬±ê×¼Êä³ö£©¡¢2£¨stderr£¬±ê×¼´íÎóÊä ......

linux Èí¼þµÄÐÔÄÜ·ÖÎö¹¤¾ß

ÔÚlinuxÉÏ£¬jprofiler¿ÉÒÔ·ÖÎöjavaµÄÈí¼þϵͳ£¬oprofile¿ÉÒÔ·ÖÎöCµÄÈí¼þϵͳ¡£
oprofile¿ÉÒÔ˵ÊÇÒ»¸ö¹¤¾ß¼¯£¬°üº¬£º
ophelp£¬
opcontrol£¬
agent libraries£¬
opreport£¬
opannotate£¬
opgprof£¬
oparchive£¬
opimport¡£
³ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ