linux0.11—setup.s模块

基本过程​ setup.s是一个操作系统加载程序,主要利用RPM BIOS中断读取机器系统数据,并将数据保持在0x90000开始的位置(覆盖掉bootsect程序所在的地方),这些参数将被内核中相关程序使用。​ setup程序将system模块从0x10000-0x8ffff整块向下移动到内存绝对地址0x0000处,然后加载中断描述符表寄存器idtr和全局描述符表寄存器gdtr,以此来进入32位保护模式,并跳转到位于system模块最前面部分的head.s程序继续执行。​ setup将完成OS启
分类: 其他 发布时间: 11-18 08:46 阅读次数: 0

linux0.11—system模块

当前内存映像在setup.s程序执行结束后,系统模块system被移动到物理地址0x0000开始处,而从0x90000开始处则存放了内核将会使用的一些系统基本参数,示意图如下:所以,在system模块中,第一个执行的是head.s程序。head.s主要作用初始化中断描述符表中的一些门描述符,检查A20地址线是否已经打开,测试系统是否含有数学协处理器,然后初始化内存页目录表,为内存的分页管理做好准备,最后跳转到system模块中的初始化程序init/main.c中继续执行。简单介绍
分类: 其他 发布时间: 11-18 08:46 阅读次数: 0

Java基础语法—super关键字

介绍super关键字代表父类的引用,用于访问父类的属性、方法和构造器。基本语法父类代码:public class A { private int n1 = 1; protected int n2 = 2; int n3 = 3; public int n4 = 4; private void test100(){ } protected void test200(){ } void test300()
分类: 其他 发布时间: 11-18 08:46 阅读次数: 0

Java基础语法—方法重写override

基本介绍子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,就可以说子类的方法覆盖了父类的方法。示例父类:public class Animal { public void cry(){ System.out.println("动物交换"); }}子类:public class Dog extends Animal{ //Dog是Animal的子类 //cry方法的名称、返回类型、参数完全一样 public voi
分类: 其他 发布时间: 11-18 08:46 阅读次数: 0

Java基础语法—多态

基本介绍多态:多【多种】态【状态】。方法或对象具有多种形态,面向对象的第三大特征。多态是建立在封装和继承基础之上的。具体体现方法的多态方法的重写和重载都可以体现出多态示例:public class PolyMethod { public static void main(String[] args) { //方法重载体现多态 A a = new A(); //通过不同的参数个数去调用sum方法,就会去调用不同的方法
分类: 其他 发布时间: 11-18 08:45 阅读次数: 0

MySQL基础知识—子查询

定义select语句中嵌套select语句,被嵌套的select语句被称为子查询。语法select ...(select).from ...(select).where ...(select).即,子查询在select、from、where都可以有。where子句中的子查询案例:找出比最低工资高的员工姓名和工资。select ename,sal from EMP where sal > min(sal);结果:where子句中不能直接使用分组
分类: 其他 发布时间: 11-18 08:45 阅读次数: 0

Java基础语法—动态绑定机制

注意事项1、当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定。2、当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用示例package com.company.poly_;public class DynamicBinding { public static void main(String[] args) { A a = new B(); System.out.println(a.sum()); Syste.
分类: 其他 发布时间: 11-18 08:45 阅读次数: 0

MySQL基础知识—limit关键字

介绍limit作用:将查询结果集的一部分取出来,通常用在分页查询当中。分页:为了提高用户体验。语法select ....from ....where ....limit startindex,length; // 取前length个,startindex是起始下标,length是长度,注意startindex的缺省值是0,即limit 5;表示前5个mysql中limit在order by之后执行。示例取出工资排名在[3,5]名的员工姓名
分类: 其他 发布时间: 11-18 08:45 阅读次数: 0

MySQL基础知识—union合并查询结果集

案例​ 查询工作岗位MANAGER和SLAESMAN的员工SQL代码select ename,job from EMP where job = 'MANAGER' or job = 'SALESMAN';select ename,job from EMP where job in ('MANAGER','SALESMAN');使用unionselect ename,job from EMP where job = 'MANAGER'unionselect ename,job
分类: 其他 发布时间: 11-18 08:44 阅读次数: 0

linux0.11——IO系统

目标弄清楚计算机让外设工作起来的整个过程,以及在整个过程中使用到的内核代码,能做到对整个外设工作过程进行讲解和分析。设备驱动下图为操作系统进程管理、CPU管理、内存管理和设备管理的总路线图:在该图中,可以看到进程管理、内存管理、CPU管理通过控制器和总线连接在一起,而且进程管理、CPU管理和内存管理在前面的章节都进行了相关的讲解。今天,来介绍计算机中另一个重要的内容:设备管理,其中的设备主要指IO设备,包括:显示器、键盘和磁盘等。计算机如何让外设工作?在计算机中,显示器、键盘
分类: 其他 发布时间: 11-18 08:44 阅读次数: 0

MySQL基础知识—表的创建和删除

介绍建表语句属于DDL语句,DDL包括:create、drop、alter语法create table tableName( columnName dataType(length), //字段名1 数据类型1 ...... columnName dataType(length) //字段名n 数据类型n);set character_set_results='gbk';表名:建议以t_ 或者tbl_ 开始,可读性强。示例create table t_student(n
分类: 其他 发布时间: 11-18 08:44 阅读次数: 0

MySQL基础知识—数据插入insert

语法格式insert into 表名(字段名1,字段名2,字段名3,...) value(值1,值2,值3,...);注意:字段名和值要一一对应,数量要对应,数据类型也要对应。示例在表的创建中已经创建了t_stundent表,整个表中的字段类型如下:mysql> desc t_student;+-------+--------------+------+-----+---------+-------+| Field | Type | Null | Key |
分类: 其他 发布时间: 11-18 08:44 阅读次数: 0

MySQL基础知识—约束(重点)

介绍约束:constraint在创建表的时候,可以给表中的字段加上约束来保证表中数据的完整性,有效性。常见约束非空约束not null非空约束not null约束的字段不能为NULL。只有列级约束。示例mysql> create table t_vip(id int,name varchar(255) not null);Query OK, 0 rows affected (0.25 sec)mysql> desc t_vip;+-------+----
分类: 其他 发布时间: 11-18 08:43 阅读次数: 0

MySQL基础知识—update语句

语法格式update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3,... where 条件;注意:没有条件限制会导致所有数据全部更新。示例mysql> select * from t_user;+----+------+------------+| id | name | birth |+----+------+------------+| 1 | kd | 1992-10-01 || 1 | kd | 1992-10-01 |+
分类: 其他 发布时间: 11-18 08:43 阅读次数: 0

MySQL基础知识—删除表和表数据

delete语句语法格式delete from 表名 where 条件;注意:没有条件的话整张表都会被删除。使用delete语句删除后,硬盘上的物理空间不会被释放掉。缺点:删除效率低优点:支持回滚示例删除id为2的表行mysql> select * from t_user;+----+------+------------+| id | name | birth |+----+------+------------+| 1 | jack |
分类: 其他 发布时间: 11-18 08:43 阅读次数: 0

java基础语法—Object类—hashCode方法

介绍提高具有哈希结构的容器的效率 两个引用,如果指向的是同一个对象,则哈希值肯定一样 两个引用,如果指向不同对象,则哈希值不一样 哈希值主要根据地址号来,不能完全将哈希值等价于地址 在集合中,hashCode如果需要也会进行重写示例public class HashCode_ { public static void main(String[] args) { AA aa1 = new AA(); AA aa2 = new AA();
分类: 其他 发布时间: 11-18 08:43 阅读次数: 0

java基础知识—object类—toString方法

介绍public String toString()返回对象的字符串表示形式。​ 一般来说, toString方法返回一个“textually代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。​ 该toString类方法Object返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串@ ”和对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串: getClass().getName() + '@' +
分类: 其他 发布时间: 11-18 08:42 阅读次数: 0

linux0.11—内存管理实验

实验基本内容用 Bochs 调试工具跟踪 Linux 0.11 的地址翻译(地址映射)过程,了解 IA-32 和 Linux 0.11 的内存管理机制; 在 Ubuntu 上编写多进程的生产者—消费者程序,用共享内存做缓冲区; 在信号量实验的基础上,为 Linux 0.11 增加共享内存功能,并将生产者—消费者程序移植到 Linux 0.11。实验一过程:以汇编级调试的方式启动 Bochs,引导 Linux 0.11,在 0.11 下编译和运行 test.c。它是一个无限循环的程序,永远不
分类: 其他 发布时间: 11-18 08:42 阅读次数: 0

算法—链表总结(题目+方法)

时间:2021-10-17对于单链表的题目来说,双指针的运用是很广泛的。合并两个有序链表(Leetcode 21)题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]思路:由于题目最后需要输出一个新的链表,所以这里需要先新建一个虚拟头结点,以便后续的输出,同时可以避免处理空指针的情况。ListNode dummy = new ..
分类: 其他 发布时间: 11-18 08:42 阅读次数: 0

HTML—html标签

介绍 标签的格式: <标签名>封装的数据</标签名> 标签名对大小写不敏感。 标签拥有自己的属性: 基本属性:bgcolor="red" 可以修改简单的样式效果 事件属性:onclick="alert('你好!');" 可以直接设置事件响应后的代码 标签分为单标签和双标签。 单标签:<标签名/> <br/> 换行<hr/> 水平线 双标签:<标签名&gt
分类: 其他 发布时间: 11-18 08:42 阅读次数: 0