看板Programming
标 题Re: 什麽样的程式可以不用透过OS执行?
发信站椰林风情 (Sat Sep 27 04:36:05 2008)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!Palmarama
==> [email protected] ( char[] ) 提到:
> 我表达的可能不好 不过我想问的大概是以下这件事 :
> 像这段C code
> int *a=0;
> a++;
> *a=5;
> 可以compiles但执行时会出错 应该是被os给memory protection档了下来
> 有什麽样的程式 可以任意更改记忆体 0x00000001位置的值 而不被os栏住?
执行时会有错并不是OS帮你挡下来,而是因为0x00000001是个非法的 virtual address
所以CPU在作 Virtual to Physical 的时候发生了 exception, 然後CPU会去呼叫
OS提供的 exception handler function 去处理
所以你看起来好像是OS挡下来,其实OS只是处理这exception而已
> ※ 引述《CharArray ( char[] )》之铭言:
> : 如题 除了 bios, 跟多重开机程式外
> : driver似乎也要透过os才有办法跟硬体沟通吧 (?)
> : 还有什麽样的程式可以不用透过os就直接执行的吗?
--
☆ [Origin:椰林风情] [From: 12.47.63.248] [Login: **] [Post: **]