当前位置: 代码迷 >> 汇编语言 >> 编写操作系统,怎么管理系统类型的函数,应当参数化,还是共享系统全局变量常量为宜
  详细解决方案

编写操作系统,怎么管理系统类型的函数,应当参数化,还是共享系统全局变量常量为宜

热度:3798   发布时间:2013-02-26 00:00:00.0
编写操作系统,如何管理系统类型的函数,应当参数化,还是共享系统全局变量常量为宜?
在编写操作系统时,首先会编写出一些系统自身用到的汇编过程(这些过程大多是系统专用的)。这些过程完全的参数化当然可以使过程高度的独立化,能够提高通用性。但是同时也会传递很多参数,调用起来比较费事,甚至连系统的常量也要通过参数传入。如果尽量减少参数的使用,大量使用全局变量和常量,当然我所谓的使用全局变量是只读使用,不会使全局变量变得混乱和难以管理,但是过程会在很大程度上依赖于这些系统常量变量。

问题:
这些过程应该完全的参数化,还是应当共享系统的全局变量和常量?请问怎样做为上策?

------解决方案--------------------------------------------------------
这个要看具体的情况吧. 比如, 涉及到的在多大范围内, 什么样的频度被使用; 对函数来说, 它是否就是固定的等等
------解决方案--------------------------------------------------------
看linux和minix3的内核代码的时候,没发现很多的参数传递,也没发现有很多的全局变量。

然后--常量为什么不用宏???
参数太多的话,可以把联系紧密的几个参数组合成一个结构体
------解决方案--------------------------------------------------------
固定的地址可以直接用,但是以后如果要修改的话不大方便,还是做成宏/常量的好。
控制一下装载地址,把偏移量省掉算了。

我的系统也是直接装载全部FAT和根目录的,缺点就是太慢了,还是用lazy机制比较好。
  相关解决方案