Linux第一章第二章学习笔记
第一章 Linux内核简介
1、1 Unix的历史
- 它是现存操作系统中最强大最优秀的系统。
- 设计简洁,在发布时提供原代码。
- 所有东西都被当做文件对待。
- Unix的内核和其他相关软件是用C语言编写而成的。
- Unix的进程创建非常迅速,有一个frok()系统调用。
- 提供简洁稳定的进程间的通信元语。
1、2 Linux简介
Linux系统的基础是内核、C库、工具集和系统的基本工具,Linux主要指内核。
1、3 操作系统和内核简介
- 操作系统指:内核、设备驱动程序、启动引导程序、命令行shell、用户界面、基本的文件管理工具和设备工具。
- 内核:操作系统的管理者和操作系统的核心。一般处于系统态,拥有被保护的内存空间和访问硬件所受的权限,统称为内核空间。
- 当内核运行时,系统以内核态进入内核空间执行,而执行普通用户时,系统以用户态进入用户空间进行执行。
- 应用程序通过系统调用与内核通信,应用程序调用库函数,库函数调用系统界面,让内核代其完成不同任务。
- 内核三个特点:运行于用户空间,执行用户进程;运行于内核空间,进行进程执行;运行于内核空间,处理特定中断。
- 应用程序完成其工作的基本行为方式:应用程序通过系统调用界面陷入内核。
1、4 单内核与微内核
- 单内核运行在一个单独的地址空间上。内核通常以单个静态二进制文件的形式存放在磁盘中。内核间通信、内核调用函数等与用户空间应用程序无异。
- 微内核的功能被划分为多个独立过程,每个过程称为服务器。微内核通信通过消息传递处理,即采用了进程间通信机制(IPM)。
1、5 内核的版本
Linux内核有两种:稳定的和处于开发中的。如果数字为偶数,即是稳定版内核;若是奇数,则是开发版内核。

第二章 从内核出发
2、1 内核源码树


2、2 编译内核
1、配置内核:
- make config:逐一遍历所有配置项
- make defconfig:容易找到内核项,并直接修改它
- make oldconfig:编译内核之前都应该这样做
- $zcat/proc/config.gz>.config $make oldconfig 复制配置文件并编译新内核
2、减少编译垃圾信息:
- $make >../dev/null
2、3 衍生多个编译作业:
- $make -jn 衍生多个作业,n是作业数。
- 每个处理器一般衍生出一两个作业,16核可输入:$make -j32 >/dev/null
- 安装新内核 make modules_install
2、4 内核开发的特点
- 内核编程时既不能访问C库,也不能访问标准的C开头的文件(包含<linux/string.h>头文件就可以使用)
- 内核编程时必须使用GUN C(gcc是多种GUN编译器的集合,在偏近体系结构的底层或对执行时间严格的时候一般用汇编语言,内核其他大部分代码用C语言编写。)
- 内核编程时缺乏保护机制(内核中的内存不分页)
- 内核编程时难以执行浮点计算
- 内核给每个进程一个很小的定长的堆栈(容积小固定的栈)
- 同步和并发(内核容易产生竞争条件,许多特性要求共享数据,需要同步机制保证不出现竞争条件)
- 可移植性的重要性(保持字节、64位对齐、不假定字长和页面长度由李玉移植性)
Linux第一章第二章学习笔记的更多相关文章
- Linux内核分析第二周学习笔记
linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...
- Linux内核分析——第二周学习笔记20135308
第二周 操作系统是如何工作的 第一节 函数调用堆栈 存储程序计算机:是所有计算机基础的框架 堆栈:计算机中基础的部分,在计算机只有机器语言.汇编语言时,就有了堆栈.堆栈机制是高级语言可以运行的基础. ...
- 三20135320赵瀚青LINUX内核分析第二周学习笔记
赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.计算机的三个法宝 存储程 ...
- Linux内核分析——第二周学习笔记
20135313吴子怡.北京电子科技学院 chapter 1 知识点梳理 (一)计算机是如何工作的?(总结)——三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,高 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- 《Linux内核分析》第二周学习笔记
<Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...
- 《细说PHP》第四版 样章 第二章 PHP的应用与发展 1
<细说PHP>第四版 样章 第二章 PHP的应用与发展 1 学习任何编程语言之前,先了解一下它的应用与发展是很有必要的.从Web开发的历史看来,PHP.Python和Ruby几乎是同时出现 ...
- Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver
1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...
- LINUX内核分析第二周学习总结——操作系统是如何工作的
LINUX内核分析第二周学习总结——操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...
随机推荐
- Priority Queue
优先队列 集合性质的数据类型离不开插入删除这两操作,主要区别就在于删除的时候删哪个,像栈删最晚插入的,队列删最早插入的,随机队列就随便删,而优先队列删除当前集合里最大(或最小)的元素.优先队列有很多应 ...
- python reload(sys)找不到,name 'reload' is not defined和Python3异常-AttributeError: module 'sys' has no att
基于python3.6.1版本,在一个.py文件中,加入这3行:import requests, re, sysreload(sys)sys.setdefaultencoding("utf- ...
- python第二十六课——装饰器
装饰器是闭包的一种使用场景: python中的装饰器在定义上需要传入一个函数对象, 在此函数执行之前或者之后都可以追加其它的操作, 这样做的好处是,在不改变源码(原本业务逻辑的)同时,进行功能的扩展: ...
- 主机ping不通virtualbox虚拟机的解决办法
虚拟机与主机之间相互ping通有一个问题,就是虚拟机能够ping通主机 本地主机ping不通虚拟机: 解决办法: 1)如果虚拟机有两个网卡: 将虚拟机网卡2的连接方式改成桥接即可: ⚠️要将虚拟机重启 ...
- VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 _GetRegistrySysColors@8 中被引用
一.问题描述: VS2015+OpenGL4.0开发编译时弹出如下所示的错误: 1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符 ...
- OpenCV 中轮廓包裹的几个函数boundingRect、minAreaRect、minEnclosingCircle用法
当我们得到对象轮廓后,可用boundingRect()得到包覆此轮廓的最小正矩形,minAreaRect()得到包覆轮廓的最小斜矩形,minEnclosingCircle()得到包覆此轮廓的最小圆形, ...
- Python 函数(一)
Python3 函数(基本概念) 1.概念: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段:通过函数,可以对特定功能的代码进行封装,实现代码的复用. 2. 5.参数传递 (1) P ...
- rpm yum apt-get redhat centos ubuntu
rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时.Yum(全称为 Y ...
- 快速在Ubuntu安装PHP网站
快速安装使用的是tasksel,tasksel是Debian / Ubuntu的工具,安装多个相关软件包作为一个协调的“任务”到你的系统.这个lamp-server^跟taskel这个程序有关.下面是 ...
- 20155320 Exp6 信息搜集与漏洞扫描
20155320 Exp6 信息搜集与漏洞扫描 [实验后回答问题] (1)哪些组织负责DNS,IP的管理. 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和IP地址管 ...