×î¼òµ¥µÄ´°¿Ú(Gtk+ for Linux)
ÔÚLinuxÏÂʹÓÃGtk+ʵÏÖ×î¼òµ¥µÄGUI´°¿Ú£¬Ô´´úÂëÈçÏ£º
//SimpleGui.c
#include <gtk/gtk.h>
int main(int argc,char *argv[])
{
//¶¨ÒåÒ»¸öwidget(Gtk+¹¹¼þ)£¬ÕâÀﶨÒåµÄÊÇÒ»¸ö´°¿Ú¹¹¼þ
GtkWidget *wnd;
//Gtk+2.0µÄ³õʼ»¯ÃüÁîÐвÎÊý£¬Ã¿Ò»¸öGtk+³ÌÐò¶¼ÒªÓÐÕâ¾ä»°
gtk_init(&argc,&argv);
//´´½¨Ò»¸öÖö¥µÄ´°¿Ú
wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//ÉèÖÃÕâ¸ö´°¿ÚµÄ±êÌâÊÇ"Simple Form with Gtk+"
gtk_window_set_title(GTK_WINDOW(wnd),"Simple Form with Gtk+");
//Gtk+µÄÐźŻص÷º¯Êý£¬ÕâÀïµÄÕâ¸ö»Øµ÷º¯ÊýµÄ×÷ÓõÄÊǹرմ°¿Ú
g_signal_connect(G_OBJECT(wnd),"destroy",G_CALLBACK(gtk_main_quit),NULL);
//ÏÔʾ¹¹¼þº¯Êý£¬ÕâÀïÊÇÏÔʾ´°¿Ú
gtk_widget_show(wnd);
//Gtk+2.0µÄÖ÷Ñ»·Ê¼þ£¬Ã¿Ò»¸öGtk+2.0³ÌÐò¶¼ÒªÒ»¸ö£¬·ñÔò³ÌÐòÎÞ·¨ÔËÐУ¬Í¬Ê±Õâ¸öº¯ÊýÊÇÒ»¸öËÀÑ»·
//Ö»ÓÐͨ¹ýÉÏÃæµÄg_signal_connectÐźŻص÷º¯ÊýÍ˳öÕâ¸öËÀÑ»·
gtk_main();
return 0;
}
//makefile(±àдMakefileÎļþ¿ÉÒÔÈóÌÐò±àÒë¸ü¼Ó¼ò±ã)
CC=gcc
OFLAG=o
GFLAG=-g
GTK=`pkg-config --cflags --libs gtk+-2.0`
SimpleGui:SimpleGui.c
$(CC) $(OFLAG) SimpleGui SimpleGui.c $(GTK)
$(CC) $(OFLAG) SimpleGui.debug $(GFLAG) SimpleGui.c $(GTK)
È»ºóÔÚÖÕ¶ËÖÐÊäÈëmake¾Í¿ÉÒÔ±àÒë³öSimpleGuiºÍSimpleGui.debugÁ½¸öÎļþ£¬ÆäÖÐSimpleGui.debugÎļþÊǵ÷ÊÔÎļþ£¬Èç¹û³ÌÐòÓÐÎÊÌ⣬¿ÉÒÔʹÓÃDDDÕâ¸öÈí¼þ½øÐгÌÐòµ÷ÊÔ¡£Ò»¸ö¼òµ¥µÄGtk+³ÌÐò¾ÍдºÃÁË£¬Ï£ÍûºÍÆäËûÔÚLinuxÏÂ×ö¿ª·¢µÄÅóÓѶà¶àµÄ½»Á÷£¬ÎÒÊÇÒ»¸ö³õѧÕߣ¬»¹ÓкܶàµØ·½Ï£ÍûµÃµ½¸÷λµÄÖ¸µ¼£¬Ð»Ð»¡£
Ïà¹ØÎĵµ£º
ÎÒÃÇÖªµÀ£¬´ÓCMOSÖжÁ³öÀ´µÄϵͳʱ¼ä²¢²»ÊÇtime_tÀàÐÍ£¬¶øÊÇÀàËÆÓÚstruct tmÄÇÑù£¬ÄêÔÂÈÕʱ·ÖÃëÊÇ·Ö¿ª´æ´¢µÄ¡£
ÄÇô£¬Òª°ÑËüת»¯ÎªÏµÍ³±ãÓÚ´¦ÀíµÄtime_tÀàÐÍ£¬¾ÍÐèÒªËã·¨½øÐÐת»»¡£
ÎÒÃǶ¼ÖªµÀÎÒÃǵĹ«Àú»¹ÊDZȽϸ´Ôӵģ¬ÓдóÔÂСÔ£¬ÓÐÈòÄê·ÇÈòÄ꣬´¦ÀíÆðÀ´»áºÜÂé·³¡£
&n ......
1.2.2 LAPIC
ÊÕµ½À´×ÔIOAPICµÄÖжÏÏûÏ¢ºó£¬LAPIC»á½«¸ÃÖжϽ»ÓÉCPU´¦Àí¡£ºÍIOAPIC±È½Ï£¬LAPIC¾ßÓиü¶àµÄ¼Ä´æÆ÷ÒÔ¼°¸ü¸´ÔӵĻúÖÆ¡£µ«¶ÔÓÚ´¦ÀíÀ´×ÔIOAPICµÄÖжÏÏûÏ¢£¬×îÖØÒªµÄ¼Ä´æÆ÷»¹ÊÇIRR¡¢ISRÒÔ¼°EOI¡£
ͼ1-4ÏÔʾÁËx86ƽ̨ÉÏ£¬IRRºÍISRµÄ¸ñʽ£º
ͼ1-4 IRR¡¢ISR¹¹³É
ÓëPICÖеÄIRR¡¢ISR²»Í¬µÄÊÇ£¬LAPICµÄISR¡¢ ......
linux ÖÐÎÄÏÔʾÂÒÂë½â¾ö°ì·¨
vi /etc/sysconfig/i18n
½«ÄÚÈݸÄΪ
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ÕâÑùÖÐÎÄÔÚSSH,telnetÖն˾ͿÉÒÔÕý³£ÏÔʾ
......
Linux
ÏÂÉèÖö˿ÚȨÏÞµÄϵͳµ÷ÓÃÓÐÁ½¸ö£º
ioperm
ºÍ
iopl
¡£
Ò»¡¢
ioperm
ºÍ
iopl
½éÉÜ¡£
1.ioperm
¹¦ÄÜÃèÊö£º
Ϊµ÷Óýø³ÌÉèÖÃ
I/O
¶Ë¿Ú·ÃÎÊȨÄÜ¡£
ioperm
µÄʹÓÃÐèÒª¾ßÓг¬¼¶Óû§µÄȨÏÞ£¬Ö»ÓеͶ˵Ä
[0-0x3ff] I/O
¶Ë¿Ú¿É±»ÉèÖã¬ÒªÏëÖ¸¶¨¸ü¶à¶Ë¿ÚµÄȨÄÜ£¬¿ÉʹÓÃ
iopl
º¯Êý¡£ÕâÒ»µ÷ÓÃÖ»¿ÉÓÃÓ ......
linux²Ù×÷ϵͳÏÂsystem () º¯ÊýÏê½â
¡¡¡¡£¨Ö´ÐÐshell ÃüÁ
¡¡¡¡Ïà¹Øº¯Êý
¡¡¡¡fork£¬execve£¬waitpid£¬popen
¡¡¡¡±íÍ·Îļþ
¡¡¡¡££include<stdlib.h>
¡¡¡¡¶¨Ò庯Êý
¡¡¡¡int system(const char * string);
¡¡¡¡º¯Êý˵Ã÷
¡¡¡¡system()»áµ÷ÓÃfork()²úÉú×Ó½ø³Ì£¬ÓÉ×Ó½ø³ÌÀ´µ÷ÓÃ/bin/sh-c stringÀ´Ö´ÐвÎÊýstring ......