linuxÔ´Âë±Ê¼Ç
Õⲿ·ÖÄÜÓñ¾×ÅÏë¼Ç¾Í¾Í¼Ç£¬Ïë²»ÆðÀ´¾Í²»¼ÇµÄÔÔò¡£Í¬ÊdzöÓÚÁ·Ï°Ó¢ÎĵÄÄ¿µÄ£¬²¿·Ö²»ÖØÒªÄÚÈݼƻ®ÓÃÓ¢ÎÄ¡£
ÊÂÏÈ˵Ã÷ÎÒ¶ÁµÄÊÇlinux1.0£¬ÕâÀï¿ÉÒÔ¼¸ºõ²»ÓÃÔõô¿´µ½lock ǰ׺£¬¶¼Êǵ¥cpu£¬Í¬Ê±ÓÐÒýµ¼³ÌÐò¡£ Ê×ÏÈ˵Ã÷cpuΪʲô»áÔËתÆðÀ´£º
1£ºcpuÉϵçºó»á´Óijһ¸öµØÖ·¿ªÊ¼Ë³ÐòÖ´ÐгÌÐò£¬µ±È»´ËʱÊÇʵģʽ£¨Èç¹ûÎÊʲôÊÇʵģʽ£¬±£»¤Ä£Ê½£¬¼òµ¥ÔõôҲ¸ÃÖªµÀ£¬²»È»ÀÈ¥²¹¿Î£©
2£ºbiosµ±È»ÓÐһЩ»ù´¡´ÅÅ̲Ù×÷ºÍÆäËû»ù±¾É豸²Ù×÷ÄÜÁ¦£¬ÀýÈçint 0x13 int 0x10.´ËʱҪ¿´ahµÈ¼Ä´æÆ÷ÄÚÈݾö¶¨²Ù×÷ÄÚÈÝ
3£ºÓÚÊÇbios¼ì²éÁËÉ豸£¬°ÑÒýµ¼ÉÈÇø¿¼ÈëÄڴ棬cpuÉϵ翪ʼִÐÐÁË£¬´óÖÂÈç´Ë£¬µ±È»¿ÉÄÜÓиüÏêϸµÄÄÚÈÝ ÔÚ1.0 ×Ô¼º°Ñ×Ô¼º¿½±´£¬ÍêÈ«ÓÉÓÚ×Ô¼ºÐ¡ÓÚ512×Ö½Ú£¬»¹ÊÇ256£¨opcodes ×Ü×Ö½ÚÊý£©£¬·´ÕýÊǺÜС£¬È»ºó°ÑespÉèÔÚÒ»¸öÔõôҲ²»¿ÉÄܵ½´ïµÄµØÖ·£¬ÓÚÊÇ°ÑÆäËûҪװµÄ×°½øÀ´£¬²»È»×Ô¼ºÌ«Ð¡ÁË¡£×°Èësetup.sµÄÉÈÇø£¬Ìø×ª¼ì²éÉèÅ䣬×îºó֪ͨÁ½¸ö8259оƬ£¬Æô¶¯ÖжÏģʽ£¬Ã¿¸ö8259оƬ¿ÉÒÔ8¸öÖжϣ¬ÓÚÊÇÎÒÃÇÓиö16¸ö¿ÉÒÔÓõÄÁË¡£¿ªÆô±£»¤Ä£Ê½£¬Ìø×ª
we can say something about idt here.The 16 irqs gived by 8259 often be in idt33-idt48¡£I read mem_init , and feel it is so simple about page-management.only pgd,pte at the address, and a strange memmap is 0 or 1 that dicide the the read mem is used or not.I see a lot of static,extern ,and feel that linux put thing simple and fixed.It's easy system,but big application may be a challenge to it at 1.0.
Ïà¹ØÎĵµ£º
ÕâÒ»½ÚÎÒÃÇÀ´¿´¿´ÆäËûÏ̺߳¯Êý£º
int pthread_tryjoin_np(pthread_t thread_handle, void ** thread_return);
int pthread_timedjoin_np (pthread_t thread_handle, void **thread_return, __const struct timespec *abstime);
pthread_tryjoin_np»á¿ÉÒÔÓÃÀ´ÅжÏthread_handleÖ¸ÏòµÄÏß³ÌÊÇ·ñÒѾÖÐÖ¹£¬Èç¹ûûÓÐÔò*thre ......
±¾ÎĽ«ÃèÊöÏ̵߳ÄÒ»¸ö±È½ÏÖØÒªµÄÒ»·½Ã棺Ïß³Ì˽ÓÐÊý¾Ý£¬ÈçÏ´úÂ룺
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
pthread_key_t kKey = 0;
void * ThreadProc(void* arg)
{
char* a = (char*)(arg);
sleep(2);
pthread_setspecific(kKey, a);
......
ǶÈëʽLinuxϵͳCGI³ÌÐòÉè¼Æ¼¼Êõ
ÕªÒª£ºÔÚÏêϸ½éÉÜÒ»ÖÖǶÈëʽWeb·þÎñÆ÷BOAµÄʵÏÖÓëÅäÖ÷½·¨µÄ»ù´¡ÉÏ£¬ÒÔÒ»¸öWebÔÚÏßÔ¶³Ì¼à¿ØGPIO£¨Í¨ÓÃÊäÈë/Êä³ö£©µÄ³ÌÐòΪʵÀý£¬½éÉÜǶÈëʽLinuxϵͳÏÂCPU³ÌÐòÉè¼Æ¼¼Êõ¡£
¹Ø¼ü´Ê£ºÇ¶ÈëʽϵͳLinux BOA CGI GPIO
1 ¸ÅÊö
Ëæ×Å»¥ÁªÍøÓ¦ÓÃµÄÆÕ¼°£¬Ô½À´Ô½¶àµÄÐÅÏ¢»¯²úÆ·ÐèÒª½Ó ......
ÓÅÏÈȨֻÊǵ÷¶ÈËã·¨¿¼ÂǵÄÒ»¸ö·½Ãæ
½ø³Ìµ÷¶ÈÒÀ¾Ý
µ÷¶È³ÌÐòÔËÐÐʱ£¬ÒªÔÚËùÓпÉÔËÐÐ״̬µÄ½ø³ÌÖÐÑ¡Ôñ×îÖµµÃÔËÐеĽø³ÌͶÈëÔËÐС£Ñ¡Ôñ½ø³ÌµÄÒÀ¾ÝÊÇÊ²Ã´ÄØ£¿ÔÚÿ¸ö½ø³ÌµÄtask_struct½á¹¹ÖÐÓÐÒÔÏÂËÄÏpolicy¡¢priority¡¢counter¡¢rt_priority¡£ÕâËÄÏîÊÇÑ¡Ôñ½ø³ÌµÄÒÀ¾Ý¡£ÆäÖУ¬policyÊǽø³ÌµÄµ÷¶È²ßÂÔ£¬ÓÃÀ´Çø·Öʵʱ½ø³ÌºÍÆ ......
1.Linux Äں˼ò½é ÏÖÔÚÈÃÎÒÃÇ´ÓÒ»¸ö±È½Ï¸ßµÄ¸ß¶ÈÀ´ÉóÊÓһϠGNU/Linux ²Ù×÷ϵͳµÄÌåϵ½á¹¹¡£Äú¿ÉÒÔ´ÓÁ½¸ö²ã´ÎÉÏÀ´¿¼ÂDzÙ×÷ϵͳ£¬Èçͼ 1 Ëùʾ¡£ ͼ 1. GNU/Linux ²Ù×÷ϵͳµÄ»ù±¾Ìåϵ½á¹¹ ×îÉÏÃæÊÇÓû§£¨»òÓ¦ÓóÌÐò£©¿Õ¼ä¡£ÕâÊÇÓû§Ó¦ÓóÌÐòÖ´Ðеĵط½¡£Óû§¿Õ¼äÖ®ÏÂÊÇÄں˿ռ䣬Linux ÄÚºËÕýÊÇλÓÚÕâÀï¡£ GNU C Lib ......