LinuxÏÂÉèÖö˿ÚȨÏÞµÄϵͳµ÷ÓÃÓÐÁ½¸ö£ºiopermºÍiopl
Linux
ÏÂÉèÖö˿ÚȨÏÞµÄϵͳµ÷ÓÃÓÐÁ½¸ö£º
ioperm
ºÍ
iopl
¡£
Ò»¡¢
ioperm
ºÍ
iopl
½éÉÜ¡£
1.ioperm
¹¦ÄÜÃèÊö£º
Ϊµ÷Óýø³ÌÉèÖÃ
I/O
¶Ë¿Ú·ÃÎÊȨÄÜ¡£
ioperm
µÄʹÓÃÐèÒª¾ßÓг¬¼¶Óû§µÄȨÏÞ£¬Ö»ÓеͶ˵Ä
[0-0x3ff] I/O
¶Ë¿Ú¿É±»ÉèÖã¬ÒªÏëÖ¸¶¨¸ü¶à¶Ë¿ÚµÄȨÄÜ£¬¿ÉʹÓÃ
iopl
º¯Êý¡£ÕâÒ»µ÷ÓÃÖ»¿ÉÓÃÓÚ
i386
ƽ̨¡£
Ó÷¨£º
#include <unistd.h> /* for libc5 */
#include <sys/io.h> /* for glibc */
int ioperm(unsigned long from, unsigned long num, int turn_on);
²ÎÊý£º
from
£ºÆðʼ¶Ë¿ÚµØÖ·¡£
num
£ºÐèÒªÐÞ¸ÄȨÄܵĶ˿ÚÊý¡£
turn_on
£º¶Ë¿ÚµÄÐÂȨÄÜλ¡£
1
Ϊ¿ªÆô£¬
0
Ϊ¹Ø±Õ¡£
·µ»Ø˵Ã÷£º
³É¹¦Ö´ÐÐʱ£¬·µ»Ø
0
¡£Ê§°Ü·µ»Ø
-1
£¬
errno
±»ÉèΪÒÔϵÄij¸öÖµ
EINVAL
£º²ÎÊýÎÞЧ
EIO
£ºÕâÒ»µ÷Óò»±»Ö§³Ö
EPERM
£ºµ÷Óýø³ÌȨÄܲ»×ã¡£
2. iopl
¹¦ÄÜÃèÊö£º¸Ãµ÷ÓÃÓÃÓÚÐ޸ĵ±Ç°½ø³ÌµÄ²Ù×÷¶Ë¿ÚµÄȨÏÞ¡£¿ÉÒÔÓÃÓÚËùÓÐ
65536
¸ö¶Ë¿ÚµÄȨÏÞ¡£Òò´Ë£¬
ioperm
Ï൱Óڸõ÷ÓõÄ×Ó¼¯¡£ºÍ
ioperm
Ò»Ñù£¬ÕâÒ»µ÷ÓýöÊÊÓÃÓÚ
i386
ƽ̨¡£
Ó÷¨£º
#include <sys/io.h>
int iopl(int level);
²ÎÊý£º
level
£º
¶Ë¿ÚµÄȨÏÞ¼¶±ð
¡£Îª
3
ʱ¿ÉÒÔ¶Áд¶Ë¿Ú¡£Ä¬ÈÏȨÄܼ¶±ðΪ
0
£¬Óû§¿Õ¼ä²»¿É¶Áд¡£
·µ»Ø˵Ã÷£º³É¹¦Ö´ÐÐʱ£¬·µ»Ø
0
¡£Ê§°Ü·µ»Ø
-1
£¬
errno
±»ÉèΪÒÔϵÄij¸öÖµ
EINVAL
£º
level
Öµ´óÓÚ
3
ENOSYS
£ºÎ´ÊµÏָõ÷ÓÃ
EPERM
£ºµ÷Óýø³ÌȨÄܲ»×ã¡£
¶þ¡¢³ÌÐòʾÀý
1. ioperm.c
²Ù×÷µÍÓÚ
0x3FF
µÄ¶Ë¿Ú
¸Ã³ÌÐòÊ×ÏÈÉèÖÃ
0x3FF
¶Ë¿ÚµÄ¶ÁдȨÏÞ£¬È»ºó¶Á³öÔÏȵÄÖµ£¬È»ºó½«ÔÖµµÄ
LSB
·×ª²¢Ð´»Ø¶Ë¿Ú£¬²¢Ôڴ˶ÁÈ¡¶Ë¿ÚÖµ¡£
/*Godbach. Dec 18, 2008
Description:This function is used to test ioperm()*/
#include <stdio.h>
#include <unistd.h>
#include <sys/io.h>
#define PORT_ADDR 0x3FF
int main(void)
{
int ret;
char port_val;
/*set r/w permission of port_addr on, only one port*/
ret = ioperm(PORT_ADDR, 1, 1);
if(ret < 0){
Ïà¹ØÎĵµ£º
[ת]Linux¶¨Ê±Æ÷
ºËÖ÷ÒªÐèÒªÁ½ÖÖÀàÐ͵Äʱ¼ä£º
1.
ÔÚÄÚºËÔËÐÐÆÚ¼ä³ÖÐø¼Ç¼µ±Ç°µÄʱ¼äÓëÈÕÆÚ£¬ÒÔ±ãÄں˶ÔijЩ¶ÔÏóºÍʼþ×÷ʱ¼ä±ê¼Ç£¨
timestamp
£¬Ò²³ÆΪ
“
ʱ¼ä´Á
”
£©£¬»ò¹©ÓÃ
»§Í¨¹ýʱ¼ä
syscall ......
ÔÚ³¬¼¶Óû§ÏÂÏÔʾLinuxϵͳÖÐÕýÔÚÔËÐеÄÈ«²¿½ø³Ì£¬Ó¦Ê¹ÓõÄÃüÁî¼°²ÎÊýÊÇ ps -aux ¡£
Linux psÃüÁîÏê½â£º
1)ps a ÏÔʾÏÖÐÐÖն˻úϵÄËùÓгÌÐò,°üÀ¨ÆäËûÓû§µÄ³ÌÐò.
2)ps -A ÏÔʾËùÓгÌÐò.
3)ps c Áгö³ÌÐòʱ,ÏÔʾÿ¸ö³ÌÐòÕæÕýµÄÖ¸ÁîÃû³Æ,¶ø²»°üº¬Â·¾¶,²ÎÊý»ò³ ......
¾¹ý¼è¿àµÄ·Ü¶·£¬ÖÕÓڸ㶨ÁËfedoraϵͳ´Ó°²×°µ½3DÌØЧ(±¾ÈË°²×°µÄÊÇfedora
11)£¬ÎªÁË·½±ãºóÀ´µÄlinuxer£¬ÌØÁôϱ¾È˵ÄÈ«¹ý³ÌÒÔ¹©²Î¿¼¡£ÒÔϲ½ÖèÓеÄÀ´×ÔÓÚgoogleËÑË÷£¬Óв¿·ÖÀ´×ÔÓÚ¼ÎÓÓÖÐÎIJ©¿Í
£¨http://www.my-guides.net/en/content/view/164/26/£©£¬²¢¸Ðл¸÷·½Ç°±²µÄ±Ê¼£¡£
1.Ìí¼Órpm fusionÔ´
rpm -ivh
http://do ......
½ñÌìÖÕÓÚ°ÑOmapL137µÄ°å×ÓÅÜÆðÁËLinuxºÍÆä´øµÄdemo¡£ºÏÖÚ´ï¶ÔÕâ¸ö°å×Ó¶«Î÷×öµÄºÜÉÙ£¬°Ñomapl137µÄÌص㶼ûÓÐչʾ³öÀ´¡£¿É¾Í¿àÁËÎÒÃÇÕâЩÏëÒªÓÃÕâ¸öƬ×ÓµÄÈËÁË¡£¹úÄÚÍæÕâ¸öµÄÈË»¹²»¶à£¬ËùÓÐ×ÊÁϾÍÓ²×ÅͷƤÂýÂýÄ¥°É¡£
Ç°¶Îʱ¼äubootÊÇÓÉdspÄDZßÓÃnandwrite¹¤³Ìд½øÀ´µÄ£¬ÆäУÑ鷽ʽºÍubootµÄeccУÑéËƺõÓгåÍ»£¬ ......
ǶÈëʽLinuxÆô¶¯·ÖΪÁ½¸ö²¿·Ö£¬ÏµÍ³Òýµ¼ÓëLinuxÆô¶¯¡£ÏµÍ³Òýµ¼½«Íê³ÉLinux×°ÈëÄÚ´æÇ°£¬³õʼ»¯CPUºÍÏà¹ØI/OÉ豸£¬²¢½«Linuxµ÷ÈëÄÚ´æµÄ¹¤×÷¡£ÏµÍ³Òýµ¼Ö÷ÒªÓÉBootLoaderʵÏÖ¡£ÔÚBootLoader½«LinuxÄں˵÷ÈëÄÚ´æÖ®ºó£¬½«È¨Á¦½»¸øLinuxKernel£¬½øÈëLinuxµÄÆô¶¯²¿·Ö¡£ÒÔÏÂÏêϸ·ÖÎöÆô¶¯µÄ¹ý³ÌÓëʹÓõÄÎļþ¡£
Ò»¡¢ÏµÍ³Òýµ¼ÓëBootLoa ......