linux是微内核还是宏内核,微内核与宏内核比较

微内核与宏内核比较

内核体系结构---微内核与宏内核比较

内核按照体系结构分为两类:微内核(microkernel)与宏内核(macrokernel). 微内核的系统有

WindowNT,Minix,Mach,etc.宏内核的系统有Unix,Linux,etc.通过比较Minix和Linux来比较微内核和宏内

核是很有意思的,因为当年两个系统的创始人对两种内核的优劣有过争论.

两个系统的内核是通过进程的创建FORK的实现来比较,因为进程的创建涉及到系统调用,内存管理,文件管

理等系统的主要方面.因此通过比较FORK的实现可以大致看到内核的差别.

微内核的代表:Minix

在Minix中,操作系统的内核,内存管理,系统管理都有自己的进程表,每个部分的表包含了自

己需要的域。表象是精确对应的,为了保持同步,在进程创建或结束时,这三个部分都要更新各自的表。

由内存管理器协调。

系统启动后,kernel,mm,fs系统进程在各自的空间运行main()函数循环等待消息

While(TRUE)

{…

receive(ANY,&mm_in);

…}

当一个FORK传给mm’main(),main()调用do_fork(),do_fork()函数把父进程的data segment和stack

segment创造了一个精确副本给子进程,并把父进程的text segment 与子进程共享,然后在mm的进程表

mproc[]中添加新进程,并设置各属性。添加完后发送消息给kernel(sys_fork(…))和 fs(tell_fs

(…)).,kernel中的函数sys_task()接收到系统信息,调用do_fork(message   * m_ptr

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值