一、第一章:Linux内核简介

  1.操作系统和内核:操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,包括内核、设备驱动程序、启动引导程序、命令行shall等。

  内核就是操作系统的核心,由负责相应中断的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、系统服务程序共同组成。

  系统中的程序通过系统调用来与内核通信,内核还要负责管理系统的硬件设备,提供中断机制(不在进程上下文中进行,为了能保证中断服务程序在第一时间响应和处理)

  我们将任何处理器在指定时间点上的活动概括分为:

  a.运行于用户空间,执行用户进程

  b.运行于内核空间,处于进程上下文

  c.运行于内核空间,处于中断上下文

  总的来说,Linux是一个单内核,,运行在单独的内核运行空间上,也吸取了微内核的精华:模块化设计,抢占式内核,支持内核线程和动态装载内核的能力。

二、第二章:从内核出发

  1.获取内核源码

  在Linux的官方网站上进行免费下载

  2.编译内核

  把自己需要的也定功能和驱动程序编译进内核,内核也提供了很多工具来简化内核编译:

  a.字符界面下的命令行工具:$ make config

  b.基于ncurse库编制的图形界面工具:$ make menuconfig

  

  如果想减少编译的垃圾信息可以用:$make > .. /detritus 对输出进行重新定向

  3.内核开发特点

  a.内核编程时既不能访问C库也不能访问标准的C头文件。

  b.内核编程时必须使用GNUC。

  c.内核编程时缺乏像用户空间的内存保护机制。

  d.内核编程时难以执行浮点运算。

  e.内核给每个进程只有很小的一段堆栈。

  f.必须时刻注意同步和并发。

  g.要考虑呢可移植性的重要性。

  

最新文章

  1. [大数据之Sqoop] —— Sqoop初探
  2. <<< 判断提交方式是get还是post
  3. Shiro标签
  4. myeclipse 连接svn服务器验证位置时发生错误 404 forbidden
  5. UIScrollView 的 delaysContentTouches
  6. Oracle 列顺序测试
  7. apache如何在虚拟主机中实现用户验证
  8. box-shadow 阴影
  9. springmvc权限拦截器
  10. Gulp和webpack的区别,是一种工具吗?
  11. 201521123106《java程序设计》第二周学习总结
  12. Wcf host
  13. 【记录】使用在线KMS激活Office系列
  14. 揭开JS闭包的面纱
  15. numpy中random的使用
  16. 第25月第18天 vue
  17. 手机网页制作教程META标签你知道多少?【转+加】
  18. crawler_exa4
  19. 《linux内核设计与实现》第四章
  20. Excel中substitute替换函数的使用方法

热门文章

  1. 百度地图LBS开放平台AK一直没有用
  2. return,exit,die
  3. BaseAdapter&ArrayAdapter在ListView中应用
  4. 建立临时的表 数据 空值 与 NULL 转换
  5. Cocos2d-x标签文乱码问题
  6. seaJS常用语法
  7. 转载:python文件打开方式详解——a、a+、r+、w+区别
  8. linux下开发板网络速度测试记录
  9. 配置PostgreSQL Streaming Replication集群
  10. 济南学习 Day1 T3 am