内核第一讲,内核简介

iBinary 2018-01-09 原文

内核第一讲,内核简介

 

         内核第一讲,内核简介

一丶了解内核的基本名词和概念.

讲解内核了,讲解之前,抱着问题学习.

1.什么是内核.什么是驱动.

宏内核,微内核之间的区别.以及是什么是宏内核,什么是微内核.

 

内核:

  内核的本质就是操作系统.学习操作系统原理.通过分析微软的系统来达到学习内核底层的知识.

驱动:  

  驱动是可以访问硬件进行操作的.访问ring0 空间.

比如:

  我的电脑 – 属性 – 设备管理器.可以看到.

这些都是键盘的驱动.如果没有了这些驱动,则无法操作键盘.

再比如显卡. 如果我们屏幕上显示东西,那么只需要往固定地址写内容即可显示.

宏内核:

  什么是宏内核,宏内核代表就是(Linux)系统.追求性能为主. 简而言之代码都放在0环执行

微内核:

  什么是微内核,微内核的代表就是(Minix),追求维护性. 简而言之代码都放在三环执行.

微内核著名的设计就是动态链接库  俗称DLL. 

而现在宏内核也支持动态链接库的设计了.所以没有谁好谁坏.都在找一个平衡点.

windows系统则是定位为微内核.但是是微内核和宏内核的混合.

二丶了解高低2G空间,(Ring0 和Ring3)

我们都知道操作系统代码(内核代码)都会放在 Ring0空间中,这个是用户不能访问的.而用户的应用程序则放在 Ring3中.

那么这个是可以设置的.在 xp下.可以通过 boot.ini 文件进行设置.这样可以设置用户空间可以是3G,或者任意G,只需要让操作系统重启运行起来即可.

在Win7下,则需要CMD命令进行设置了.(简单了解即可)

三丶学习内核知识应该应该从哪里开始学习.

学习内核知识,应该从内存保护开始学习.学习它是怎么进行保的.以及要了解硬件.

比如我说了往固定内存写二进制会显示数据.那么你要了解硬件,往那个固定地址写内容.

学习内核之前,应当下载inter手册

还需要配套视频观看,因为内核知识,不是说在博客上写文字就能描述清楚的.(尽量描述的简单易懂)

讲解内核,会讲完32内核,然后讲解64位内核.

 

课堂代码资料: 链接:https://pan.baidu.com/s/1eSjfOLs 密码:r8hm

 

转载请著名出处,原博客连接:  http://www.cnblogs.com/iBinary/

发表于 2018-01-09 10:09 iBinary 阅读() 评论() 编辑 收藏

 

版权声明:本文为iBinary原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/iBinary/p/8250016.html

内核第一讲,内核简介的更多相关文章

  1. 内核知识第七讲,内核中设备常用的三种通信方式,以及控制回调的编写

    内核知识第七讲,内核中设备常用的三种通信方式,以及控制回调的编写         内核知识第七讲,内核中设备常 […]...

  2. 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.

    一丶内核中的数据类型   在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据 […]...

  3. Linux内核源码分析之setup_arch (四)

    前言 Linux内核源码分析之setup_arch (三) 基本上把setup_arch主要的函数都分析了,由 […]...

  4. Linux内核模块(.ko文件)

    目录Linux内核模块简介模块的基本概念一个最简单的Linux内核模块printk与printflsmod命令modprobe命令Linux内核模块程序结构模块加载函数模块卸载函数模块参数导出符号模块声明与描述模块的使用计数模块的编译参考...

  5. 羽夏看Linux内核——环境搭建

    写在前面此系列是本人一个字一个字码出来的,包括示例和实验截图。如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事...

  6. CentOS 7 下编译Linux kernel 内核

    1. 准备编译环境 yum groupinstall "Development Tools"   2. 下载内 […]...

  7. 跟厂长学PHP7内核(五):系统分析生命周期

    上篇文章讲述了模块初始化阶段之前的准备工作,本篇我来详细介绍PHP生命周期的五个阶段。 一、模块初始化阶段 我 […]...

  8. Linux文件描述符

    在Linux通用I/O模型中,I/O操作系列函数(系统调用)都是围绕一个叫做文件描述符的整数展开。这不禁让人产 […]...

随机推荐

  1. Mac 如何优雅的使用Microsoft office

       近期要使用文档编辑,但是发现mac下的pages实在不好用,或者说是不习惯,想安装个office  发现 […]...

  2. 英语发音规律

    单元音: [i:]、[i]、[?:]、[?]、[u:]、[u]、[?:]、[?]、[ɑ:]、[?]、[e]、[ […]...

  3. 各领域公开数据集下载

     —————本文为转载—— […]...

  4. 【原创】go语言学习(二十一)Select和线程安全

    目录 select语义介绍和使用 线程安全介绍 互斥锁介绍和实战 读写锁介绍和实战 原子操作介绍 select […]...

  5. 5G时代边缘计算让工业物联网锦上添花

      随着5G时代的到来,5G成为工业物联网业务的重要支撑。5G技术也可以部署到工厂内外网络中,实现5G网络切片 […]...

  6. Golang学习笔记:goroutine

    1.goroutine goroutine是go语言的并发体。在go语言里面能使用go关键字来实现并发。 go […]...

  7. 实用的chrome插件

      有人说Chrome是世界上最好的浏览器,当然也会有不赞同。但不论怎样,工具而已,何必限制,任何一个用好了都 […]...

  8. 对序列使用+和*

    序列是支持 + 和 * 操作的。通常 + 号两侧的序列由 相同类型的数据所构成,在拼接的过程中,两个被操作的序 […]...

展开目录

目录导航