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

LinuxÖ´ÐÐÒÔ¼°ÐéÄâÄÚ´æÖ®ÓÃ

Linux Execution and Virtual Memory Utilization 
LinuxÖ´ÐÐÒÔ¼°ÐéÄâÄÚ´æÖ®ÓÃ
When Linux boots, it starts with the MMU disabled, so initially it deals only with physical 
memory. The kernel image is copied to physical address 0x8000 in DRAM and executed. First a master page table is created and placed just before the kernel, which describes all available DRAM. The MMU is then switched on, mapping all of DRAM to virtual address 0xC0000000. The kernel reserves 64K of virtual memory for the interrupt handler code (usually at the very top of virtual memory), and sets up all the mappings for the hardware registers (UART, USB, LCD, GPIO, etc). Once kernel space is established and all drivers are initialized, the linux kernel moves on to establishing user space. This involves reading in the file system and actually executing processes. 
µ±LinuxÆô¶¯Ê±£¬ÊÇÒÔMMU½ûÓÃÀ´¿ªÆôËüµÄÂÃ;µÄ£¬Òò´Ë£¬ËüÆð³õÖ»¹Ø×¢ÎïÀíÄÚ´æ¡£ÄÚºËÓ³Ïñ£¨kernel image£©±»¿½±´µ½DRAMµÄÎïÀíµØÖ· 0x8000´¦£¬²¢µÃµ½Ö´ÐÐȨ¡£µÚÒ»¸öÖ÷Ò³±í£¨ master page table£©´Ó¶øµ®Éú£¬²¢½ô°¤×ÅÄÚºËÓ³Ïñ´æ·Å£¬Õâ¸öÒ³±íÊǶÔÈ«²¿¿ÉÓÃDRAMµÄÃèÊö¡£´Ëºó£¬MMU±»ÆôÓ㬴Ӷø°ÑÈ«²¿DRAMÓ³Éäµ½´Ó0xC0000000¿ªÊ¼µÄÐ鵨ַ¡£ÄÚºËΪÖжϴ¦Àí³ÌÐò±£Áô64KÐéÄâÄڴ棨ͨ³£ÔÚÐéÄâÄÚ´æµÄ¶¥¶Ë£©£¬È»ºóΪËùÓеÄÓ²¼þ¼Ä´æÆ÷(UART, USB, LCD, GPIO, etc)½¨Á¢Ó³Éä¡£Ò»µ©Äں˿ռ佨Á¢ÆðÀ´£¬²¢ÇÒËùÓеÄÇý¶¯³ÌÐò¶¼±»³õʼ»¯£¬ÔòLinuxÄÚºËתÏò½¨Á¢Óû§¿Õ¼ä¡£ÕâÉæ¼°µ½ÔÚÎļþϵͳÖжÁÈ¡²¢Êµ¼ÊÖ´Ðнø³Ì¡£
Each process that runs on the system does so in its own memory “context”. Each context 
has its virtual memory space established and maintained by the kernel using a separate page table. So each process can “see” the entire user space, but its underlying physical memory is different from the other processes. Multiple processes and their contexts are run in time slices. This means that each process executes for a time, then is halted, and execution is passed to the next process in a rotating queue. The act of passing execution is called “context switching&r


Ïà¹ØÎĵµ£º

xshellÁ¬½ÓlinuxÖÐÎÄÂÒÂë

ÍøÉϺܶàÌû×ÓÎÊxhellÁ¬½ÓlinuxÖÐÎÄÂÒÂ룬¾ø´ó²¿·ÖÊǽ«LANGÊôÐÔÖµÉèÖÃÓ¢ÎÄ£¬¼´export LANG=en_US.UTF-8;
µ«ÊÇÎÒÃǽ«ÏµÍ³ÉèÖÃΪÖÐÎÄ£¬µ±È»ÊÇÒòΪ×Ô¼ºÓÃÖÐÎÄ¿ÉÒÔÌá¸ßЧÂÊ£¬¼õÉÙ³ö´í¡£
ÕâÖÖ·½Ê½Ö»ÄÜÖα겻ÄÜÖα¾£¬Ï´ÎʹÓÃsshÁ¬linuxʱ»¹ÊÇ»áÂÒÂ룬
ÏÖÔÚ½«ÎÒ×Ô¼ºµÄ½â¾ö·½Ê½¹²Ïí¸ø´ó¼Ò¡£
±à¼­/etc/sysconfig/i18n
½«ÎļþÖе ......

Linux——samba·þÎñÅäÖÃÏê½â

1 ²é¿´µ±Ç°°²×°sambaûÓУ¬
ÃüÁrpm -qa | grep samba
ÓÐ3¸öÎļþÈ磺samba¡¢common¡¢clientÔò±íÃ÷³É¹¦°²×°ÁË
·ñÔò£ºÓÃÃüÁîrpm -ivh samba*.rpm°²×°sambaÈí¼þ°ü¡£
2 °²×°Íêºó¶àÊý¶¼±£´æÔÚ/etc/sambaĿ¼Ï£¬Ä¿Â¼ÏÂÓÐÒ»¸ösmb.confµÄÎļþ£¬
ËüÊÇsamba·þÎñµÄºËÐÄÎļþ£¬ËùÓÐÅäÖö¼ÔÚÕâÀïÐ޸ġ£
ÆäÖаüÀ¨smbdºÍnmbdÁ½¸ö³ ......

Linux»ñÈ¡±¾»úIP¡¢MACʾÀý³ÌÐò

#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include <cstring>
using namespace std;
void peek_interfaces(int ......

linux ϵͳԴÂë°²×° mysql ¡¢fedora10 mysql5

²Ù×÷ϵͳ Fedora 10
mysql°²×°°ü mysql-5.0.85.tar.gz
1¡¢´´½¨mysqlÓû§×éºÍÓû§Ãû
# groupadd mysqlGroup
  £¨´´½¨×飩
# useradd -g mysqlGroup mysqlUser 
£¨´´½¨Ò»ÕʺÅ)
2¡¢½âѹ°²×°°ü £¬µ±Ç°Ä¿Â¼Îª /home/hust/down/mysql/
# tar -xvzf mysql-5.0.85.tar.gz 
      ......

LINUXʹÓüǼ

-------------------------------------------------------------------------------------------------------
By:yuyongbao
QQ:673360056
£±¡¢  linuxϹ²ÏíÎļþ¡£°²×°smbserver¡£È»ºóÔÚ¡¶ÏµÍ³ÉèÖá·Öдò¿ª¡¶·þÎñÆ÷ÉèÖ᷵ġ¶smb¡¡server¡··þÎñÆ÷£¬ÊäÈëÏà¹ØÂ·¾¶¼´¿É¡£È»ºóÔÚwindowÖУ¬Ê¹ÓÃÍøÂçÁÚ¾Ó²éÕÒlinux¡££¨×¢ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ