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
Ïà¹ØÎĵµ£º
Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)
Ò»°²×°ÐèÇó
1.swap ·ÖÇø²»µÍÓÚ2G
2.selinux ״̬disable
3.ÎïÀíÄÚ´æ²»µÍÓÚ512M
ϵͳ×é¼þ
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools
......
#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 ......
-------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
//ƽ̨powerpc mpc8379e linux 2.6.22
£±¡¢ÏÈÓÃfdisk ¸øSD¿¨·ÖÇø£¬ÓÃ×÷Îļþϵͳ¡£
½«¶Á¿¨Æ÷²åÈëPC»úÐéÄâ»ú£¬ÔÚPC»úÉÏÖ´ÐÐfdisk /dev/sdb
Ñ¡Ôñn¡¡¡£¡£¡£¡£¡£¡£¡£¡£² ......