首页 > 系统相关 >《Linux内核完全注释》(1)

《Linux内核完全注释》(1)

时间:2023-10-20 17:34:58浏览次数:33  
标签:控制器 1.1 0.12 注释 内核 Linux 2.4

1 概述

1.1 Linux发展

1.1.1 Unix

Unix诞生于1969年,1972年用C语言进行改写,使其能够广泛推广。

1.1.2 Minix

基于Unix,一群老师研发了minix用于教学,但是由于不开源,功能也不够,只够用于教学。这激发了Linus开发了Linux操作系统。

1.1.3 GNU计划

在1984年,为了推广开源操作系统,让大家都有一个可以用的操作系统,自由软件基金会搞了GNU计划。在这个计划中最终诞生的操作系统内核被称为Linux。当然GNU项目也开发出了很多高质量的免费软件,用于配套Linux进行使用。比如emacs编辑系统、bash shell程序、GCC、gdb调试程序等。GNU促成了Linux的发展,因此,现在有很多人仍将Linux操作系统称为“GNU/Linux”系统。

1.1.4 POSIX标准

由IEEE和ISO/IEC开发的操作系统调用服务接口标准。从UNIX时代发展而来。随后当Linux在1991-1993年间刚刚起步时,也做得符合Unix的POSIX标准。

1.1.5 Linux的诞生

讲了托瓦茨在大学期间研发Linux取代Minix的故事。

1.1.6 Linux版本变迁

本书分析的0.12版本在1992年1月15日发布。1.0正式版在1994年3月14日发布。

linux名字由来

linux早期贡献者

1.2 内容综述

bootimage-0.12.Z:引导内核启动的镜像文件。
rootimage-0.12.Z:根文件系统
linux-0.12.tar.Z:内核源代码
as86.tar.Z:16位汇编器链接程序软件包。
INSTALL-0.11:是简单安装说明文档。

0.12版本的内核尚不包括有关专门的进程等待队列、TCP/IP网络方面的代码。

2 微型计算机组成结构

2.1 微型计算机组成原理

传统的IBM PC的组成原理,还主要介绍了南桥和北桥芯片的使用规则。

2.2 IO端口的寻址和访问控制方式

独立编址:I/O控制器等外设,与存储器,地址分开,通过一个额外的分辨方式访问IO或者存储器。
统一编址:把IO控制器的端口地址归入存储器寻址地址空间范围。
接口访问控制:程序查询方式PIO,中断处理方式,DMA传输方式。

2.3 存储器

  • 主存储器:这里的存储器是内存,也就是RAM。RAM按照系统的要求和实际挂在地址和用途,会分为不同的块以实现不同的功能。
  • BIOS:会装机的肯定都知道BIOS,其用于计算机开机时执行系统各部分的自检,并检测一些必要的外设,建立各种配置表。
  • CMOS存储器:存放实时时钟信息和系统硬件配置信息。一般通过纽扣电池供电。掉电后时钟复位,原系统配置信息会丢失。

2.4 控制器/卡

2.4.1 中断控制器

80X86使用两片级联的8259A实现中断控制器,最多可支持16个终端控制。其中有2个是保留,1个是可选网络接口,剩余的支持内部和外部多种中断。与单片机相比,其可以接受很多外设的中断,这边的外设是整正的基于人的(HMI)输入输出设备,比如键盘、鼠标、硬盘、软盘、串口、并口、协处理器等。

2.4.2 DMA控制器

由8237芯片或其兼容芯片完成该功能,与MCU的DMA类似。

2.4.3 定时器

8253/8254是一种可编程定时器芯片。(泰勒基了,1990年的时钟外设还需要一颗独立的芯片)Linux 0.12使用了通道0,使其工作在方式3下,并且每隔10毫秒(100Hz)发出一个内部时钟中断信号(IRQ0)。这个就是Linux0.12的内核工作脉搏时钟(心跳时钟)。

2.4.4 键盘控制器

主要是介绍PS/2接口键盘的工作流程,如今PS/2的键鼠已经基本遇不到了。主机的键盘控制器专门用来对接收到的键盘扫描码进行解码,并把最终数据放松到操作系统的键盘数据队列中。

2.4.5 串行控制卡

就是串口通信协议,这是一种比较古老的通信协议,自从计算机诞生之时就存在了。由起始位、数据位、奇偶校验位、停止位构成,异步通信时,也要设置相同的波特率。一般当时的PC机都会使用RS232标准的串口进行通信。

2.4.6 显示控制

单色MDA、彩色CGA、EGA、VGA。

2.4.7 软盘和硬盘控制器

软盘通常使用聚酯薄膜作为基片,而机械硬盘一般以金属铝合金作为基片。一张软盘使用上下两个磁头在盘片两面读写数据,盘片大概300转每分钟,3.5英寸的1.44MB盘含有80个磁道,每个磁道有18个扇区,每个扇区512字节。这样的盘传输速率大概为500Kbps。

标签:控制器,1.1,0.12,注释,内核,Linux,2.4
From: https://www.cnblogs.com/HYBZ/p/17769035.html

相关文章

  • Linux实用操作
    Linux实用操作快捷键Ctrl+C:强制停止用于Linux程序运行的时候命令输入错误,也可以通过快捷键ctrl+c,退出当前输入,重新输入Ctrl+d:退出或登出通过快捷键:ctrl+d,退出账户的登录退出某些特定程序的专属页面不能用于退出vi/vim历史命令搜索history:通过history命令,查......
  • Linux20--定时任务之:crond计划任务
    1定时任务介绍1.1定时任务含义和用途#含义设定某个日期或时间周期性执行指令比如设定一个闹铃,叫你每天早上7点钟起床等#用途定期备份数据,定期执行脚本程序1.2什么是Crond?#Crond是Linux系统中用来定期执行命令或脚本的一种服务软件一般情况下,安装完CentOS操......
  • 变量、常量、赋值及注释
    变量什么是变量变量用来描述世间万物的状态变量名的命名规范变量名由数字/字母/下划线组成,不能以数字开头变量名不能以关键字命名变量名具有意义变量的组成变量名:接收变量值赋值符号:把变量值赋值给变量名变量值:就是一个数值定义变量名的两种风格驼峰体AgeOfN......
  • 【从零学习python 】02. 开发工具介绍及交互式编程及注释详解
    编写Python代码根据我们之前介绍的知识,我们知道,所谓代码其实就是将一段普通文本按照一定的规范编写,然后交给电脑解析并且执行。那既然是一段文本,那我们是否可以直接使用文本编辑器来编码呢?答案是肯定的,但是这样开发起来,效率会很低。一、常见的代码编辑工具实际上,在我们实际工作......
  • Linux 实现OpenSSL 服务器端客户端通信
    1.OpenSSL安装详情参考博文:https://blog.csdn.net/qq_39521181/article/details/964576732.SSL在学习openssl编程之前,先了解一下什么是SSL,有助于后续的学习。SSL是一个缩写,代表的是SecureSocketsLayer。它是支持在Internet上进行安全通信的标准,并且将数据密码术集成到了......
  • openssl基础使用(密码学 linux)
    目录       实验原理       实验过程           一、对称加密               1、使用rc4加解密               2、使用AES加解密               3、使用3DES加解密           二、非对......
  • 小明哥学linux驱动之USB-OTG(基于gadget框架)【转】
    转自:https://blog.csdn.net/silence3039/article/details/100187666一、简介OTG是On-The-Go的缩写。其设计的初衷是为了两个“外设”在没有PC(Host)的情况下,也可以通过USB进行数据传输。可以理解为,拥有OTG功能的USB设备(OTG设备)既可以做host,也可以做peripheral。二、OTG基本结构2......
  • linux上部署ftp server
    在github上找到了2个还算活跃的方案:https://github.com/fauria/docker-vsftpdhttps://github.com/stilliard/docker-pure-ftpd方案一  https://github.com/fauria/docker-vsftpd1、创建容器dockerrun-d-v/my/data/directory:/home/vsftpd\-p20:20-p21:21-p2110......
  • Linux学习-1
    学习笔记-命令汇总文件管理绝对路径 cd以绝对路径进入某个文件夹  pwd查看当前工作目录的绝对路径相对路径 cd ..表示当前目录的上层目录,.表示当前目录 目录操作创建:mkdir (-p创建多层目录)查看:pwd(当前所在目录)(-p实际工作目录)ls-a查看隐藏的目录与文件 ls......
  • Linux升级openssl、openssh
     在项目中,我们经常会发现Linux系统中OpenSSH、OpenSSL存在高危漏洞,如OpenSSL“心脏出血”漏洞,利用该漏洞,黑客可以获取约30%的https开头网址的用户登录账号密码,其中包括购物、网银、社交、门户等类型的知名网站等。以及OpenSSH漏洞,如“OpenSSH远程代码执行漏洞CVE-2016-10009......