操作系统
晚安Alice
软工/学习日常
展开
-
【操作系统】实验十一 读/写磁盘指定位置信息(只需完成读取)
实验十一一、实验目的(1)了解磁盘的物理知识。(2)掌握Windows系统提供的有关对磁盘操作API。(3)根据输入的扇区号读/写指定扇区。二、实验准备1.设置读/写操作的位置函数SetFilePointer()用于移动一个打开文件中的读/写指针,这里磁盘设备被当作文件处理,因此用于移动文件读/写指针在磁盘上的位置。原型:DWORD SetFilePointer( HANDLE hFile, //打开的文件句柄 LONG lpdistanceToMove, //指针要移动的偏移原创 2020-08-02 17:38:56 · 936 阅读 · 0 评论 -
【操作系统】实验十 获取磁盘基本信息
实验十一、实验目的(1) 了解磁盘的物理组织。(2) 熟悉Windows 系统如何查看磁盘相关系数。(3) 掌握Windows 系统提供的有关对磁盘操作 API。二、实验准备磁盘基本物理结构原型:Typedef struct_DTSK_GEOMETRY { LARGE_INTEGER Cylinders; //磁盘的柱面数 MEDIA_TYPE MediaType; //介质类型,如3.5英寸,1.44MB软盘 DWORD TracksPerCylinder; //每原创 2020-08-02 17:31:50 · 1163 阅读 · 2 评论 -
【操作系统】实验九 采用异步方式实现文件读写
实验九一、实验目的(1)了解Windows系统异步文件读/写的概念。(2)熟悉Windows系统文件读/写相关的API。(3)掌握采用异步方式实现文件读/写的相关参数设置。二、实验准备1.文件异步传输基本原理文件异步传输是一种改变指令执行顺序的机制。一般而言,指令是顺序执行的,下一条指令必须在上一条指令执行完毕才可执行。因此当CPU遇到一条访问磁盘的指令时。应用程序需要等待磁盘访问结束后才能进行后续的工作。但如果后续工作与访问磁盘操作无关,这样的等待就显得很没有必要。Windows XP 系统原创 2020-08-02 17:23:03 · 713 阅读 · 0 评论 -
【操作系统】实验八 采用高速缓存实现文件读写
实验八一、实验目的(1)了解windows系统文件高速缓存的概念。(2)熟悉windows系统文件读写相关API。(3)掌握采用缓冲方式实现文件读写相关参数的设置。二、实验准备高速缓存访问缓存必将访问磁盘,而磁盘的访问速度远远低于内存的访问速度,高速缓存就是利用内存中的存储空间,来再存磁盘传输数据,因此高速缓存不是真正的物理设备,而是一只核心及内存映像机制。由于它被设置在内存中,因此速度非常快,可以在一定程度上解决CPU与磁盘速度不匹配的问题。**高速缓存的原理是:**假设一个进程读文件的第原创 2020-08-02 17:02:01 · 1324 阅读 · 4 评论 -
【操作系统】实验七 无缓冲方式实现文件读写
实验七一、实验目的(1)熟悉Windows系统文件读\写相关API。(2)掌握无缓冲方式实现文件读\写相关参数的设置。二、实验准备1.文件创建函数CreateFile( ) 用于创建一个新文件,如果文件已经存在,则得到该文件的句柄。该函数的参数dwFalgsAndAttributes决定了文件的传输方式,对于普通的文件传输,可将参数设置为FILE_ATTRIBUTE_NORMAL;而若设置为FILE_FLAG_NO_BUFFERING,表示不使用高速缓存进行文件传输;若同时使用标志FILE_F原创 2020-08-02 16:49:30 · 1457 阅读 · 3 评论 -
【操作系统】实验六 系统内存使用统计
实验六一、实验目的(1)了解Windows内存管理机制,理解页式存储管理技术。(2)熟悉Windows内存管理基本数据结构。(3)掌握Windows内存管理基本API的使用。二、实验准备相关系统数据结构说明系统结构MEMORYSTATUS中包含当前物理内存和虚拟内存和虚拟内存信息,使用函数GlobaiMemoryStatus() 可以将这些信息存储在结构MEMORYSTATUS中。结构原型:Typedef struct_MRMORYSTATUS{ DWORD dwLength;原创 2020-08-02 16:12:10 · 1301 阅读 · 0 评论 -
【操作系统】实验五 动态链接库的建立与调用
实验五一、实验目的(1)理解动态链接库的实现原理。(2)掌握Windows系统动态链接库的建立方法。(3)掌握Windows环境下动态链接库的调用方法。二、实验准备动态链接库动态链接库(Dynamic Link Library DLL)是一个可执行模块,它包含的函数可以由Windows应用程序调用以提供所需功能,为应用程序提供服务。1.基础知识Windows系统提供了非常有效的编译和运行环境,可以将独立的模块编译成较小的动态链接库文件,并可对这些动态链接库单独进行编译和测试。**运行时,只原创 2020-08-02 15:46:33 · 1210 阅读 · 0 评论 -
【操作系统】实验四 使用命名管道实现进程通信
实验四一、实验目的(1)了解windows系统环境下的进程通讯机制。(2)熟悉Windows系统提供的进程通信API。二、实验准备1.建立命名管道:CreateNamePipe() 创建一个命名管道实例原型:HANDLE CreateNamePipe( LPCTSTR lpName, //命名管道的名字 DWORD dwOpenMode, //命名管道的访问模式 DWORD dwPipe’Mode, //命名管道的模式原创 2020-07-31 23:15:00 · 2700 阅读 · 0 评论 -
【操作系统】实验三 线程的互斥
实验三一、实验目的(1)熟练掌握Windows系统环境下线程的创建与撤销。(2)熟悉Windows系统提供的线程互斥API。(3)使⽤Windows系统提供的线程互斥API解决实际问题。二、实验准备1.临界区对象:临界区对象 CriticalSection 包括初始化临界区 InitializeCriticalSection() 、进⼊临界区 EnterCriticalSection () 、退出临界区 LeaveCriticalSection () 及删除临界区 DeleteCriti原创 2020-07-31 23:01:13 · 1446 阅读 · 0 评论 -
【操作系统】实验二 线程的同步
实验二一、实验目的进一步掌握windows系统环境下线程的创建和撤销熟悉windows系统提供的线程同步API(是WINDOWS提供给应用程序与操作系统的接口)使用windows系统提供的线程同步API解决实际问题二、实验准备相关API函数1.等待对象(wait fuctions)函数:包括等待一个对象 WaitForSingleObject()和等待多对象 WaitForMultipleObject()两个API函数。等待一个对象:WaitForMultipleObject()原创 2020-07-31 13:02:09 · 3888 阅读 · 0 评论 -
【操作系统】实验一 线程的创建与撤销
实验一一、实验目的(1)熟悉windows系统提供的线程创建与撤销系统调用.(2)掌握windows系统环境下线程的创建与撤销方法.二、实验准备1.创建线程CreateThread()函数:在调用进程的地址空间上创建一个线程,执行指定的函数,并返回新建立的线程的句柄。HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, //为线程指定安全属性 DWORD dwStackSize, //线程堆栈的大小 LPV原创 2020-07-31 12:41:28 · 5668 阅读 · 1 评论