《linux内核设计与实现》第一章

第一章Linux内核简介:

  1.3操作系统和内核简介

    操作系统:系统包含了操作系统和所有运行在它之上的应用程序。操作系统是指整个在系统中负责完成最基本功能和系统管理的那些部分。这些部分包括内核、设备驱动程序、启动应到程序、命令行shell或者其他种类的用户界面、基本的文件管理系统工具。

    内核:如果说用户界面是操作系统的外在表像,那么内核就是操作系统的内在核心。

    内核空间:系统态和保护起来的内存空间。

    内核的组成:

   1.中断服务程序(响应中断)

  2.调度程序(管理多个进程分享处理器的时间)

  3.内存管理程序(管理进程地址空间)

  4.系统服务程序(网络、进程间通信)

    应用进程如何与内核通信:

  通过系统调用的方式。应用进程调用库函数,再由函数库通过系统调用界面,让内核完成各种任务。(应用程序通过系统调用界面来陷入内核)

    内核负责管理系统的硬件设备:

  前提:硬件设备相遇系统通信,首先要发出一个异步的中断信号来打断处理器的执行(内核的执行)。

     中断服务由内核负责。但是需要注意,中断服务程序运行在与所有进程都无关的,专门的中断上下文中运行。

  1.4Linux内核和传统Unix内核的比较

    Unix内核的特点:不可分割的静态可执行库。(硬件系统提供页机制MMU管理内存。)

    Linux内核设计(主要讨论支持MMU的系统)

      单内核:

     最大的特点就是内核可以直接调用函数,所有的进程都处于内核态。它从整体上作为一个单独的大的进程来完成,同时也运行在一个单独的地址空间。

      微内核:

    功能被划分为多个独立的过程,每一个进程叫做一个服务器。有特权模式和用户模式两种,独立地运行在各自的地址空间。进程间采用IPC通信机制。

      Linux内核和Unix的显著区别:

     支持动态加载内核模块

    支持对称多处理机制SMP

    可以抢占

    不区分线程和一般进程

    提供具有设备类的面向对象的设备模型,热拔插事件,以及用户空间的设备文件系统

    摒弃了Unix一些拙劣的特性,体现了自由的精髓

  1.5Linux版本号

    例如2.6.26.1(第二位,即从版本号来判断内核是稳定还是开发状态。偶数则为稳定状态)

     2:主版本号

    6:副版本号(从版本号)

     26:修订版本号

    1:稳定版本号

总结:

    内核虽然是由进程组成,但是它区别于普通应用进程。内核(系统态,进入内核空间执行,运行于进程上下文中),应用进程(用户态,进入用户空间执行,运行于内核空间)。处理器任何时间都运行在如下三个状态中的一个:运行于用户空间,执行用户进程;运行于内核空间,处于进程上下文,内核进程执行;运行于内核空间,处于中断上下文,处理中断。如下图:

Linux的内核是一个单内核。(但是Linux汲取了微内核的精华,是模块化的,多线程的,内核本身可调度的操作系统。)

linux及安全《Linux内核设计与实现》第一章——20135227黄晓妍的更多相关文章

  1. linux及安全《Linux内核设计与实现》第四章——20135227黄晓妍

    第四章 进程调度 进程调度程序是一个内核子系统 分配有限的处理器时间和资源 最大限度利用时间的原则(只要有可执行的进程,那么总会有进程执行) 基本工作:从一组处于等待(阻塞)状态的可执行进程中选择一个 ...

  2. linux及安全《Linux内核设计与实现》第三章——20135227黄晓妍

    第三章 (由于linux不区分进程和线程,所以它们在linux中被称为task,也叫任务) 总结:本章主要包括进程以及线程的概念和定义,Linux内核如何管理每个进程,他们在内核中如何被列举,如何创建 ...

  3. linux及安全《Linux内核设计与实现》第二章——20135227黄晓妍

    第二章:从内核出发 2.1获取源代码 2.1.1使用git Git:内核开发者们用来管理Linux内核源代码的控制系统. 我们使用git来下载和管理Linux源代码. 2.1.2安装内核源代码(如果使 ...

  4. linux及安全期中总结——20135227黄晓妍

    Linux及安全期中总结 黄晓妍 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...

  5. Linux内核设计与实现 第一章 第二章

    第一章 Linux内核简介 Unix特点: (1)     Unix很简洁,仅仅提供几个几百个系统调用并且有一个非常明确的设计目的 (2)     在Unix中,所有的东西都被当作文件对待,通过一套相 ...

  6. linux及安全第三周总结——20135227黄晓妍

    总结部分: Linux内核源代码: Arch 支持不同cpu的源代码:主要关注x86 Init   内核启动的相关代码:主要关注main.c,整个Linux内核启动代码start_kernel函数 K ...

  7. linux内核设计与实现第一章

    1.1 unix的历史 Thompson实现unix 伯克利大学对其进一步开发推出了著名的BSD 其他各大厂商相继推出自己的unix 1.1.2 unix的特性 unix系统是一个强大,健壮,稳定的操 ...

  8. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  9. linux及安全第八周总结——20135227黄晓妍

    实验部分 实验环境搭建 -rm menu -rf git clone https://github.com/megnning/menu.git cd menu make rootfs qemu -ke ...

随机推荐

  1. c++中new/operator new/placement new

    1. new/delete c++中的new(和对应的delete)是对堆内存进行申请和释放,且两个都不能被重载. 2. operator new/operator delete c++中如果想要实现 ...

  2. AVL 平衡树

    AVL是一种平衡二叉树,它通过对二叉搜索树中的节点进行旋转使得二叉搜索树达到平衡.AVL在所有的平衡二叉搜索树中具有最高的平衡性. 定义 平衡二叉树或者为空树或者为满足如下性质的二叉搜索树: 左右子树 ...

  3. MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理

    MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议,适用于一些条件比较苛刻的环境,进行低带宽.不可靠或间歇性的通信.值得一提的是mqtt提供三种不同 ...

  4. ansible的入门级使用

      author: headsen  chen   date: 2018-08-02   11:46:35 1,ansible的安装 yum install epel-release yum -y i ...

  5. awk中的冒泡排序

    算法中经典的排序方式,今也用awk来实现下,代码如下: BEGIN { count=} {arrary[count]=$ count++ } END{ ;i>-;i--) { ;j<i;j ...

  6. 微信小程序 --- page.js文件

    page.js文件是写当前 page.wxml 页面的 JS 脚本文件: 示例: //获取应用实例 const app = getApp() Page({ data: { navComOneOnOff ...

  7. C++,一些常用的知识点

    用typedef定义数组.指针.结构等类型将带来很大的方便,不仅使程序书写简单而且使意义更为明确,因而增强了可读 性. C++中是用关键字typedef定义一个标识符来代表一种数据类型,该标识符可以象 ...

  8. [Haskell]解决hslua unknown symbol `___s trtod'的问题

    用cabal编译libpandoc时遇到这样的错误: HShslua-0.3.12.o: unknown symbol `___s trtod' ghc.exe: unable to load pac ...

  9. SQL Fundamentals:替代变量(&,&&)以及DEFINE,UNDEFINE,ACCEPT指令

    替代变量 利用替代变量可以实现数据操作的交互性.替代变量的操作类似于键盘输入操作. 所谓的替代变量,指的就是在进行查询或更新操作时,某些数据是由用户所输入的,而这些数据前可以使用“&”标记. ...

  10. rac下asm管理的表空间-数据文件的重命名

    asm下表空间的重命名与普通文件系统下的表空间重命名原理是一样的,只不过asm管理的数据文件有一些需要注意的地方,另外在asm下操作数据文件需要格外小心,稍有不慎将会造成数据文件丢失,如可以做备份最好 ...