免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Buddy_Zhang1
打印 上一主题 下一主题

[内存管理] [73%]正在写一个模拟 Linux 内存管理的系统 [复制链接]

论坛徽章:
13
15-16赛季CBA联赛之八一
日期:2016-07-08 21:00:1415-16赛季CBA联赛之同曦
日期:2017-02-15 14:26:1515-16赛季CBA联赛之佛山
日期:2017-02-20 14:19:2615-16赛季CBA联赛之青岛
日期:2017-05-07 16:49:1115-16赛季CBA联赛之广夏
日期:2017-07-30 09:13:1215-16赛季CBA联赛之广东
日期:2018-07-05 22:34:3615-16赛季CBA联赛之江苏
日期:2018-09-03 12:10:2115-16赛季CBA联赛之上海
日期:2018-09-25 03:49:2215-16赛季CBA联赛之广东
日期:2018-09-25 04:09:12
21 [报告]
发表于 2016-03-18 09:20 |只看该作者
回复 16# Buddy_Zhang1


我自己遇到这种情况,会用下面这两种方法:

① 把类型提前声明一下
file-a.h:
#include "file-b.h"
struct B;
struct A {
   struct B *b;
};

file-b.h:
#include "file-a.h"
struct A;
struct B {
   struct A *a;
};


② 把struct A、struct B定义在comm.h,然后:
file-a.h:
#include "comm.h"

file-b.h:
#include "comm.h"

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:0015-16赛季CBA联赛之吉林
日期:2016-03-23 17:25:0015-16赛季CBA联赛之浙江
日期:2016-04-01 08:25:0615-16赛季CBA联赛之山西
日期:2016-04-01 10:09:1915-16赛季CBA联赛之广夏
日期:2016-06-03 15:58:212016科比退役纪念章
日期:2016-07-28 17:42:5215-16赛季CBA联赛之广东
日期:2017-02-20 23:32:43
22 [报告]
发表于 2016-03-21 21:20 |只看该作者
Feature Update

由于部分内存管理依赖于虚拟文件系统,譬如 pagecache 和 swap 等.
为此,我将把 VFS 加入到这个模拟器中.
       又要花半年时间进行调试......

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:0015-16赛季CBA联赛之吉林
日期:2016-03-23 17:25:0015-16赛季CBA联赛之浙江
日期:2016-04-01 08:25:0615-16赛季CBA联赛之山西
日期:2016-04-01 10:09:1915-16赛季CBA联赛之广夏
日期:2016-06-03 15:58:212016科比退役纪念章
日期:2016-07-28 17:42:5215-16赛季CBA联赛之广东
日期:2017-02-20 23:32:43
23 [报告]
发表于 2016-03-22 19:23 |只看该作者



最新系统启动截图,本周末释放 Preview 版。

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
24 [报告]
发表于 2016-03-23 11:24 |只看该作者
BiscuitOS

论坛徽章:
0
25 [报告]
发表于 2016-03-23 16:22 |只看该作者
我有点混乱了。。。。 这到底是模拟器呢? 还是一个应用程序把kernel的log 打印一遍?

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:0015-16赛季CBA联赛之吉林
日期:2016-03-23 17:25:0015-16赛季CBA联赛之浙江
日期:2016-04-01 08:25:0615-16赛季CBA联赛之山西
日期:2016-04-01 10:09:1915-16赛季CBA联赛之广夏
日期:2016-06-03 15:58:212016科比退役纪念章
日期:2016-07-28 17:42:5215-16赛季CBA联赛之广东
日期:2017-02-20 23:32:43
26 [报告]
发表于 2016-03-23 16:42 |只看该作者
回复 25# hanshu830


    这是一个应用程序,这个应用程序的功能就是用来实现 linux 内存管理的功能.

    这个应用程序也可以称为一个小型内核,因为它已经具备了内存管理的能力,可以分配,使用并回收内存.

论坛徽章:
0
27 [报告]
发表于 2016-03-23 17:20 |只看该作者
回复 26# Buddy_Zhang1
额, 看你的log, 简直像在跑kernel code. Kernel代码被merge到你的程序里了?

   

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:0015-16赛季CBA联赛之吉林
日期:2016-03-23 17:25:0015-16赛季CBA联赛之浙江
日期:2016-04-01 08:25:0615-16赛季CBA联赛之山西
日期:2016-04-01 10:09:1915-16赛季CBA联赛之广夏
日期:2016-06-03 15:58:212016科比退役纪念章
日期:2016-07-28 17:42:5215-16赛季CBA联赛之广东
日期:2017-02-20 23:32:43
28 [报告]
发表于 2016-03-23 17:24 |只看该作者
回复 27# hanshu830


    对,我就是在用户空间上分配了两个很大的数组来充当我的内存.然后基于这两块内存来跑内核代码.
    但我的代码只有内存管理部分的代码(还包括内核启动的相关代码)

论坛徽章:
0
29 [报告]
发表于 2016-03-23 17:44 |只看该作者
回复 28# Buddy_Zhang1


    Merge的工作量估计相当大啊。。。。

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:00程序设计版块每日发帖之星
日期:2016-02-14 06:20:0015-16赛季CBA联赛之吉林
日期:2016-03-23 17:25:0015-16赛季CBA联赛之浙江
日期:2016-04-01 08:25:0615-16赛季CBA联赛之山西
日期:2016-04-01 10:09:1915-16赛季CBA联赛之广夏
日期:2016-06-03 15:58:212016科比退役纪念章
日期:2016-07-28 17:42:5215-16赛季CBA联赛之广东
日期:2017-02-20 23:32:43
30 [报告]
发表于 2016-03-23 17:47 |只看该作者
本帖最后由 Buddy_Zhang1 于 2016-03-23 17:52 编辑

回复 29# hanshu830


    算下来,学理论 + merge代码 + 调试功能 + 逻辑性调试----> 正好一年时间


   现在正在将 VFS 加入到这个系统中,估计花半年时间...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP