第一章 Linux內核簡介
1. Linux是類Unix系統,但他不是Unix。
儘管Linux借鑑了Unix的許多設計並且實現了Unix的API(由Posix標準和其他Single Unix Specification定義的),但Linux沒有像其他Unix變種那樣直接使用Unix的源代碼。
2. Linux系統的基礎是內核、C庫、工具集和系統的基本工具,如登錄程序和Shell。
3. 操作系統是指在整個系統中負責完成最基本功能和系統管理的那些部分。這些部分應該包括內核、設備驅動程序、啓動引導程序、命令行Shell或者其他種類的用戶界面、基本的文件管理工具和系統工具。
4. 內核空間和用戶空間
對於提供保護機制的現代系統來說,內核獨立於普通應用程序,它一般處於系統態,擁有受保護的內存空間和訪問硬件設備的所有權限。這種系統態和被保護起來的內存空間,統稱爲內核空間。
與此相對,應用程序在用戶空間執行。它們只能看到允許它們使用的部分系統資源,並且只能使用某些特定的系統功能,不能直接訪問硬件,也不能訪問內核劃給別人的內存範圍,還有其他的一些使用限制。
內核運行的時候,系統以內核態進入內核空間執行。當執行普通用戶程序時,系統以用戶態進入用戶空間執行。
5. 在系統中運行的應用程序通過系統調用來與內核通信。
當一個應用程序執行一條系統調用,就說內核正在代其執行。進一步,這時,應用程序被稱爲通過系統調用在內核空間執行,而內核被稱爲運行與進程上下文中。

6. 在Linux中,中斷服務程序不在進程上下文執行,而在一個與所有進程都無關的、專門的中斷上下文中運行。原因是:爲了保證中斷服務程序能夠在第一時間響應和處理中斷請求,然後快速地退出。
7. 每個處理器在任何指定的時間點上的活動:
運行於用戶空間,執行用戶進程
運行於內核空間,執行進程上下文,代表某個特定進程執行
運行於內核空間,處於中斷上下文,與任何進程無關,處理某個特定的終端
8. 當CPU空閒時,內核就運行一個空進程,處於進程殺下文,但運行於內核空間。
關於IDLE進程的知識,參考網摘:分析linux内核的idle的知识
9. Linux是一個單內核,即Linux內核運行在單獨的內核地址空間上。
不過,Linux汲取了微內核的精華,如模塊化設計、搶佔式內核、支持內核線程以及動態裝載內核模塊的能力。此外,Linux還避其微內核設計上性能損失的缺陷,讓所有的事情都運行在內核態,直接調用函數,無需消息傳遞。
10. Linux內核與傳統的Unix系統之間的差異:
Linux支持動態加載內核模塊
Linux支持對稱多處理(SMP)機制
Linux內核可以搶佔(preemptive)。Linux內核具有允許在內核運行的任務優先執行的能力。
Linux內核不區分線程和其他的一般進程。對於Linux內核來說,所有的進程都一樣——只不過是其中的一些共享資源而已。
Linux提供具有設備類的面向對象的設備模型、熱插拔事件,以及用戶空間的設備文件系統(sysfs)。
11. Linux內核版本

其中,從版本號如果是偶數,那麼該內核就是穩定版,否則就是開發版。
完
第一章 Linux內核簡介的更多相关文章
- 【转】Linux內核驅動之GPIO子系統(一)GPIO的使用 _蝸牛
原文网址:http://tc.chinawin.net/it/os/article-2512b.html 一 概述 Linux內核中gpio是最簡單,最常用的資源(和interrupt ,dma,ti ...
- Linux內核中常用的一些延時方法
Linux內核中常用的一些延時方法 這些方法在以下路徑下定義:kernel/include/linux/delay.h #ifndef _LINUX_DELAY_H #define _LINUX_DE ...
- CentOS 7.4 初次手记:第一章 Linux守护进程(daemon)
第一节 init & sysvinit 6 I sysvinit 运行顺序... 6 II Sysvinit和系统关闭... 7 III Sysvinit 的小结... 7 IV 运行级别.. ...
- Linux内核分析——第一章 Linux内核简介
第一章 Linux内核简介 一.Unix的历史 1.Unix系统成为一个强大.健壮和稳定的操作系统的根本原因: (1)简洁 (2)在Unix中,很多东西都被当做文件对待.这种抽象使对数据和对设备的 ...
- 核心系统命令实战 第一章Linux命令行简介
第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout 快捷键:Ctrl+d 1.1.2 Li ...
- CVE-2016-8655,af_packet Linux 內核通殺提權漏洞淺析
簡單寫一下思路 這個東西需要namespace方面的支援, 首先open socket , 一連串路徑(packet_set_ring()->init_prb_bdqc()->prb_se ...
- linux內核輸出soft lockup
創建的內核線程長期佔用cpu,一直內核認為線程soft lockup,如無法獲取自旋鎖等:因此線程可適度調用schdule(),以進行進程的調度:因為kwatchdog的執行級別低,一直得不到執行 [ ...
- 【菜鸟学习Linux】-第一章-Linux环境搭建-安装VMware虚拟机
本人菜鸟一个,刚毕业才上班2个月,现在用到Linux部署项目,这才开始学习Linux,以下是我在安装Linxu系统是遇到的一些问题,希望能给广大菜鸟们在学习的道路上提供帮助和指导,废话不多说!开工! ...
- 第一章 Linux系统入门
设定目标,寻求方法,勤奋努力,坚持不懈. ------你们知道了,而我们做到了.------ 世界上第一台计算机:ENIAC(埃尼亚克).1946-2 宾夕法尼亚大学. 约翰·冯·诺依曼体系 电脑的组 ...
随机推荐
- winhttp demo
#include <string>#include <iostream>#include <windows.h>#include <winhttp.h> ...
- html、canvas、视频灰度、反色
效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 爬虫初探(1)之urllib.request
-----------我是小白------------ urllib.request是python3自带的库(python3.x版本特有),我们用它来请求网页,并获取网页源码. # 导入使用库 imp ...
- dot
今天写程序的时候发现一个问题啊 在主函数里面吧某个指针node* r=NULL 赋值为空 然后调用函数insert(node* r,....) 在insert里面呢,我给这个指针赋值了啊 但是主函数里 ...
- 智能路由器操作系统OpenWrt
小米路由器的“MiWiFi”又让路由器成了关键词,每台智能路由器的系统是该款产品的亮点之一,其系统肯定有不少“好玩”的地方.为自己的智能路由器量身打造系统,并且纷纷开发了适合智能手机.平板电脑等使用的 ...
- MSDN杂志上Wix相关的文章
使用 MSBuild 和 Windows Installer XML 执行自动发布: http://msdn.microsoft.com/zh-cn/magazine/cc163456.aspx 用于 ...
- Windows安装和使用zookeeper
之前整理过一篇文章<zookeeper 分布式锁服务>,本文介绍的 Zookeeper 是以 3.4.5 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apach ...
- ABP理论学习之Swagger UI集成
返回总目录 本篇目录 介绍 安装 安装Nuget包 配置 测试 介绍 从官方网站上可以看到:"启用了Swagger API,就可以获得交互式文档,生成和发现客户端SDK". 安装 ...
- 【腾讯Bugly干货分享】微信mars 的高性能日志模块 xlog
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/581c2c46bef1702a2db3ae53 Dev Club 是一个交流移动 ...
- 不要对外公开泛型List成员
最近在阅读Framework Design Guidelines,本着现学现用的原则,于是就用FxCop工具对代码进行规范性检查时,发现了很多问题,其中包括命名以及一些设计上的规范. 其中,Do no ...