《Linux内核设计与实现》笔记-1-linux内核简单介绍
一、Linux内核相对于传统的UNIX内核的比較:
(1):Linux支持动态内核模块。
虽然Linux内核也是总体式结构,但是同意在须要的时候动态哦卸除(rmmod xxx)和载入内核模块(insmod xxx.ko).
(2):Linux支持对称多处理(SMP)机制,虽然很多UNIX的变体也支持SMP。可是传统的UNIX并不支持这样的机制。
(3):Linux内核能够抢占(preemptive)。在Linux 2.4以及曾经的版本号都是不支持内核抢占的。在Linux 2.6以及以后就支持了。
(4):Linux内核不区分线程和进程的。对于内核,全部的进程都是一样的。仅仅只是当中的一些资源共享而已。
二、单内核和微内核的差别
单体内核:大内核。将OS的所有功能都做进内核中,包含调度、文件系统、网络、设备驱动器、存储管理。
比方设备驱动管理、资源分配、进程间通信、进程间切换管理、文件系统、存储管理、网络等。
单体内核是指在一大块代码中实际包含了所有操作系统功能,并作为一个单一进程执行。具有唯一地址空间。
大部分UNIX(包含Linxu)系统都採用的单体内核。
微内核:微内核与单体内核不同。微内核仅仅是将OS中最核心的功能增加内核,包含IPC通信、地址空间分配和主要的调度,这些东西处在内核态执行。如:WINCE系统。
而其它功能如设备驱动、文件系统、存储管理、网络等作为一个个处于用户态的进程而向外提供某种服务来实现。并且这些处于用户态的进程能够针对某些特定的应用和环境需求进行定制。有时,也称这些进程为server。
三、Linux内核版本号
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bl8xOTU5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
四、Linux内核开发的特点
(1):内核编程时不能訪问C库。可是大部分C库函数在内核中都已经实现了。
(2):内核编程时必须使用GNU C。
(3):内核编程时缺乏像使用用户空间那样的保护机制
(4):内核编程时浮点数非常难使用
(5):内核仅仅有一个非常小的定长堆栈;内核栈非常小,长度固定,32位的内核栈是8KB,而64位的是16KB。
(6):因为内核支持异步中断、抢占和SMP,因此必须时刻注意同步和并发
(7):要注意可移植性的重要性
《Linux内核设计与实现》笔记-1-linux内核简单介绍的更多相关文章
- Linux内核设计与实现笔记_1_基本概念
Linux内核设计与实现笔记_1_基本概念 操作系统 系统这个词包含了操作系统和所有运行在它上面的应用程序.操作系统是指在整个系统中负责完成分最基本功能和系统管理的那些部分,这些部分应该包括: 内核, ...
- 算法笔记_071:SPFA算法简单介绍(Java)
目录 1 问题描述 2 解决方案 2.1 具体编码 1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个 ...
- 进程_Linux内核设计与实现笔记
进程 进程是处于执行期的程序以及相关资源的总称,是正在执行的代码的实时结果. 进程部分位于Kernel的PM层.进程是Unix操作系统的抽象概念中最基本的一种,操作系统的存在就是为了运行用户程序,所以 ...
- 嵌入式Linux下MP4视频录制库MP4V2移植和简单介绍
**************************************************************************************************** ...
- linux内核设计与实现笔记 进程调度
转载:http://blog.chinaunix.net/uid-24919665-id-3013590.html
- 把握linux内核设计思想(七):内核定时器和定时运行
[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 前面章节说到了把工作推后到除如今以外的时间运行的机制是下半部机 ...
- Linux内核设计第二周学习总结 完成一个简单的时间片轮转多道程序内核代码
陈巧然 原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.使用实验楼的虚拟机 ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- tcp ip协议笔记(1)——简单介绍
前言 本人记性不佳,看书健忘,以此笔记来记录看书后自己所知所想,已达到加深对tcp ip的理解.本笔记不过我看完书后自己所写的总结,权当是书后复习. 一.为什么会有tcp ip协议 ...
- 项目管理---git----快速使用git笔记(一)------git的简单介绍
最近svn代码管理服务器崩溃了,切换到git来运作. 经过几天的使用,感觉很不错. 尤其是代码合并到正式版本之前 可以对代码进行 code review. 这样能很好的保证团队的代码质量和一些重复代码 ...
随机推荐
- 子查询在UPDATE 语句中的应用
在UPDATE语句中可以在更新列表中以及WHERE语句使用子查询.下面演示一个将图书的出版日期全部更新为所有图书中的最新出版日期,SQL语句如下: UPDATE T_Book SET FYearPub ...
- Mac下配置PHP支持GD库FreeType
一句话脚本 curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6 记得要FQ哦. 或者下面代码保存成.sh ,代码从http://php-os ...
- 【费用流】NOI2008志愿者招募
1061: [Noi2008]志愿者招募 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 5171 Solved: 3089[Submit][Stat ...
- 【数据结构】Not so Mobile (6-9)
[UVA839]Not so Mobile 算法入门经典第6章6-9(P157) 题目大意:输入一个树状天平,根据力矩相等原则判断是否平衡. 试题分析:貌似没有什么难点…… #include<i ...
- Problem A: 零起点学算法80——逆序输出(数组练习)
#include<stdio.h> int main() { ]; scanf("%d",&n); ;i<=n;i++){ scanf("%d& ...
- kosaraju算法求强连通分量
什么是强连通分量?在这之前先定义一个强连通性(strong connectivity)的概念:有向图中,如果一个顶点s到t有一条路径,t到s也有一条路径,即s与t互相可达,那么我们说s与t是强连通的. ...
- Highcharts做统计图。
<script> $(function () { var areasplineData = [[1447916401000,3],[1447918201000,4]]; var typeR ...
- #iOS问题记录# UITextview富文本链接,禁止长按事件
UITextView的富文本组装,添加图片点击事件,启动 - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *) ...
- Ui Automator Test Through Command
问题描述: 通过adb shell uiautomator runtest 命令,直接运行java测试例. 命令解析: adb shell uiautomator runtest <JARS&g ...
- MYSQL复习笔记5-select-from-where子句
Date: 20140125Auth: Jin参考:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#select一.select子句主要定 ...