读书笔记(一):内核基本常识

处理器的活动

每个处理器在任何指定时间点上的活动必然为下列三者之一

  1. 运行于用户空间,执行用户进程
  2. 运行于内核空间,处于进程上下文,代表某个特定的进程执行
  3. 运行于内核空间,处于中断上下文,于任何进程无关,处理某个特点的中断

单内核与微内核

linux是单内核,但它也汲取了微内核的精华。

  1. 支持动态加载内核模块
  2. 支持对称多处理(SMP)机制

对称多处理"(SymmetricalMulti-Processing)简称SMP,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。

  1. 内核可抢占
  2. 不区分进程线程

内核开发的特点

  1. 不能访问C库也不能访问标准的C头文件
    先有鸡还是先有蛋
    比如不能用prinftf,只能用printk
    也就是说智能包含内核自己的头文件们,比如:<linux/inotify.h>
  2. 必须使用GNU C
    static inline
    asm()
    likely()/unlikely()
  3. 没有内存保护机制
    用户程序的内存保护有内核来做,可以内核没法自己保护自己
  4. 不要轻易在内核使用浮点数
  5. 容积小而固定的栈
    内核给进程的栈只有一两页的样子
  6. 由于内核支持异步中断,抢占和SMP,因此必须时刻注意同步和并发
    自旋锁,信号量等就是为此准备
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值