自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录一下学习过程,方便以后查找。

  • 博客(12)
  • 收藏
  • 关注

原创 windows多线程(七) 事件event

前面说的互斥量Mutex与关键段CriticalSection都不能实现线程的同步,只能实现互斥,接下来我们用时间event就可以实现线程的同步了,事件也是一个内核对象。一、相关函数说明(一) 创建事件1.函数原型HANDLE WINAPI CreateEventW( _In_opt_ LPSECURITY_ATTRIBUTES lpEventA...

2018-05-30 22:59:00 729

原创 操作系统学习(九) 、访问数据段时的特权级检查

为了访问数据段中的操作数,数据段的段选择符必须被加载进数据段寄存器(DS,ES,FS或GS)或堆栈段寄存器(SS)中。可以使用指令MOV、POP、LDS、LES、LFS、lGS和LSS来加载段寄存器。在把一个段选择符加载进段寄存器之前,处理器会进行特权级检查,它会把当前运行程序或任务的CPL、段选择符的RPL和段描述符的DPL进行比较。只有当段的DPL数值大于或等于CPL和RPL时,处理器才会...

2018-05-28 19:51:00 297

原创 操作系统学习(八) 、段级保护

一、概述在保护模式下,80x86提供了段级和页级保护机制。这种保护机制根据特权级提供了对某些段和页面的访问限制能力。例如,操作系统代码和数据存放在要比普通应用程序具有搞特权级的段中。此后处理器的保护机制将会限制应用程序只能按照受控制的和规定的方式访问操作系统的代码和数据。当使用保护机制时,每个内存引用都将受到检查以验证内存引用是否符合各种保护要求。因为检查操作是与地址变换同时并行操作,所以...

2018-05-28 17:51:00 342

原创 操作系统学习(七) 、保护机制概述

保护机制是可靠运行多任务环境所必须的。它可以用于保护各个任务免受互相之间的干扰。在软件开发的任何阶段都可以使用段级和页级保护来协助寻找和检测设计问题和错误。当程序对错误内存空间执行了一次非期望的引用,保护机制可以阻止这种操作并且报告此类事件。保护机制可以被用于分段和分页机制。处理器寄存器的2个比特位定义了当前执行程序的特权级,称为当前特权级CPL。在分段和分页地址转换过程中,处理器将对CPL进...

2018-05-27 22:56:00 1860

原创 操作系统学习(六) 、系统描述符类型

一、系统描述符格式 段描述符通用格式如下所示: 系统段描述符中各个位的含义如下所示: 二、系统描述符类型当段描述符中S标志位(描述符类型)是复位状态(0)的话,那么该描述符是一个系统描述符。处理器能够识别以下一些类型的系统段描述符:局部描述符表(LDT)的段描述符 任务状态段(TSS)描述符 调用门描述符 中断门描述符 陷阱门描述符 任务门描述符这些描述符类...

2018-05-26 00:57:00 1123

原创 操作系统学习(五) 、代码段和数据段描述符

一、代码段和数据段描述符格式 段描述符通用格式如下所示: 代码段和数据段描述符中各个位的含义如下所示: 二、代码段和数据段描述符类型当段描述符中S标志位(描述符类型)被置位,则该描述符用于代码段或数据段。此时类型字段中最高比特位(第二个双字的位11)用于确定是数据段描述符(复位)还是代码段描述符(置位)。 代码段和数据段描述符类型如下所示: 对于数据段描述符...

2018-05-26 00:44:00 890

原创 Linux内核0.11 bootsect文件说明

一、总体功能介绍这是关于Linux-kernel-0.11中boot文件夹下bootsect.s源文件的说明,其中涉及到了一些基础知识可以参考这两篇文章。操作系统启动过程 软盘相关知识和通过BIOS中断访问软盘bootsect.s 代码是磁盘引导块程序,存储在磁盘的第一个扇区中(0面0道1扇区),在计算机上电BIOS自检后,BIOS 会吧引导扇区代码bootsect加载到内存0x900...

2018-05-23 22:55:00 745

原创 Linux内核0.11 makefile文件说明

## if you want the ram-disk device, define this to be the# size in blocks.# 如果要使用 RAM 就定义块的大小(注释掉了),这是一个编译时参数,如果定义了在下面会用到。RAMDISK = #-DRAMDISK=512AS86 =as86 -0 -a #8006汇编的编译器和连接器。后面参数分别是:...

2018-05-23 22:19:00 718

原创 软盘相关知识和通过BIOS中断访问软盘

一、 软盘基础知识介绍(1) 3.5英寸软盘 3.5英寸软盘分为上下两面,每面有80个磁道,每个磁道又分为18个扇区,每个扇区大小为512个字节。 软盘大小计算: 2面 * 80磁道 * 18扇区 * 512 字节 = 1440KB ≈ 1.44MB (2) 5.25英寸软盘5.25英寸软盘每个磁道只有15个扇区,其它的与3.5英寸软盘一样。因此,5.25英寸软盘大小为...

2018-05-19 00:28:00 508

原创 操作系统学习(四)、系统启动过程

一、操作系统启动部分主要执行流程 当PC电源打开后,80x86结构的CPU将自动进入实时模式。并从地址0xFFFF0 (FFFF:0) 开始自动执行程序代码,这个地址通常是是ROM-BIOS中的地址。 PC机的BIOS将执行某些系统检测,并在物理地址0处开始初始化中断向量。 此后,它将可启动设备的第一个扇区(磁盘引导扇区,512字节)读入绝对内存地址 0x7C00 处,并跳转到这个...

2018-05-18 23:58:00 680

原创 windows多线程(六) 互斥量Mutex与关键段CriticalSection比较

一、关键段CS 和 互斥量Mutex 的相同点:都有线程拥有权关键段和互斥量都有线程拥有权,即可以被一个线程拥有。在 前面讲关键段CS的文章中有说到,关键段结构体的第四个参数保存着拥有该关键段的线程的句柄,具体如下:typedef struct _RTL_CRITICAL_SECTION { PRTL_CRITICAL_SECTION_DEBUG DebugInfo; ...

2018-05-16 23:23:00 496

原创 新安装的Ubuntu设置root密码

一、问题描述新安装的Ubuntu切换到root用户时如果没有设置root用户密码会操作失败。此时需要先设置root用户密码。二、解决办法打开终端执行 sudo passwd 命令。 输入设置的密码,回车。 再次输入密码,回车。这样root密码就设置好了,执行 su 命令,然后输入刚才设置的密码就可以切换到root用户了 。...

2018-05-15 14:18:00 1892

空空如也

空空如也

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

TA关注的人

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