当前位置:  技术问答>linux和unix

linux0.12内核问题,关于内存管理

    来源: 互联网  发布时间:2017-04-05

    本文导语:  void init_swapping(void) { extern int *blk_size[]; int swap_size,i,j; if (!SWAP_DEV) return; if (!blk_size[MAJOR(SWAP_DEV)]) { printk("Unable to get size of swap devicenr"); return; } swap_size = blk_size[MAJOR(SWAP_DEV)][MINOR(SWAP_DEV)]; if (!swap_size) return; i...

void init_swapping(void)
{
extern int *blk_size[];
int swap_size,i,j;

if (!SWAP_DEV)
return;
if (!blk_size[MAJOR(SWAP_DEV)]) {
printk("Unable to get size of swap devicenr");
return;
}
swap_size = blk_size[MAJOR(SWAP_DEV)][MINOR(SWAP_DEV)];
if (!swap_size)
return;
if (swap_size >= 2;
if (swap_size > SWAP_BITS)
swap_size = SWAP_BITS;
swap_bitmap = (char *) get_free_page();
if (!swap_bitmap) {
printk("Unable to start swapping: out of memory :-)nr");
return;
}
read_swap_page(0,swap_bitmap);
if (strncmp("SWAP-SPACE",swap_bitmap+4086,10)) {
printk("Unable to find swap-space signaturenr");
free_page((long) swap_bitmap);
swap_bitmap = NULL;
return;
}
memset(swap_bitmap+4086,0,10);             //问题出在这一行,不理解
for (i = 0 ; i  检查该page是否可用,即如果可用将视为错误
            printk("Bad swap-space bit-mapnr");
            free_page((long) swap_bitmap);
            swap_bitmap = NULL;
            return;
        }
    }

更多Linux-0.12的问题可用到oldlinux:http://oldlinux.org/oldlinux/index.php论坛中提问,相信可以得到更加及时的解答。

    
 
 

您可能感兴趣的文章:

  • 现有linux内核中共享内存机制如何移植到linux0.11内核中
  • Linux0.11 内核源码 main函数的参数问题
  • 编译linux0.01内核时出错,没有权限?
  • linux0.11内核线性地址问题,请教!!
  • linux0.11内核blk.h
  • linux0.11内核有些函数是封装的吗?比如timer_interrupt()函数。
  • 今天读完了LINUX0.11~~ 累坏了~ 现在直接开始读2.6内核会很困难么?
  • linux0.11内核源代码中system模块问题
  • 探讨linux0.11内核
  • !!!散分帖:历尽千辛万苦,将LINUX0.11内核编译运行成功!!!
  • 用source insigt 看Linux0.11内核完全注释中的内核源码时,发现了一个有关c语言语法的奇怪现象。大虾请进,帮小弟解解惑。有重谢!
  • 看linux0.12内核遇到个很奇怪的赋值,求教用意.
  • linux0.11内核添加了一个新的系统调用,返回-1
  • Linux0.11进程最大可用虚拟内存为64M?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 读linux0.11源代码小问题:)
  • 简单!!高分!!Linux0.01中的简单问题—关于switch_to(n)。
  • linux环境下修改linux0.11 bootsect.s并用qemu运行的问题
  • linux0.11的bios中断
  • LINUX0.11实验,研究了3天3夜,google,baidu无数遍,死活挂载不上软盘,怎么办?
  • 求助 linux0.01 boot.s
  • linux0.12 ret_from_sys_call的疑问
  • LINUX0.11如何编译成
  • 关于linux0.11根文件夹下MakeFile的疑问?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,