PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(BlogID=102) 环境说明 Ubuntu 18.04 gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) Bochs 2.6 As86 version: 0.16.17 前言   自从我近段时间开始温习一些基础知识以来,其中觉得以前学的很浅的就是OS原理.为啥这样…
近日稍微对Android中的驱动开发做了一些简要的了解. HAL:Hardware Abstract Layer 硬件抽象层,由于Linux Kernel需要遵循GPL开源协议,硬件厂商为了保护自己硬件方面的各项参数不被外泄,而一个设备的驱动程序包含了硬件的一些重要参数,所以驱动的开源势必会使硬件厂商蒙受损失,Google为了保护硬件厂商的利益,所以在Android系统中加入了HAL层,在HAL层中不必遵循GPL协议,所以代码可以封闭. 所以如果硬件驱动开源的写在Kernel里,Framewor…
head的作用 注意:bootsect和setup汇编采用intel的汇编风格,而在head中,此时已经进入32位保护模式,汇编的采用的AT&T的汇编语言,编译器当然也就变成对应的编译和连接器了,很多汇编指令右侧都会多l,如or变成orl却别与实模式的汇编指令. ①设置中断描述符表: >中断描述符表设置为256个项,初始化指向ignore_int中断门.然后加载中断描述符表寄存器. ②检查 A20 地址线是否已经打开,测试系统是否含有数学协处理器 ②设置全局描述符表: ③设置分页机制: &g…
Linux 下 MySQL 启动与关闭 说明 一.启动 1.1  MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root     2161     1  0 09:38 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe--datadir=/var/lib/mysql --pid-file=/var/lib/mysql/rac2.pid mysql    2418  2161  0 09:…
bootsect作用 ①将自己移动到0x90000处 ②将setup从磁盘读到0x90200处 ③将system从磁盘读到0x10000处 寄存器 汇编代码中存在:数据段data seg 栈段 stack seg 汇编代码中的寄存器概念: 第一组: DS:数据段寄存器 ES:额外数据段寄存器 SS:栈段寄存器 SI:源索引寄存器 DI:目的索引寄存器 通常 DS:SI和ES:DI配对时通常用来执行一些数据段字符串操作. SI和DI两个寄存器叫做索引寄存器, 这两个寄存器通常用来处理数组或字符串.…
setup作用 ①读取参数放在0x90000处. ②将原本在0x10000处的system模块移至0x00000处 ③加载中断描述符表,全局描述符表,进入32位保护模式. 概念 关于实模式和保护模式区别及寻址方式,该博客已经很详尽:http://blog.csdn.net/rosetta/article/details/8933200,只是有个别信息没有. IDT:Interrupt Descriptor Table--中断描述表 GDT:Global Descriptor Table   --…
虽然S3C6410出来很多年了,甚至于已经停产了,出货的几乎都有依赖于库存,SE4500也出来很多年了,但是网上依旧不会有调试资料帮助你,一切源于自私.希望本文能帮到你,不必感谢.本文来自C.S.D.N.(转载请注明来源). 一.SE4500工作在3.3V,刚好三星的S3C6410也工作在3.3V,所以不需要电平转换即可,这一点挺好,只是三星的S3C6410的高电压就决定了不可能休眠功耗做的很低: 二.SE4500不供电时直接把I2C总线电压拉低到1.5V左右,原因是SE4500不上电时,会拉低…
一:打开“开发人员模式” 点击开始菜单按钮,选择“设置” 在设置中选择“更新和安全” 在菜单中选择“针对开发人员”,在三个选项中,选中“开发人员模式” 在弹出的警告框中点击“是” 这样开发人员模式就打开了 二:安装并设置账号 打开“Windows应用商店应用” 下载SUSE Linux Enterprise Server 12 启动应用SUSE Linux Enterprise Server 12设置用户及root密码 第一次启动会显示 Installing, this may take a f…
漏洞名称: Linux kernel ‘qeth_snmp_command’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-423 发布时间: 2013-11-29 更新时间: 2013-11-29 危害等级: 中危   漏洞类型: 缓冲区溢出 威胁类型: 本地 CVE编号: CVE-2013-6381 Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核.         Linux kernel 3.12.1及之前的版本中的drivers/s39…
漏洞名称: Linux kernel ‘aac_send_raw_srb’函数输入验证漏洞 CNNVD编号: CNNVD-201311-422 发布时间: 2013-11-29 更新时间: 2013-11-29 危害等级: 中危   漏洞类型: 输入验证 威胁类型: 本地 CVE编号: CVE-2013-6380 Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核.         Linux kernel 3.12.1及之前的版本中的drivers/scsi/a…