自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (9)
  • 收藏
  • 关注

原创 哈工大操作系统实验1 熟悉实验环境

实验1主要是介绍了在Ubuntu下如何编译、运行和调试linux0.11内核程序。课程中的说明非常详细了,目前照着做没有发现什么问题。

2024-10-30 08:43:02 266

原创 第3章 分段机制和逻辑地址

该章节主要介绍了寄存器的字长、如何访问内存、内存中的字节序以及8086的分段机制。

2024-10-26 08:16:07 888

原创 第2章 计算机和汇编语言

第2章重点介绍了寄存器(Register)、内存(Memory)和指令(Instruction)、指令集(Instruction set)、字节(Byte)等基本概念,然后引出了为什么要发明汇编语言(Assembly)。

2024-10-23 14:35:15 273

原创 第1章 十六进制计数法

第一章节主要是说明了数制的知识,讲解了二进制、十进制和十六进制,以及进制之间的互相转换。

2024-10-22 11:16:55 413

原创 第20章 平坦内存模型和软件任务切换

该章节的代码功能和前面几章类似,只是本章通过平坦内存模型简化开发、通过软件进行任务切换。如果前面几章都理解了,这章就容易理解了。

2024-10-18 10:57:54 962

原创 第19章 分页机制和动态页面分配

该章主要讲解了内存的分页机制,根据其机制对第18章的代码进行改造优化。在阅读的过程中,一开始比较懵,但后来掌握一个方法后就容易理解多了:就是多从线性地址转成物理地址的角度去思考。因为书中很多的地方要通过物理地址构造线性地址,比如页目录表的物理地址是0x21000,构造的线性地址是0xFFFFF000,反向思考有点难,但是正向从线性地址0xFFFFF000转成物理地址0x21000进行思考并尝试自己计算,就很容易理解了。

2024-10-11 10:30:46 986

原创 第18章 中断和异常的处理与抢占式多任务

本章代码实现的功能,创建内核任务、用户任务1、用户任务2,然后通过中断的方法在几个任务之间切换,不同的任务打印不同的字符串。

2024-09-30 11:56:31 862

原创 第17章 协同式任务切换

从任务切换的时机来讲,有两种基本的策略:协同式任务切换和抢占式任务切换,本章主要介绍协同式的任务切换。

2024-09-26 17:25:56 786

原创 第16章 任务和特权级保护

该章节的内容我感觉比较难,其中涉及了很多新的知识:调用门、LDT、TSS、TCB、特权级、IO特权级等,并且调用门还涉及特权级检查和变更等。我也看了很多遍,才弄清楚,建议是一个一个知识点厘清。

2024-09-24 16:42:47 802

原创 第15章 程序的动态加载和执行

该章节讲解了MBR加载内核,然后内核加载用户程序这样一套流程,模拟操作系统的工作原理。

2024-09-21 11:25:47 1104

原创 第14章 存储器的保护

该章主要介绍了GDT、代码段、数据段、栈段等的访问保护机制。存储器的保护功能可以禁止程序的非法内存访问。利用存储器的保护功能,也可以实现一些有价值的功能,比如虚拟内存管理。

2024-09-18 11:04:34 492

原创 第13章 操作数和有效地址的尺寸

16位操作尺寸的指令和32位操作尺寸的指令可能具有相同的机器码,为了区分这两种不同操作尺寸的指令,32位处理器引入了默认操作尺寸的概念。

2024-09-14 10:56:22 469

原创 第12章 进入保护模式

该章代码的功能:程序运行后从实模式进入保护模式,并在屏幕上输出字符:Protect Mode OK.

2024-09-12 11:48:23 417

原创 第11章 32位x86处理器编程架构

IA-32(INTEL Architecture, 32-bit):INTEL 32位处理器架构简称IA-3,以8086处理器为基础发展起来的。该章重点介绍了IA-32处理器的工作方式和相关技术。

2024-09-10 15:28:37 903

原创 第10章 中断和动态时钟显示

书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。

2024-09-09 11:23:54 1435

原创 第9章 硬盘和显卡的访问与控制

该章节模拟操作系统加载应用程序,其中涉及的知识点:段的重定位方法、读取硬盘、控制屏幕光标等。

2024-09-06 14:17:22 1145

原创 第8章 比高斯更快的计算

该章通过从1加到100的功能,介绍了数据结构——栈、处理器的寻址方式。

2024-09-02 15:15:17 1113

原创 第7章 相同的功能,不同的代码

该章节和上章实现的功能是一样。也在屏幕上输出:Label offset: number标号的十进制格式,不过用了更优雅的实现方式。

2024-08-30 11:51:49 747

原创 第6章 编写主引导扇区代码

该章节的程序就是在屏幕上输出:Label offset: number标号的十进制格式,通过这个例子介绍了屏幕显示内容原理、主引导扇区知识和Bochs调试知识等。

2024-08-28 11:53:39 691

原创 第5章 虚拟机的安装和使用

第5章 虚拟机的安装和使用,第一节介绍了计算机的启动过程原理,为后面创建和使用虚拟机做铺垫。第二节介绍虚拟机(Virtual Box)的安装和使用,以及如何在虚拟机上运行我们编写的汇编程序。

2024-08-23 16:03:29 977

原创 第4章 汇编语言和汇编软件

第4章 汇编语言和汇编软件读书札记,了解了汇编语言全貌,用visual studio code编写汇编还有习题的解答。

2024-08-22 09:29:59 1837

原创 做一款软件到底要花多少钱?

如果考虑saas服务的一些缺点,希望有更多的自主权,例如有源码,可以部署在自己服务器上,可以申请自己的软著,后续可以持续迭代等,那么基本上几万元的预算跑不了,通常的方式是购买一套源码,在此基础上做一些定制功能,或者是在开源程序上进行定制开发,俗称二开,这种方案的好处就是价位适中、自主权更高;可靠性,一台服务器挂了,全部嗝屁?在这个价位上,如果有人说几千元可以做,要么软件功能确实简单,例如企业信息站,要么就是现成的一套源程序直接给你,改改标题,改改logo完事,后续要改动功能,那么基本上是要加钱的。

2023-12-27 16:44:59 1113

原创 css中skew实现元素倾斜

css中可以用transform可以实现元素2D、3D的一些变化,其中有一个变化倾斜可以用skew实现。skew语法skew语法:skew(ax, ay)其中:1. ax 表示在x轴上的倾斜角度,单位为 deg。2. ay 表示在y轴上的倾斜角度,单位为 deg。x轴倾斜示例1,x轴上倾斜30deg:<!-- 要旋转的div --><div class="box"></div><!-- 参照物 --><div class="b

2021-12-23 10:02:08 8224

原创 vue3中基于script setup语法糖的$refs使用

在用vue3开发项目的时候,需要调用子组件的方法,于是想着用$refs来实现,但是我是使用script setup语法糖,原先vue2的语法已经不适用了。于是一番折腾和查阅资料,终于搞定。vue2语法vue2语法在组件上设置ref属性后,在代码里可以通过 this.$refs.ref值 访问到对应的子组件。一个设置ref值的组件:<base-input ref="usernameInput"></base-input>在js代码中可以通过如下代码访问到这个组件:thi

2021-12-02 15:04:55 6445 2

原创 从谷歌一行代码能学到哪些姿势

网上很流行的一行代码,据说是谷歌工程师写的,它的作用是给页面所有元素增加一个随机颜色的外边框。[].forEach.call($$("*"),function(a){a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)})运行效果如下图:这个代码虽然只有一行,但是包含的知识点不少,网上有很多解析。我也说下自己的理解,然后最后推荐在实务中使用TreeWalker对象进行遍历。我的理解其中主要包含如下

2021-11-26 15:33:13 298

原创 JavaScript用html5新方法操作元素类名

现在网页中类属性使用越来越多,经常会通过增加类、移除类给指定的元素修改样式效果。早先JavaScript处理起来特别不方便,需要先取到class属性,然后对字符串进行处理。现在html5给所有元素增加了classList属性来操作类属性,非常方便。classList先看如下代码:<ul class="nav"> <li class="active">栏目1</li> <li>栏目2</li> <li>栏目3</li

2021-11-20 12:26:13 748

原创 JavaScript用Element Traversal新属性遍历子元素

之前遍历子元素可以用childNodes属性或者firstChild进行遍历,但是要判断子元素是否是ELement元素。后来W3C通过Element Traversal规定定义了一组新的属性来进行遍历,就不用判断了,非常方便。childNodes属性遍历遍历子元素通常是通过childNodes属性进行遍历,但是这个属性会包含空白节点,如果只是要遍历Element元素就特别不方便。请看如下代码示例:<div class="article"> <p>段落一</p>

2021-11-20 11:51:29 611

原创 JavaScript中选择器函数querySelector和querySelectorAll

选择器是Css非常强大的功能,早先一般是通过getElementById和getElementsByTagName来获取页面元素,在一些场景下就很不方便。后来DOM扩展出了Selector API标准,其中 Selector API Level 1 包含了querySelector和querySelectorAll两个方法,可以通过Css选择器匹配页面元素。querySelector查询单个元素querySelector用于查询页面中第一个符合规则的元素,可以在Document实例和Element实例

2021-11-20 10:29:37 4615

原创 JavaScript中if判断包含逗号表达式

有时会看到JavaScript中if判断里包含英文逗号 “,”,这个是其实是逗号表达式。在if条件里,只有最后一个表达式起判断作用。请看如下示例:let a = 1, b = 2, c = 3;// if只判断最后一个表达式if (a == 10, b == 20, c == 3) { console.log("c == 3");} else { console.log("c != 3")}// 控制台输出:// c == 3上面if中有3个表达式,前面两个都不成立,只有最后

2021-11-19 21:25:12 4130

原创 JavaScript中MutationObServer监听DOM元素详解

DOM的MutationObServer接口,可以在DOM被修改时异步执行回调函数,我的理解就是可以监听DOM修改。基本使用可以通过MutationObserver构造函数实例化,参数是一个回调函数。let observer = new MutationObserver(() => console.log("change"));console.log(observer);observer对象原型链如下:可以看到有disconnect、observer、takeRecords方法。1.

2021-11-19 14:51:19 1942

原创 也谈JavaScript浅拷贝和深拷贝

网上关于这个话题,讨论有很多了,根据各路情况我自己整理了一下,最后还是能接近完美的实现深拷贝,欢迎大家讨论。javascript中的对象是引用类型,在复制对象的时候就要考虑是用浅拷贝还是用深拷贝。直接赋值对象是引用类型,如果直接赋值给另外一个对象,那么只是赋值一个引用,实际上两个变量指向的同一个数据对象,如果其中一个对象的属性变更,那么另外一个也会变更。示例1,简单示例:let human1 = { id: 1, name: "happy"};human2 = human1; // 这里就

2021-11-04 17:24:04 105

原创 JavaScript中isPrototypeOf函数详解

有时看一些框架源码的时候,会碰到 isPrototypeOf() 这个函数,那么这个函数有什么作用呢?isPrototypeOf()isPrototypeOf() 是 Object函数(类)的下的一个方法,用于判断当前对象是否为另外一个对象的原型,如果是就返回 true,否则就返回 false。这个函数理解的关键是在原型链上,这个据说是JavaScript的三座大山之一。这里不详述其中的原理,简单的来讲就是3点:1. 函数对象,都会天生自带一个prototype原型属性。2. 每一个对象也天生自

2021-11-03 15:05:28 4366

原创 script使用integrity属性进行安全验证

script标签引入文件在html中,script标签可以通过src属性引入一个js文件,引入的js文件可以是本地的,也可以是远程的。1. 引入本地文件开发环境一般多引入本地js文件。<script src="./js/index.js"></script>2. 引入远程文件部署到线上后,一般会分发到cdn,需要引入远程文件,形如:<script src="https://cdn.xxx.xx/js/index.js"></script>只

2021-11-02 09:17:05 6186

原创 webpack配置typescript详解

随着现在typescript使用越来越多,作为打包工具界的webpack怎么编译typescript呢?下面我把自己的实践记录一下,成功编译了typescript文件,并且引入typescript模块后,也可以成功编译。我们从新建webpack项目开始,在此之前先贴一下环境,经常环境不同会造成不同的状况,这边先贴上的环境:$ node -v v14.15.4$ npm -v 6.14.10$ webpack -v webpack: 5.58.2webpack-cli: 4.9.0we

2021-10-19 08:14:40 2802 2

原创 svg中viewbox图解分析

svg中有一个viewbox属性,中文翻译为视区,就是在svg上截取一小块,放大到整个svg显示。这个属性初学的话有点难以理解,这边做一个简单的示例,一看就明白了。**1)**先来一个svg,宽高各位300,设置一下边框:<svg width="300" height="300" style="border: 1px solid steelblue"></svg>运行效果:这边其实就是一个300*300的矩形。**2)**svg里面画一个矩形:<svg wi

2021-10-18 08:11:35 480

原创 svg中path贝塞尔曲线和圆弧图文详解

最近研究了一下svg的path标签,功能非常强大,理论上来讲path标签可以画出任意图形。自己记性不太好,记录一下path的使用语法和自己的理解。path介绍path用d属性来描述路径,语法格式大概如下:<svg> <path d="路径描述" /></svg>其中路径描述包含如下命令:M = moveto 移动到某点。L = lineto 画一条直线到某点。H = horizontal lineto 画一条水平线到某点。V = vertical l

2021-10-15 00:08:51 8879

原创 svg用animate实现简单动画效果

svg中可以使用animate标签实现动画效果。就是在相应的形状标签内加入animate标签,其中若干属性如下:attributeName 目标属性名称from 起始值to 结束值dur 持续时间repeatCount 次数|indefinite,动画时间将发生几次,indefinite表示无限次。一个简单示例效果,颜色在3秒内从steelblue渐变到pink:<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="

2021-10-13 21:19:05 1980

原创 svg绘制六种基本形状

svg 意为可缩放矢量图形(Scalable Vector Graphics),最大的特点就是伸缩不会失真。svg是用xml进行描述的,在前端方面现在应用越来越广泛,各大浏览器支持越来越好了。

2021-10-12 22:05:02 1861

原创 网页引入svg图片的4种方式

web应用开发使用svg图片,总结了下,可以有如下4种方式: 1. 直接插入页面。 2. img标签引入。 3. css引入。 4. object标签引入。

2021-10-11 20:27:28 41386

原创 css中box-sizing解放盒子实际宽高计算

我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成**盒子的宽度不好计算**,在实务中特别不方便。box-sizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。

2021-10-10 15:01:50 733

wordpress-5.6.2-zh_CN.zip

wordpress安装包,因为官网下载特别慢,放上来共享一下,赚点积分。

2021-02-23

惠新宸关于php7的说明文档

惠新宸关于php7的说明文档,里面着重介绍了性能问题,诸如phpng、jit、ast,也有很多关于性能方面的测试,还有一些新的语法说明。

2015-07-18

php实现文章中关键词加链接的功能

一般在文章展示的时候,都会将其中的关键词加上链接,增加网站的粘合性。咋一想挺简单的,直接替换字符串不就行了。可细细想来,还是有不少问题。具体思路参考这篇文章:http://www.01happy.com/content-keyword-and-php-practice/

2012-12-02

ubuntu12.04苹果mac主题

在ubuntu12.04下可以通过这个主题包快速的安装苹果mac主题,我自己也正在用这个主题,分享给大家。

2012-08-28

Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet (rev c0)网卡驱动

Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet (rev c0) 网linux卡驱动 1、解压:tar zxvf ** 2、进入src目录: cd src 3、编译: make 4、安装: make install

2012-02-26

php5.3.6英文手册

php英文手册,包含如何安装php,php基础教程,php函数参考。

2011-11-25

Red Hat Enterprise Linux 5 图文安装手册

Red Hat Enterprise Linux 5 图文安装手册,详细的步骤说明,图文并茂。

2010-12-02

Erlang中文手册.pdf

erlang中文手册,很适合erlang初学者使用。

2010-11-09

谷歌黑板报--数学之美.rar

来自 Google黑板报 内容标题如下,有兴趣的朋友不妨下载看看。 1、统计语言模型 2、谈谈中文分词 3、隐含马尔可夫模型在语言处理中的应用 ......

2010-05-07

空空如也

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

TA关注的人

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