1 / 19
文档名称:

操作系统大概知识.doc

格式:doc   大小:109KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统大概知识.doc

上传人:xxq93485240 2019/5/24 文件大小:109 KB

下载得到文件列表

操作系统大概知识.doc

相关文档

文档介绍

文档介绍:1.         使用设备的过程使用设备的过程通常包括:驱动程序初始化;创建设备;打开文件;I/O操作;关闭文件;删除设备。块设备:       一个设备可以实现不同的文件系统,可以有多个文件;非块设备:    一个设备通常对应一个文件。2.         基本I/O函数说明VxWorks中I/O分为基本I/O和缓冲I/O,基本I/O是VxWorks中最底层的I/O,以下是7个标准C语言库兼容的接口:#include         “”1)        int open(constchar*name,intflags,intmode);              打开/创建文件,第一个参数为文件名,第二个参数定义对打开的文件进行的操作,它可以是O_RDONLY,O_WRONLY,O_RDWR,O_CREAT。2)        STATUS close(intfd);        关闭文件,其将终止fd与物理文件之间的关联,并释放在文件描述符表中占用的资源。释放后文件描述符和文件描述符表的空间能够重新使用。3)        intcreat(constchar*name,intflags)          创建文件同时以指定标志打开文件。实际上,creat创建文件时先确定文件所在设备,然后调用设备驱动程序提供的函数创建文件。4)        STATUS remove(constchar*name)         删除文件;和creat一样,remove先确定文件所在设备,然后调用设备驱动程序提供的函数删除文件。5)        int read(intfd,char*buffer,size_tmaxbytes);         读取之前创建或者打开的文件;第二个参数是读取数据缓冲区指针,第三个参数是最大读取字节数。函数返回的是函数实际读取的字节数;6)        int write(intfd,char*buffer,size_tnbytes)             写入到之前创建或者打开的文件。第二个参数是输出数据缓冲区指针,第三个参数是要求写得字节数。其返回值表示所写的字节数,如果等于0,表示没有写入任何数据。7)        int ioctl(intfd,intfunction,intarg);          特殊控制。其对描述符fd指定的对象执行在function中给出的操作,文件描述符:       所有的基本I/O操作都引用文件描述符(fd)。文件描述符是调用open()或者create()返回的一个正数值,其他I/O调用需要使用该fd参数。文件描述符全局可见,两个不同的任务通过相同的文件描述符访问的将是同一个文件。VxWorks支持有限的文件描述符,具体在I/O系统初始化时指定有效的fd数目(宏定义NUM_FILES)。因此当文件不再使用时应该立即关闭文件,防止超出系统限制。第五章    VxWorks启动过程3.         VxWorks启动过程VxWorks的启动过程需要解决:处理器初始化:    使处理器复位,禁止中断,内部寄存器都为确定的值;代码装入:           将执行映像从存储介质装入RAM执行;硬件初始化:       使硬件复位,并初始化为中断或查询方式为系统服务;内核激活(函数为kernelInit()):         使多任务微内核开始调度任务运行;操作系统组件初始化:       初始化用户应用需要的各种操作系统功能。“处理器初始化”和“代码装入”即通常所说的引导代码()。通常的启动过程为:引导,准备激活内核,激活内核,根任务运行。VxWorks通过一个根任务usrRoot来完成“安装设备驱动”和“各种组件初始化”的操作。对内核而言,根任务和普通的用户任务一样。由于VxWorks的wind内核是一个微内核,所有的设备驱动和常规操作系统功能都不在内核中实现,因此通过一个普通任务即根任务完成设备驱动的安装和系统组件初始化。4.         引导引导过程是上电后最先执行的部分,确保系统代码会位于正确的位置。系统开始函数是romInit(),然后跳转到romStart(),这两个函数都是在ROM/FLASH中开始执行。romInit()是个和目标系统CPU特性直接相关的汇编程序,其短小精悍,所执行的最基本的硬件初始化只为了可以正确运行接下来的C语言程序romStart(),余下的初始化由一般初始化程序完成。5.         准备激活内核内核激活的准备工作由usrInit()实现,“准备”也就是使激活内核的条件满足:设备处于静止状态;处理器中断处于禁止状态。在引导阶段已经使处理器中断