自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 【学习】使用pam_cracklib校验密码复杂度

关于工作中使用pam_cracklib的一点总结。

2024-11-23 16:37:41 581

原创 C++学习笔记4——名称空间

本篇整理C++名称空间的要点与代码示例。

2024-11-23 16:19:53 361

原创 【读书笔记-《网络是怎样连接的》- 7】Chapter3_2 路由器

本篇内容主要讲解路由器的包转发原理。

2024-11-19 19:44:14 1172

原创 【读书笔记-《网络是怎样连接的》- 6】Chapter3_1集线器与交换机

本章的主要内容是经过网线传输的网络包,如何经过集线器,交换机与路由器,最终进入互联网。本篇首先来介绍集线器与交换机的转发操作。

2024-11-19 17:24:07 978

原创 C++学习笔记3——存储持续性、作用域和链接性

如果要在多个文件中使用外部变量,只需在一个文件中包含该变量的定义,但在使用该变量的其他所有文件中使用extern关键字进行声明。在代码块中用static限定符定义变量,则变量没有链接性,只能在代码块中使用,但在该代码块不运行时依然存在,因此在两次调用函数之间变量的值保持不变。默认情况下,函数中声明的函数参数和变量的存储持续性为自动,作用域为局部,没有链接性,即只能在函数(代码块)内访问。被多个文件包含也不会产生冲突。在代码块外部使用static限定符定义变量,该变量的链接性为内部,只能在当前文件中使用。

2024-10-31 19:51:35 951

原创 C++学习笔记3——函数模板

函数模板是通用的函数描述,使用泛型来定义函数,其中的泛型可用具体的类型替换。通过将特定类型的参数传递给模板,可使编译器生成该类型的函数。将同一种算法应用于不同的类型,可用使用模板。模板并不创建任何函数,只是告诉编译器如何定义函数。要使用模板的一个特定形式的函数,只需要在程序中调用Swap函数既可。编译器会检查使用的参数类型,并生成相应的函数。模板Swap定义了函数生成的方式,传入int类型的参数,编译器就会生成int类型的版本。

2024-10-31 19:25:29 1511

原创 【读书笔记-《网络是怎样连接的》- 5】Chapter2_4-网卡的工作过程

IP模块组装好的数据包,就可以交给网卡进行发送了。本篇就来介绍网卡在发送数据包时的工作过程。

2024-10-27 20:49:38 910

原创 【读书笔记-《网络是怎样连接的》- 4】Chapter2_3-IP与以太网的包收发过程

前面讲到TCP模块会委托IP模块发送数据包,本篇内容就来讲解IP模块的工作过程。

2024-10-27 20:07:04 1101

原创 【读书笔记-《网络是怎样连接的》- 3】Chapter2_2-协议栈通信详细过程

本篇接上一篇,继续补充叙述TCP协议的连接过程。

2024-10-25 19:37:26 968

原创 C++学习笔记2——函数重载

C++新增的默认参数指的是函数调用省略实参时自动调用的一个值。函数重载是指设计一类函数名相同,但使用不同参数列表的函数,C++根据上下文确定使用的重载函数版本。

2024-10-24 14:00:27 743

原创 【读书笔记-《网络是怎样连接的》- 2】Chapter2_1-协议栈通信详细过程

第二章从协议栈这部分来看网络中的通信如何实现,准备从两部分来进行分解。本篇是第一部分:详细介绍TCP协议栈收发数据的过程。

2024-10-23 23:19:50 1151

原创 C++学习笔记1——引用

引用是已定义的变量的别名。如变量a为变量b的应用,则可以交替使用a或者b来表示该变量。引用变量主要用于函数的形参,此时函数使用的是该变量的原始数据而不是变量的副本。如果函数按值返回一个结构,而不是结构的引用,则会将整个结构复制到一个临时位置,再复制到需要的变量;如果返回一个结构的引用,则直接将结构复制到需要的变量,效率更高。如想使用传递给函数的信息而不修改它,同时还想使用引用,应使用const引用。**返回引用时,要避免返回函数终止时不再存在的内存单元引用。引用变量是C++新增的一种复合类型。

2024-10-21 19:44:28 998

原创 【读书笔记-《30天自制操作系统》-30】Day31

本篇为《30天自制操作系统》后记与自己学习的心得体会。

2024-10-17 22:44:02 342

原创 【读书笔记-《30天自制操作系统》-29】Day30

其实到上一篇为止关于操作系统的开发就已经基本完成了。为了使操作系统更为丰富,本篇内容继续开发了一些应用程序,并改进了IPL启动区。

2024-10-17 18:30:00 1073

原创 【读书笔记-《30天自制操作系统》-28】Day29

本篇首先完善文件压缩的功能,完成操作系统功能的开发,然后进行应用程序的开发。首先完成了C语言的几个标准函数,然后完成了bball程序与外星人游戏程序的开发。

2024-10-15 22:09:36 1013

原创 【读书笔记-《30天自制操作系统》-27】Day28

本片内容围绕着文件操作与文字显示展开,开发了文件操作的API,并实现了日文文字的显示。

2024-10-13 20:33:29 1108

原创 【读书笔记-《30天自制操作系统》-26】Day27

本篇内容不多,主要是一些优化的工作。首先优化了应用程序,然后引入对应用程序的保护功能,最后引入库的概念。

2024-10-08 19:24:52 1316

原创 【读书笔记-《网络是怎样连接的》- 1】Chapter1-从Web浏览器开始

网络之旅的第一章,我们从在浏览器中输入url开始。本章主要介绍三部分内容。首先是在Web浏览器中输入URL后,浏览器是如何解析URL并生成HTTP请求消息的。生成请求消息后,浏览器需要将请求发送给Web服务器,需要知道Web服务器的IP地址。这里讲解DNS服务器的工作原理,如何通过域名查询到IP地址。最后是委托协议栈发送请求消息,本章先讲解协议栈发送消息的基本过程,而详细内容会在第二章继续展开。

2024-09-30 22:32:12 1051

原创 【读书笔记-《30天自制操作系统》-25】Day26

本篇仍然是围绕着命令行窗口做文章。首先优化命令行窗口的移动速度,然后增加多个命令行窗口功能。接着优化了命令行窗口的关闭,最后增加了两个命令start与ncst。

2024-09-29 19:51:34 1226

原创 【读书笔记-《30天自制操作系统》-24】Day25

本篇内容也比较简单。首先开发了蜂鸣器的API,然后增加更多的颜色显示。为了同时运行两个应用程序,又增加了一个命令行窗口。

2024-09-23 21:49:48 1064

原创 【读书笔记-《网络是怎样连接的》- 0】全书整体结构

网络是计算机相关课程中的重要部分,更是当今的学习生活中所不可或缺的。虽然相关的经典书籍很多,但是大多数属于深入某一部分的专著,比如TCP/IP协议。像我这样对于网络一知半解的同学来说,更需要一种覆盖网络全貌,每一部分又不那么复杂的入门书。这本《网络是怎样连接的》就非常符合这一特点。本书通过描述从Web浏览器中输入网址,到浏览器中展示出网站页面的这一过程,深入浅出地讲解了相关的网络知识。

2024-09-21 23:01:42 697

原创 【读书笔记-《30天自制操作系统》-23】Day24

本篇内容依然比较简单,主要是优化窗口功能以及开发定时器应用程序。首先是优化窗口的切换功能,实现通过键盘和鼠标切换窗口,然后是实现通过鼠标关闭窗口。接着实现不同窗口输入状态的切换,最后是实现定时器的API与应用程序。

2024-09-20 23:05:48 1491

原创 【读书笔记-《30天自制操作系统》-22】Day23

本篇内容比较简单,集中于显示问题。首先编写了应用程序使用的api_malloc,然后实现了在窗口中画点与画线的API与应用程序。有了窗口显示,还要实现关闭窗口的功能,于是在键盘输入API的基础上实现了按下按键关闭窗口。最后发现用上文的强制结束按键结束应用程序,程序的窗口还没有关闭,又增加了强制结束程序时关闭窗口的功能。

2024-09-19 23:07:54 1493

原创 【读书笔记-《30天自制操作系统》-21】Day22

本篇内容首先介绍了CPU对于操作系统的保护功能,然后在上一篇API的基础上实现C语言编写的显示字符串与窗口画面的应用程序。

2024-09-18 20:20:05 1493

原创 【读书笔记-《30天自制操作系统》-20】Day21

本篇的内容主要是操作系统的保护,涉及到x86 CPU的一些机制,以及操作系统的异常处理。

2024-09-14 15:33:55 1149

原创 【读书笔记-《30天自制操作系统》-19】Day20

本篇的内容围绕系统调用展开。为了让应用程序能够调用操作系统功能,引入了系统调用以及API的概念。首先实现了显示单个字符的API,让应用程序通过传递地址的方式进行调用;接下来又改进为通过中断的方式进行调用。在此基础上继续实现了显示字符串的API。

2024-09-11 22:19:21 1218

原创 【读书笔记-《30天自制操作系统》-18】Day19

本篇内容涉及到文件与文件系统,以及应用程序的运行。首先实现type命令,读取文件并显示;接下来导入对FAT文件系统的支持,实现读取大小512字节以上,存放在不连续扇区中的文件。在此基础上,最终实现读取并运行应用程序。

2024-09-10 13:54:44 1459

原创 【读书笔记-《30天自制操作系统》-17】Day18

本篇的内容比较简单。首先进一步优化命令行窗口的功能,增加回车键与窗口滚动,然后实现几个主要命令mem、cls和dir。

2024-09-08 14:39:24 1734

原创 【读书笔记-《30天自制操作系统》-16】Day17

本篇内容开始进入一个新的主题——命令行,这是一个操作系统很基本的功能。本篇中首先实现命令行窗口的显示,做到能切换到窗口以及实现向窗口输入内容。接下来在之前键盘输入的基础上,增加对符号以及大小写字母的输入。最后再加入对其他锁定键的支持。

2024-09-06 23:16:22 774

原创 【读书笔记-《30天自制操作系统》-15】Day16

本篇内容继续多任务的讲解。上一篇中实现了两个任务之间的自动切换,但还不够通用,这里将其优化为多个任务之间的切换。接着引入了任务休眠的概念与休眠的程序实现。最后介绍了任务的优先级,一种用切换时间的长短来衡量,一种用Task Level来衡量。

2024-09-05 18:06:52 964

原创 【读书笔记-《30天自制操作系统》-14】Day15

本篇内容开始讲解多任务。本篇内容结构很简单,先讲解任务切换的原理,再讲解任务切换的代码实践。但是涉及到的知识不少,理解上也有些难度。

2024-09-02 21:44:05 1932

原创 【读书笔记-《30天自制操作系统》-13】Day14

相比前几篇的内容,本篇不仅内容更为简单,而且与显示相关,更为有趣。首先通过调用VBE的显示模式提高显示画面的分辨率,然后分别实现按下键盘按键显示对应的字符,以及通过鼠标移动窗口。因为是以前面讲过的很多内容为基础,程序代码很简单,而且能切实看到成果,也更有趣。

2024-09-01 22:30:00 2518

原创 【读书笔记-《30天自制操作系统》-12】Day13

本篇的内容仍然是定时器的相关讲解。上一篇内容中对于中断程序做了许多优化,但是这些优化到底起了多少作用呢?本篇用一种测试方法来进行测试。然后本篇继续引入链表与哨兵的概念,进一步加快超时的中断处理

2024-08-31 23:40:32 1971

原创 【读书笔记-《30天自制操作系统》-11】Day12

本篇内容比较简单,首先介绍定时器的概念与设置方法,然后介绍超时的中断处理,并对中断处理函数进行了优化。

2024-08-30 22:33:36 2029

原创 【读书笔记-《30天自制操作系统》-10】Day11

本篇内容继续围绕显示展开。首先对鼠标显示做了些优化,鼠标箭头在到达画面边缘时能够实现部分隐藏;接下来制作了窗口,实现了窗口显示;最后还在窗口的基础上实现了计数器,显示计数的变化并消除闪烁的问题。

2024-08-29 20:52:44 1190

原创 【读书笔记-《30天自制操作系统》-9】Day10

本篇主要解决两个问题。一是扩充上一篇内存管理部分的功能,实现一种按4KB大小分配内存的函数;二是解决鼠标显示中鼠标覆盖任务栏的问题。

2024-08-28 22:32:31 1127

原创 【读书笔记-《30天自制操作系统》-8】Day9

本篇的主题围绕着内存管理进行展开。首先编写了内存容量获取的程序,接下来详细讲解了内存管理的具体内容,以及两种实现内存管理的方式。

2024-08-23 20:47:13 1662

原创 【读书笔记-《30天自制操作系统》-7】Day8

本篇讲解实现鼠标移动的最后工作,并且讲解前面没有详细说明的进入32位模式的过程。

2024-08-22 22:03:27 868

原创 【读书笔记-《30天自制操作系统》-6】Day7

本篇向着移动鼠标的目标继续前进。先对中断处理进行一些补充说明,然后建立完善缓冲区来实现键盘数据接收。最后是在此基础上的初始化鼠标控制电路与鼠标的数据接收

2024-08-20 21:32:56 1012

原创 【读书笔记-《30天自制操作系统》-5】Day6

本篇的内容重点在于中断,在GDT进行补充说明后,围绕中断介绍了PIC以及中断的处理逻辑。

2024-08-19 22:33:43 991

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除