欢迎访问爱发表,线上期刊服务咨询

操作系统论文8篇

时间:2023-04-14 16:49:51

绪论:在寻找写作灵感吗?爱发表网为您精选了8篇操作系统论文,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!

操作系统论文

篇1

下面是由本课程的全部教学内容所提炼并加以有机整合而形成的出的精髓教学框架:

(1)系统发展历史的回顾与当前技术发展潮流追踪许多学校的计算机专业在讲解操作系统课程时,往往局限于介绍具体方法和技术细节,忽略对技术发展历史和当前技术潮流的诠释。既不能开拓学生专业视野,又无法对专业历史有深入的了解。本门课程争取使用3-4学时的时间详细讲解操作系统的发展历史、著名人物、分类体系和技术发展趋势。这样的内容极大的激发了学生的学习兴趣和专业使命感,具有很好的教学效果。

(2)作系统基本设计原理与核心技术方法的分析讲解本门课程注重对基础专业理论的讲解,从五个方面详细剖析操作系统的核心原理。对进程管理、存储管理、文件系统、设备管理、系统接口等基本的设计原理均进行了详细的介绍和分析。操作系统的各种基本设计原理中包含了大量的算法设计与技术实现优化考虑,在教学过程中,要特别注重剖析算法设计思想和优化教学法的差别,强调激发学生的主动思考能力,而不是僵化的向学生灌输思想。

(3)真实操作系统案例的组成结构与实现特色剖析对比。操作系统的设计原理体系严密,各种技术方法错综复杂。要注重选用真实操作系统作为学习的案例。通过对真实案例的剖析以提高学生的感性认识。例如在讲解“进程管理”时,将Linux系统与WindowsXP系统进行对比;讲解“文件系统”时,对Linux、FAT32、NTFS等各类不同的文件系统进行对比;讲解内存管理时,对Minix、Linux、Win-dowsXP系统进行对比。这样的教学内容虽然备课难度大,但是教学效果却非常好。

(4)操作系统原理与计算机原理、编译原理、数据库、计算机网络等课程的关联。《操作系统原理》课程是计算机及相关专业的学生在本科阶段“承上启下”的重要课程,讲授过程中必须注重与其他专业基础课内容和知识的结合。在教学过程中,专门讲解“操作系统硬件基础知识”以融合《计算机原理》课程知识;重点分析“应用程序编译链接过程”以融合《编译原理》课程知识;在“进程同步互斥、I/O设备同步阻塞-异步传输”的内容中有机融合《数据库原理》、《计算机网络》的基本概念。这样的关联式教学方式使得学生能够将多门专业基础课程进行有机的融合贯通,有效的促进了专业理论体系的完善。

基于以上对教学内容的有机的系列化分类,在选用优秀计算机经典教材的基础上,必须强调教学方式的科学与合理,主要采用以下教学方式:

(1)定位于专业基础必修课,帮助学生建立扎实的专业理论基础。计算机领域各相关专业的学生都需要建立扎实完整的软件基础理论体系。《操作系统原理》是讲述计算机硬件资源管理、应用程序运行控制、人机交互接口实现等内容的基础性课程,在专业人才培养方面具有极为重要的作用。应该不断加强对《操作系统原理》课程的教学投入,积极完善师资队伍、改进教学计划、建立完整实践环境、主动追踪技术发展潮流,使得本门课程的教学质量不断提升。

(2)面向应用、软件等各专业学生授课,实现“承上启下”的总体教学目标。《操作系统原理》是计算机科学与技术专业必修基础课,是自动化专业的专业选修课,也是非计算机专业的软件方向主干课。在教学计划中,本门课程最主要的作用就是实现对低年级专业基础知识的综合与提升,帮助学生建立系统、完整的专业基础理论体系,培养学生的研究型思维和动手实践能力,开拓学生的专业学术视野,为后续课程的学习和专业发展奠定重要的基础。

(3)原理、实践、现实应用相结合,为培养高水平专业人才服务。《操作系统原理》是综合了基础理论讲授、动手实践、观察体验、最新技术发展潮流追踪等多项内容的专业基础课程。课程建设存在教学工作量大、上机实践环节重要、学生学习任务重等特点,课程教学过程中,常常存在原理讲授与上机实践脱节、课堂学习与现实应用剥离的情况,导致老师在教学过程中常采用“灌输式”教学法、学生在学习过程中常采用“机械记忆”的学习习惯,教学质量难以提升。为此,在《操作系统原理》课程建设中应该积极进行教学改革和创新,近年来不断引进国内外经典操作系统教材,努力搭建多种操作系统平台的上机实践环境,加强师资队伍建设和教学督导力度,加强对技术发展潮流的追踪。

(4)“启发式、关联式”的课堂讲授与课堂讨论相结合。在对基础性的操作系统原理进行讲解时,要注重讲授与讨论的结合,教案的内容组织并不完全遵循各类教材的内容安排,在讲解顺序、思路整理方面均体现了教师对学习过程的把握和指导。在详细讲解各类原理之前,安排小规模“课堂讨论”分析猜测设计思想,激发学生的好奇心和主动思考能力;在讲解原理的过程中,不断的问“为什么”,提高学生的对比分析能力;在原理讲解完成后,进行系统性的总结和展望,指导学生建立系统性的思维方式。为激发课堂讨论的积极性,对讨论过程中表现优异的学生给予“小额加分”的激励,鼓励学生表达自己观点。

篇2

考核内容及计分方法

A地区通信公司根据当前所管辖的网络系统维护单位的具体情况,要求各单位网络运维工作的考核由网络运行质量管理、市场支撑管理、网络运维成本管理、基础管理等指标构成(考核指标分类、主要指标、权重等信息见表1)

考核办法实施

对于日常工作完成情况,A地区通信公司考核网络运维生产各专业,包括网管、交换、传输、数据、电源空调、本地网线路、接入网、无线市话、大客户业务响应、资源管理等专业,网络运维部在年底组织对单位网络运维工作现场检查,对重点考核内容打分。

对于专项重点工作完成情况考核,主要是考核各维护单位对市公司全年安排的重点工作完成情况,如末梢设备整治、无线市话网络优化及网络运维巡检等重点工作。

考核内容以“大客户电路故障恢复及故障报告提供及时率”为例进行列示。在考核的过程中,为了防止网络系统问题带来的损失,还制定了“否决内容”(指对各单位指标完成情况进行检查或抽查),对于发生以下情况之一的单位,取消全年考核资格,以0分计:一是未能按时、按质完成重要通信、抢险救灾、战备以及其它应急通信任务,造成严重后果;二是拒不服从省、市公司的生产调度令造成严重网络责任事故;三是在发生重大故障后,不按照省、市公司相关管理规定进行报告,或者故意隐瞒故障、在故障原因报告中恶意歪曲事实、在故障调查中有明显舞弊行为;四是因违反互联互通原则给企业造成重大负面影响;五是在考核指标数据采样点的设置或数据上报中存在弄虚作假行为。

对考核数据的统计及保存,各单位应根据本考核细则中的各项指标定义解释、数据来源及计分方法,认真完成与指标相关的原始数据测试、统计、汇总和报送工作,并且妥善保管测试报告、电路调单、故障报告、网管数据等原始记录。

具体考核指标与准则举例

由于网络系统内部控制考核项目较多,指标繁杂,本文列示了“大客户电路故障恢复及故障报告提供及时率”的指标定义、计算与方法说明如下:第一,指标定义:统计期内电路故障及时恢复比率和及时提供故障报告比率的加权平均。

第二,指标值:全年累计100%。

第三,计算公式:考核的范围为所有通过省大客户故障处理系统受理的大客户业务故障。大客户电路故障恢复及故障报告提供及时率=第四,考核不含不可抗力和客户原因等造成的超时电路业务障碍。对故障原因不明且电路障碍业务恢复超时故障,则障碍受理方和有关责任方各计未及时恢复业务1次;对故障原因不明且电路障碍业务恢复未超时故障,则障碍受理方和有关责任方各计未及时恢复业务0.5次。

大客户电路故障恢复时限按照《通信业务故障处理及故障报告管理规定》执行,要求提供故障报告数为管理规定要求提供的报告数(包括超时故障、重要客户故障、重保期间故障,客户或客服部门要求提供故障报告的故障,上级维护部门要求提供报告等)。

第五,数据来源及统计报送周期。数据来源于省内大客户故障处理系统的统计数据,大客户业务响应部按月统计、汇总,并在年终计算各单位指标完成情况。第六,计分方法。完成或超过指标值的得基本分,不能完成核定指标值的,每低0.5个百分点扣1分,直至扣完为止。第七,评分标准。具体的大客户业务相应考核标准如表2所示。

A地区通信公司对网络系统考核评价的启示

网络系统的运行维护和安全措施是通信公司的基础工作,也是非常重要的一项内部控制工作。相关启示如下:第一,考核指标与业务工作紧密结合,具有很强的实际操作性。

篇3

一、人力资源战略是根据企业远景制定的,是企业经营战略的一部分,并主要通过促进企业长期可持续发展来实现对经营战略的贡献。

远景是要回答:企业将成为、想成为一个什么样的企业?经营战略则是实现远景的策略,人力资源战略是其中的重要组成部分。企业为实现其远景需要倡导的核心价值观是什么?采取什么样的理念来开展人力资源工作?如何制定人力资源规划?

例如,一家管理咨询公司的远景是成为向中国企业提供咨询方案的最佳服务机构。由于远景目标的知识性特点,其人力资源规划可以是初期选拔经验丰富并具有咨询业素质的专业人士,随着公司的成长和专业技术的完善,再加入毕业生由公司自己培养,以便尽快壮大队伍。其核心价值观可以是"信任、团队、智慧、创新",以激发员工的价值认同感。一流企业之所以能吸引并凝聚优秀的员工,认同感是其中的关键因素。

二、大人力资源管理涵括组织建设、文化建设与系统建设,通过企业文化整合战略、组织和系统,落实到各个相互配套的操作系统。

组织建设包括"硬"的组织结构规划设计和"软"的人力资源队伍建设,经营战略和人力资源战略决定组织建构并透过组织得以实现。文化建设首先确立核心价值观,再将其有系统的向组织渗透,并有意识的融入管理系统、制度和程序。系统建设既要求操作系统的科学与规范,更强调各系统间的配套衔接,这体现在两个方面:

1.人力资源操作系统是对战略由宏观到微观操作层面的细化,其间必须经过一个更为基础的普适性的技术分析过程,我们称之为"人力资源平台"。人力资源平台即通过对工作、人、职位的分析、评估,整理、明确三者之间的关系,为各操作系统提供技术支撑。招聘、绩效管理、培训发展、薪资福利及人员管理等子系统就是建立在此平台上。

2.操作系统是连贯一体的,如人才保留不仅是薪资待遇和发展机会的问题,在员工招聘时就应该加以考虑。面试评估标准应关注应聘人的价值观念是否符合公司的核心价值观,应聘人的发展期望是否是公司可以提供的;如果不相匹配,即使招聘进来也很难长期保留。只有综合、系统地制定各操作方法,才能保证其有效性。

三、人力资源不只是企业人力资源部门的事,所有管理者,上至总经理下到每个主管以至员工都应承担人力资源管理责任。

大人力资源观强调职业管理者应成为人力资源管理专家。因为人力资源管理是一项全局性工作,其各项职责如招聘、绩效管理、员工保留、培训规划等都需要各主管的贯彻配合和直接参与。同时,各层管理者直接承担着下属辅导培养、企业文化建设等职责。员工也越来越多地负起自我管理的责任。

篇4

论文摘要:实时操作系统(RTOS)是复杂控制系统中必不可少的一部分,它能按照任务的优先级实现多任务调度,通过信号量、事件标志来实现任务的同步,消息队列和邮箱机制来实现任务之间的通讯,中断机制来实现突发事件的管理。较传统的前后台系统,它具有更高的实时性、稳定性。介绍了当前在国际汽车工业界日益占据主导地位的汽车电子开放式平台系统(OSEK/VDX)规范。介绍了NEC汽车电子专用实时操作系统RX850,列举了其他RTOS并分析了其优缺点,建立了基于RX850的RTOS软件开发平台,实现了汽车发动机控制模块任务的调度,并对RTOS的多任务进行了软仿,这对于复杂软件系统开发是非常有实际意义的。

引言

随着国内汽车电子产业的不断升级和研发投入不断加大,国内生产的汽车电子简单的ECU已经越来越普及,例如车载音响,仪表,车身控制BCM,动力转向EPS等等。越来越多的企业将精力投入到比较复杂的控制领域,比如发动机控制,防抱死系统(ABS)等,对于这些逻辑复杂、实时性和安全性高的控制任务,传统的前后台系统模式非实时处理的弊端越来越呈现,这就势必需要用到实时操作系统来管理这些任务。

OSEK标准是1993年德国汽车工业界联合推出了“汽车电子的开放式系统及接口软件规范”,即OSEK(opensystemandthecorrespondinginterfacesforautomotiveelectronics)。1994年法国汽车工业界的相似规范VDX(vehicledistributedexecutive)和OSEK规范合并,从而形成OSEK/VDX规范体系。当前OSEK标准已经成为汽车电子软件开发领域中的通用标准,旨在增强软件代码安全性、移植性,减少软件开发周期。

目前,市场上通用的开源RTOS有很多,比如μC/OS-Ⅱ,FreeRTOS,Linux-2.6等,但是这些核多半是用于通用领域或者安全性要求不太高的领域,如果将这些移植到汽车电子动力安全控制领域,是不太合时宜的;而且,这些核本身不是基于OSEK标准,如果引入OSEK标准,无疑加大了内核移植的难度。NEC电子的实时操作系统RX850是一款基于OSEK标准的汽车级专用RTOS,其内核的实时性已经得到第三方的专业测试。它已经被移植到了NEC芯片的集成开发环境PMPlus和GreenHills,客户只需要在IDE(IntegratedDevelopEnvironment)中编写脚本文件来配置RTOS即可通过编译,使得客户从底层驱动编写到RTOS任务调度轻松实现“无缝结合”,大大缩短了RTOS移植的开发周期。本文建立了基于NEC电子32位车身专用芯片V850/Fx3的软件平台,并介绍了如何实现RX850操作系统的配置,以发动机控制模块为控制模型来实现多任务的实时调度,最后通过软仿工具来分析该内核的效率和任务调度的实时性。

一、系统平台介绍

本系统采用NEC电子的32位车身专用芯片V850/Fx3系列,V850是NEC电子的32位微处理器核,5级流水线控制,内部32个32位寄存器,乘法/除法指令,数据空间支持最大4GB线性寻址能力,代码空间支持64M线性寻址能力,内部1MB的codeflash,60KB的RAM空间,32KB的dataflash用作EEPROM模拟。

基于OSEK标准的RX850实时操作系统符合以下标准:操作系统规范(OSEKOS)、通信规范(OSEKCOM)、网络管理规范(OSEKNM)和OSEK实现语言(OSEKOIL)。其中OSEKOS是针对汽车应用特点而专门制定的一个小型RTOS规范,着重以下几个方面:(1)可移植性,所有API都是标准化的并且在功能上都有明确的定义;(2)可扩展性,OSEKOS旨在通用于任何类型的ECU,因此一方面系统要高度的模块化,另一方面又要能进行灵活的配置;(3)汽车应用的特定需求,诸如可靠性、实用性和代价敏感性等。相应的,OSEKOS静态配置可以通过OS2EKOIL语言实现,用户在系统生成时静态制定任务的个数、需要的资源和系统服务。OSEKCOM为通信网络中的数据交换提供了标准的接口和协议。OSEKNM为监视网络的流量提供了一组标准的功能函数,以保证网络的安全性和可靠性。

二、RX850内核配置

由于RX850已经被嵌入到IDE,因此用户直接编写内核脚本文件即可,下面介绍如何来配置内核。

1.系统时钟设置

clkhdrINTTM0EQ0//选定TimerM为时间片中断源

2.堆栈设置

RX850的堆栈分为系统堆栈和任务堆栈,

POOL0功能:系统基本表信息、准备队列、每个管理块、任务堆栈、中断句柄堆栈(系统堆栈)、可变长度内存、不变长度内存。

POOL1功能:任务堆栈、中断句柄堆栈(系统堆栈)、可变长度内存、不变长度内存。

POOL0和POOL1都可以作为任务堆栈,即使没有POOL1也可以。配置如下:

intstk0x400:pool0//系统堆栈大小为0x400

tskTSK1_TSK10x050:pool10x06TTS_DMT0x00ei//TSK_ID_1ms任务堆栈大小0x50

3.允许最大优先级任务数

maxpri0x1f//允许最大优先级任务数为0x1f

4.信号量设置

semSem_Task10x00//设置了信号量Sem_Task1为0

semSem_Task20x00//设置了信号量Sem_Task2为0

5.事件标志设置

flgflg_Task1//设置了事件标志flg_Task1

flgflg_Task2//设置了事件标志flg_Task2

5.邮箱设置

mbxID_Task1TA_MPRI//设置Task1的邮箱

mbxID_Task2TA_MPRI//设置Task2的邮箱

6.中断设置

RX850的中断分为直接中断和间接中断两种,直接中断不受RX850制约的中断句柄,理论上接近硬件中断的速度,其缺点是需要用户自己写中断处理句柄,包括:(1).寄存器压栈;(2).换向,跳转到中断句柄的开始;(3).调用系统命令;(4).返回到调度;间接中断的中断句柄在RX850的中断预处理后才被启动,优点是简化了句柄处理过程,缺点是由于RX850的预处理降低了速度,其处理过程如下:

间接中断配置如下:

inthdrINTAD_AD_Interrupt//AD间接中断句柄配置

inthdrINTC1REC_CAN_Ch1RxInt//CAN间接中断句柄配置

7.固定/可变内存池设置

当系统需要交换较大的数据时,此时任务堆栈是不够用的,需要开辟一段内存来使用。RX850支持两种方式的内存配置,固定内存池和可变内存池。固定内存池由用户自定义内存池的大小,可变内存池根据实际应用系统动态的定义所需内存大小,配置如下:

mpfMPF_ID_MBX0x08:pool150

//固定内存以0x08字节为单位排列,大小为50*0x08;

mplMPL_ID_Task10x08:pool1

//可变内存0x08字节为单位排列

8.系统周期循环中断设置

cycCYC_INT_TIMER_CYC_IntTimerTCY_OFF10

//系统周期循环中断时间为10个时间片

以上完成了操作系统的配置,然后通过NEC的IDE即可生成操作系统的.s和.h文件,将此两个文件包含在工程文件中即可。超级秘书网

三、RX850软仿及结论

通过以上配置,选择发动机控制模块为对象,下面对RX850进行软仿。NEC电子提供专门的软仿工具AZ,在IDE中打开AZ。

通过上图可以很方便的看到每个任务的实时调度情况和CPU内核的使用效率。目前CPU的空闲率为94%,很多任务实际上没有被调用,用户可以根据实际情况将更多的功能模块放在API任务中来运行。软仿只能提供模拟的仿真,如果用户需要更精确的trace工具,则需要用硬仿来实现。

篇5

关键词:RTOS嵌入式系统嵌入式应用嵌入式开发工具

随着互联网应用的迅速发展,嵌入式微处理器的应用日益广泛,无处不在,从波音飞机到移动电话,都有嵌入式微处理器的存在。在嵌入式微处理器的应用开发中,嵌入式实时操作系统(简称RTOS)是核心软件,就像我们日常所用计算机的桌面系统中,微软公司的Windows98一样重要。RTOS已经在全球形成了1个产业,据美国EMF(电子市场分析)报告,1999年全球RTOS市场产值达3.6亿美圆,而相关的整个嵌入式开发工具(包括仿真器、逻辑分析仪、软件编译器和调试器)则高达9亿美圆。

一、RTOS发展历史

从1981年ReadySystem发展了世界上第1个商业嵌入式实时内核(VRTX32),到今天已经有近20年的历史。20世纪80年代的产品还只支持一些16位的微处理器,如68k,8086等。这时候的RTOS还只有内核,以销售二进制代码为主。当时的产品除VRTX外,还有IPI公司的MTOS和80年代末ISI公司的PSOS。产品主要用于军事和电信设备。进入20世纪90年代,现代操作系统的设计思想,如微内核设计技术和模块化设计思想,开始渗入RTOS领域。老牌的RTOS厂家如ReadySystem(在1995年与MicrotecResearch合并),也推出新一代的VRTXsa实时内核,新一代的RTOS厂家Windriver推出了Vxwork。另外在这个时期,各家公司都有力求摆脱完全依赖第三方工具的制约,而通过自己收购、授权或使用免费工具链的方式,组成1套完整的开发环境。例如,ISI公司的Prismt、著名的Tornado(Windriver)和老牌的Spectra(VRTX开发系统)等。

进入20世纪90年代中期,互联网之风在北美日渐风行。网络设备制造商、终端产品制造商都要求RTOS有网络和图形界面的功能。为了方便使用大量现存的软件代码,他们希望RTOS厂家都支持标准的API,如POSIX,Win32等,并希望RTOS的开发环境与他们已经熟悉的UNIX,Windows一致。这个时期代表性的产品有Vxwork,QNX,Lynx和WinCE等。

二、RTOS市场和技术发展的变化

可以看出,进入20世纪90年代后,RTOS在嵌入式系统设计中的主导地位已经确定,越来越多的工程师使用RTOS,更多的新用户愿意选择购买而不是自己开发。我们注意到,RTOS的技术发展有以下一些变化:

1.因为新的处理器越来越多,RTOS自身结构的设计更易于移植,以便在短时间内支持更多种微处理器。

2.开放源码之风已波及RTOS厂家。数量相当多的RTOS厂家出售RTOS时,就附加了源程序代码并含生产版税。

3.后PC时代更多的产品使用RTOS,它们对实时性要求并不高,如手持设备等。微软公司的WinCE,PlamOS,JavaOS等RTOS产品就是顺应这些应用而开发出来的。

4.电信设备、控制系统要求的高可靠性,对RTOS提出了新的要求。瑞典Enea公司的OSE和WindRiver新推出的VxworkAE对支持HA(高可用性)和热切换等特点都下了一番功夫。

5.Windriver收购了ISI,在RTOS市场形成了相当程度的垄断,但是由于Windriver决定放弃PSOS,转为开发Vxwork与PSOS合二为一版本,这便使得PSOS用户再一次走到重新选择RTOS的路口,给了其他RTOS厂家1次机会。

6.嵌入式Linux已经在消费电子设备中得到应用。韩国和日本的一些企业都推出了基于嵌入式Linux的手持设备。嵌入式Linux得到了相当广泛的半导体厂商的支持和投资,如Intel和Motorola。

三、RTOS的未来

未来RTOS的应用可能划分为3个不同的领域:

1.系统级:指RTOS运行在1个小型的计算机系统中完成实时的控制作用。这个领域将主要是微软与Sun竞争之地,传统上Unix在这里占有绝对优势。Sun通过收购,让他的Solaris与Chrousos(原欧洲的1种RTOS)结合,微软力推NT的嵌入式版本“EmbeddedNT”。此外,嵌入式Linux将依托源程序码开放和软件资源丰富的优势,进入系统级RTOS的市场。

2.板级:传统的RTOS的主要市场。如Vxwork,PSOS,QNX,Lynx和VRTX的应用将主要集中在航空航天、电话电讯等设备上。

3.SOC级(即片上系统):新一代RTOS的领域:主要应用在消费电子、互联网络和手持设备等产品上。代表的产品有Symbian的Epoc、ATI的Nucleus,Expresslogic的Threadx。老牌的RTOS厂家的产品VRTX和Vxwork也很注意这个市场。

从某种程度讲,不会出现1个标准的RTOS(像微软的Windows在桌面系统中的地位一样),因为嵌入式应用本身就极具多样性。在某个时间段以及某种行业,会出现1种绝对领导地位的RTOS,比如今天在宽带的数据通信设备中的Vxwork和在亚洲手持设备市场上的WinCE就是一例子。但是,这种垄断地位也并不是牢不可破的,因为在某种程度上用户和合作伙伴更愿意去培养1个新的竞争对手。比如,Intel投资的Montivista和Motorola投资的Lineo,这两家嵌入式Linux系统,就是说明半导体厂商更愿意看到1个经济适用的、开放的RTOS环境。

四、RTOS在中国

中国将是世界上最大的RTOS市场之一。因为中国有着世界上最大的电信市场。据信息产业部预计,在未来2~3年内,中国将是世界上最大的手机市场(每1部手机都在运行1个RTOS)。这样庞大的电信市场就会孕育着大量的电信设备制造商,这就造就了大量的RTOS和开发工具市场机会。目前,中国的绝大多数设备制造商在采用RTOS时,首先考虑的还是国外产品。目前,在中国市场上流行的RTOS主要有Vxwork,PSOS,VRTX,Nucleus,QNX和WinCE等。由于多数RTOS是嵌入在设备的控制器上,所以多数用户并不愿意冒风险尝试1种新的RTOS。

但是我们同时也注意到,目前RTOS在中国市场的销售额还很小,这主要是2个原因:

1.中国设备制造商的规模普遍还无法与国外公司相比,开发和人员费用相对还较高,所以RTOS对于中国用户来讲是比较贵的。

2.多数国内用户还没有开始购买RTOS的版税,其主要原因有:产品未能按计划批量生产,没有交版税的意识。应该注意,大多数二进制的RTOS必须在产品量产时交版税,或者按数量买或者与厂家讨论一次性买断,而由厂家直接发给你授权协议书。据国外某家RTOS厂家称,他们年收入的30%来自版税。

篇6

1.采购管理系统

整个流程从企业的需求录入开始到最终产生应收款和应付款结束。采购管理流程中先有需求,然后进行采购,业务员则决定是否需要签订合同而录入采购单。运用采购管理系统能大大简化工作量,提高工作效率,只要按照要求录入完毕并确认,系统就能自动对需求进行运算,经过一系列的算法后,系统自动制定出采购清单,系统会结合物资的实际库存情况来制定。采购的物资到货以后需要进行到货登记,登记完后产生入库单,进行审核与确认,以更新库存数据库列表。采购过程中会出现结算方式,常用的要么现付、要么未付,即银行存款支付或者产生应付账款。

2.销售管理系统

对企业生产经营来说,售是经营活动的中心。销售是企业一切活动的起点,有了客户订单或销售预测后,才可以执行采购计划和生产计划。销售管理系统主要是编制并审核销售订单、发货单、销售发票等单据,经审核的发货单可以自动生成销售出库单并冲减商品库存量,进行销售出库单的记账和制单,完成销售成本的核算,根据销售发票完成销售收入和税金的核算,以销售发票为依据,记录应收账款的情况。

3.库存管理系统

库存管理系统是非常重要的,侧重解决的是存货库存量控制和核算发出成本。库存管理系统通过超储、不足等实现对库存量的控制,并且将信息反馈给采购、生产部门,这些部门根据实际情况决定是否生产或采购。在库存模块中主要介绍库存单据出库成本、入库成本的技术:拆卸组装、委托加工、自制入库、盘点、调拨等业务在系统实现过程中需注意的地方及库存表报的查询。主要包括自制入库业务对于企业中自制入库的业务,在系统中是通过“领用出库”、“自制入库单”与“入库成本单”来联合实现的:其它出入库的业务,其它入库主要指接受捐赠、投资以及采购的溢余等商品入库的情况,满足上述情况的入库业务,克填制其它入库单。其它出库主要指捐赠、对外投资、以及商品采购的短缺及损耗等商品出库情况,满足上述情况的出库业务,可填制其它出库单;商品调拨,企业内部不同部门同一货位之间、相同部门不同货位之间的调拨业务,可填制“商品调拨单”。库存管理信息系统的目标是保障企业生产所需的所有商品供应通过有效地管理,提高库存周转率,降低资金占用。我们根据系统分析结果,得出本系统的功能结构图。进库功能主要是在仓库在采购货物的时候进行进库登记。然后再通过修改库存信息。在该厂需要进行提货时候向仓库发出提货单,如果仓库有货则发货并且进行出货登记,要是缺货则向采购科发出缺货单,并进行修改信息,当货物到达时向生产部门或销售部门发货。

4.核算管理系统

核算管理系统在进销存中就是你出凭证的系统模块,其中有供内部使用的凭证,有跟客户和供应商产生的业务发生的凭证,只要分清出那些是内部使用的凭证,那些是外部凭证的,核算系统并不难做。

二、结语

篇7

操作系统是对计算机的各类软、硬件资源进行管理以充分利用计算机系统中的各类资源,并向用户提供良好的工作环境和运行界面的系统软件。操作系统论文作为在计算机硬件上铺设的第一层软件,提供了用户使用计算机的接口。因此,操作系统开发人员既具有软件开发方面的知识,也要了解硬件的相关知识。操作系统是一门综合性课程,它由许多概念、设计思想及算法等构成,因此,具有概念抽象、理论性强、知识点多等特点。操作系统是计算机专业一门重要的专业主干课,其教学目标是帮助学生了解计算机硬件和软件的关系、掌握操作系统各种功能的实现算法,注重通过对操作系统抽象的理论知识及系统结构的学习,培养学生开发和设计大型软件的思维和方法,提高学生软件开发能力。因此,操作系统这门课程配有相应的实验课程。 

然而在实际教学中发现,该课程并未能有效的提高学生独立开发软件的能力,仅仅实现了让学生了解操作系统的构成及功能实现这一基本教学目标。这个问题的出现与我们课程特点密不可分。首先,课程设置偏向理论,课程内容偏向软件设计和算法实现,虽配套有实验课程,但比例较低,不利于提高学生的实践能力。其次,操作系统涉及到各类软硬件资源,因此,需要专门的实验平台,否则,直接采用传统的编码和调试方法及有可能导致系统崩溃。最后,对于操作系统这种大型软件的开发,需要学生具有较强的编程开发能力,实际上,很多学生并不能快速有效地将算法转化为可执行程序,少数学生虽能快速实现局部功能但对软件的整体思维和开发能力欠缺,目前大部分的实验工作主要集中与操作系统部分子系统功能的实现。本文对操作系统理论教学及实验教学中学生遇到的各种问题进行归纳总结,进而探讨培养学生的软件整体开发思维和方法,提高学生的独立软件开发能力。 

1 问题归纳 

1.1 局部思维方式 

所谓局部思维方式是指学生在学习操作系统知识时,只关注当前学习或实践的内容与知识点,很少能将当前知识与前面的知识联系起来,这导致学习完一个知识点后,学生很可能不知道该知识点是为了解决什么样的问题。这样的局部思维方式是学生长期的学习过程中养成的不良习惯,不仅在学习操作系统这门课程中出现,在其他课程的学习中也同样存在。 

操作系统是一个整体性软件,各章节的知识都是相互关联的,因此,在这门课程的学习过程中,这种局部思维方式带来的问题就更加明显。下面总结了几种由局部性思维带来的普遍性问题。 

关注知识细节,忽视知识的宏观应用。实际教学中发现,很多学生在学习的过程中常常发生一叶障目的现象,通常的表现是学习了当前的知识点后,不知道学习该内容的目的,或者不知道该知识是用于实现操作系统的哪部分的功能的,因此,常常在学期结束后询问学生什么是操作系统,它有哪些构成和基本功能,很多学生还是一头雾水。这些主要是由于学生缺少以宏观的视角来看待和解决问题的能力,不能正确认识每个细小知识点在整个宏观问题中所处的位置。这就好比学生们仔细认真的观察了一砖一瓦(各个细小知识点)却不知道砖瓦是用来盖房子(开发大型的系统软件操作系统)的,或者即使知道使用砖瓦来盖房子,也不知道在什么地方什么时候使用什么材料来盖房子,概其主要原因就是学生过于关注一砖一瓦的实现细节而忘记关注砖瓦的使用过程,即只关注微观的知识细节,而忘记学习宏观的知识应用方式,这也是现在学生学习中的普遍性问题。

关注知识点个体,忽视整体联系。操作系统课程中,每个章节内容对应部分子功能的实现,每个子功能相互协作才能构成一个完整的操作系统软件。学生在学习过程中较多关注每个子功能的实现,而忽视了它们之间的联系,因此,无法有效的将各个子功能拼接成一个完整的系统软件。例如,学生不清楚I/O系统与用户之间的接口在哪,如何让处理机管理系统、存储管理系统、I/O系统等协同工作,等等。 

1.2 知识储备不足 

实际教学中,除了上述局部性思维方式外,学生知识储备不足也是影响课程学习的另一主要原因。我们知道操作系统是一门综合性课程,想要学好操作系统,既要了解软件开发的相关知识,也要有硬件的基础,因此,知识储备不足会直接影响操作系统的学习。其表现归纳如下。 

⑴ 常见的概念模糊。例如,逻辑地址空间与物理地址空间、程序的链接、数据结构、虚拟化等等常见概念的理解模糊。还有很多同学不了解内存单元的地址,更不知道内存地址的作用是什么,因此,在介绍地址映射、数据装入内存的过程需要花费大量的时间去补充基础知识。 

⑵ 硬件基础薄弱。计算机系统硬件组成知识薄弱,不了解计算机系统的工作流程,不了解计算机常见硬件的基本功能和基本特性。 

⑶ 代码实现能力差。操作系统实验课程的教学中看到学生的编程能力普遍较差,且没有软件开发基础和思维方式,很多学生只注重功能的实现,不关注各个部分的接口,导致各子系统可以正常运行,但是,无法拼接成完整系统。主要表现为编码随意,乱用GOTO语句,数据结构定义不规范,指针使用随意。例如,通过printf(“%d\n”,i),学生编写输入语句scanf(“%d\n”,&i),而实际规范的语句应为scanf("%d",&i)。 

2 操作系统课程教学的几点思考 

基于上述问题,本文针对操作系统教学提出几点改进意见。 

2.1 理论与实践相结合 

注重理论教学的同时,也要加强学生的实际应用能力的提高。现在的学生更加看重知识的实用性,将自己所学知识转化为实际应用和实践是学生自主学习的主要内在推动力。单纯的进行理论教学,会让学生感觉操作系统是一门生涩枯燥毫无用处的一门课程。 

在教学中,我们将理论和实践相互结合,详细阐述理论知识,让学生充分理解相关工作原理及实现算法,再通过配套实验课程指导学生将理论知识转化为实际应用,通过这一转化过程,提高学生对操作系统实用性的认识,激发学生自我学习的内在动力。理论转化为实践的过程中,学生会逐渐发现只有扎实的理论基础积累才能快速的转化成实践,提高了学生对理论知识学习的重视程度,从而形成理论指导实践,再由实践去反思理论的良性循环。 

在理论转化成实践的过程中,学生能够将空泛的概念落到具体实处加深印象和理解,例如,内存的物理地址空间,可以通过编码的调试过程查看每个内存单元的存储内容,充分理解内存的数据存储及变化。除此之外,通过理论转化代码实现的过程能够快速有效的提高学生的编程能力,发现自己在编码方面的不足和问题,以及提高自身的软件设计能力。 

2.2 整体与局部相结合 

建立学生对于操作系统的整体概念,关于处理机管理、存储器管理、I/O设备管理、文件管理及用户接口等模块都是操作系统的子系统,这些子系统相互关联、相互协作才能实现操作系统对各种软硬件资源进行管理并为用户提供良好工作环境的功能。 

教学中充分强调操作系统的整体结构和设计方法,在对整体结构和功能充分了解以后,再介绍操作系统的模块划分。透彻讲解每模块的设计思想和功能实现,让学生在潜移默化中学习软件开发的思维方式和解决方案,逐渐提高学生运用已学的设计思想解决问题的能力。只有对每个子模块具体功能原理和实现方法充分掌握后才能快捷迅速的将它们从理论知识转化成代码,也只有在每个子功能的代码都能充分实现的情况下,才有可能将它们连接成一个完整的大型的操作系统软件。 

整体是由局部组成,只有每一子模块都实现了才有可能连接成整体,而整体不是对每个子模块的简单拼凑,各个模块之间如何相互协调共同完成用户任务是需要在一开始的软件整体设计中考虑的问题,此外,软件设计之初我们还需考虑各子模块之间的接口。因此,在整个教学过程中,我们遵循“整体-局部-整体”的一个教学过程。通过这个过程,让学生充分了解整体与部分之间的相互关系,加深理解。 

2.3 层次式教学 

操作系统课程是按年级统一开课的,但是同一个年级,不同学生的差别也很大,比如,他们各自的知识储备、自身的理解力和领悟力、兴趣爱好,比如有的善于思考而有的喜欢动手编程等等。因此,对不同学生采用统一标准显然是不合适的,对于能力强、精力充沛的学生,这个统一的标准不能激发他们的潜能,而对于知识储备相对较弱、能力稍差的学生,这样的统一标准又会打击自信心。因此,对于操作系统无论是理论教学还是实验教学,都建议采用层次式教学,对于不同水平的学生提出不同要求。 

在理论教学中,我们将掌握操作系统的基本概念、设计思想和算法作为基本教学目标,对于能力较强的学生在教学中提示一些课本中没有的知识点去拓展知识空间和思维方法,比如:在学习了用户空间和内核空间的基本概念后,让有能力的学生了解用户空间的数据如何与内核空间的数据进行交互,实现两者之间数据交互的方法有哪些。而对于那些动手能力较强的学生可以引导他们用1~2种方式去实现将用户空间的数据传递到内核空间内。 

在实验教学中,基本的教学目标是独立实现操作系统中的基本算法,如进程同步、进程调度算法、银行家算法及内存的分配回收算法等等。对于能力较强的学生可以引导他们去读一些开源linux操作系统的源代码,有选择的对部分功能模块进行优化改进,然后再编译链接,最终将该改进植入操作系统中,以此激发学生的学习兴趣。 

3 结束语 

操作系统课程的教学不仅需要教师不断更新教学内容和教学工具,还要求教师能够根据学生的特点因材施教。本文总结了归纳操作系统在理论教学和实验教学中出现的一些常见问题,如局部思维方式问题和知识储备不足代码实现能力差的问题,并针对这些问题提出三点改进建议:强调整体与局部之间的相互关系,形成整体-局部-整体的教学模式;要求理论联系实际,将理论知识应用到具体实践中去,从理论到代码实践,再通过代码实践过程反思理论方法的有效的教学方法;针对不同学生采用层次式教学手段,设定基本教学目标,对于完成基本教学目标的同学引导其完成更高层教学目标,提高学生学习兴趣和能力。 

参考文献(References): 

篇8

《操作系统原理》是计算机专业的核心课程,具有很强的实践性与实用性。大多学生都认为该课程容易学,就是掌握一些算法,比如进程调度算法、死锁避免算法、磁盘调度算法等。这反映出目前计算机教学中普遍存在的一些问题,即课程与课程之间相对独立,课程的章节之间相对独立,使得大部分学生缺乏系统结构观,只注重解决局部的编程和应用问题[1]。笔者发现,对《操作系统原理》课程的学习如果仅注重于细节的算法,难以真正培养学生的系统思维能力。让学生通过该课程的学习,构建大型软件的系统和结构化思维至关重要。 

在课程体系中,操作系统论文被安排在程序设计、数据结构、汇编语言、计算机组成原理等课程之后,是第一门侧重研究大型计算机软件组成结构的课程。目前,计算机专业的系统能力培养已经被国内计算机教育专家所重视[1],有条件的学校已进行了课程体系重构,而对目前尚未改革的学校而言,操作系统课程可以担当起该职责。 

本文结合笔者在教学中的体会,提出应在操作系统原理教学过程强化结构概念和培养结构思维,从多方面探讨操作系统课程中无处不在的结构概念及其对教学的作用。 

1结构的含义 

操作系统是一个大型系统,所谓系统,是由相互作用和相互依赖的若干要素结合而成的、具有特定功能的有机整体[2]。所谓结构,是指系统内部各组成要素之间在时间或空间上排列和组合的具体形式。与结构相对应,系统的外延是系统对外呈现的功能,例如操作系统作为用户接口和服务提供者、操作系统作为资源管理者和控制者,都是从功能角度来阐述操作系统的外在表现。“结构决定功能”。系统论认为,功能是系统内部固有能力的外部表现,它终究是由系统的内部结构所决定。对于操作系统这样的大型软件而言,结构的好坏决定了软件的可移植性、可靠性、健壮性和可扩展性。 

结是结合之义,构是构造之义。在科学研究和工程设计中,人们总是孜孜不倦地追求通过定义最小的本元集合和构造规则来产生某个目标系统。老子言:“道生一,一生二,二生三,三生万物。”这与中国古代人讲究的“金、木、水、火、土”一样,都是朴素的探索世界结构的例子。这些与现代科学的认知殊途而同归。现代科学表明,物质都由相同的最基本粒子构成,结构的差异产生不同的物质,碳原子的同素异形体石墨和钻石便是最好的诠释。在计算机科学中,这一方法也被广泛应用,例如:程序由数据结构和控制结构决定。数据结构的本元是基本数据类型,而通过线性构造规则、层次构造规则和网状构造规则可以创建任意复杂的数据类型。控制程序的基本要素是语句,理论上通过顺序结构、分支结构和循环结构可以构造出任何程序。 

结构在人类的认知过程中也扮演着非常重要的角色。结构化思维方法是以事物的结构为思维对象,以对事物结构的积极建构为思维过程,力求得出事物客观规律的一种思维方法。认知结构学习理论的创立者布鲁纳指出“掌握事物的结构,就是以使许多别的东西与它有意义地联系起来的方式去理解它。简单而言,学习结构是指学习事物是如何相互关联的。 

综上所述,结构一方面强调构造,另一方面强调联系。因此,在教学过程中,应该重视结构概念和结构思维,注重操作系统各要素的组合方式和相互之间的联系,引导学生掌握操作系统构造的一般性规律。 

2操作系统中结构的概念 

可以说,结构贯穿于操作系统原理课程教学的始终。有效识别《操作系统原理》课程中的结构并理解其对操作系统原理教学的重要作用对于提高学生的认知效率非常关键。 

2.1操作系统整体结构 

操作系统的结构方面,较为普遍的是如图1所示的自底向上的由硬件、操作系统、应用程序等组成的层次化静态结构图。从静态的角度看,一个计算机系统由各种物理特性和传输速度各异的硬件、实现不同功能的资源管理模块和众多应用程序组成。这些是计算机系统的基本要素。抽象和分层将这些要素组合成一个有机整体。在这一结构图中,以内核为基准,向下,通过硬件驱动程序屏蔽具体硬件的类型差异,使内核能够独立于纷繁芜杂的硬件设备而演化;向上,提供统一的系统调用接口,作为运行于用户态的应用程序访问内核功能的门户,从而使上层应用程序可以独立于内核而演化。无论是Windows XP操作系统、Unix操作系统、还是Android操作系统,都可以看作是这一基本结构的演化。 

2.2内核结构 

具体到内核本身,其发展历程中也经历了多种结构的演变,从早期的整体式单内核结构到后来的层次式单内核结构再到微内核结构。Unix和Linux都是单内核结构,而Windows XP和Mach属于微内核结构。图2给出了层次式单内核和微内核的结构示意图[3]。鉴于操作系统软件的复杂性,内核的结构对操作系统软件的正确性、效率、可扩展性、可移植性等具有重要作用,是“结构决定功能”的典型范例。 

整体式结构存在于上世纪50年代,当时对结构的关心甚少,内核被划分成功能相对独立的模块,而模块之间可以不加控制地自由调用。这一结构的优点是结构紧密、组合方便、系统效率高,但缺点也很明显,即模块之间调用关系复杂,系统结构不清晰,可移植性差,当系统规模变大时难以保证正确性。

层次式结构则将模块依照功能的调用次序排列成若干层次,各层之间单向调用。其优点是接口少而简单,下层模块的正确性为上层模块的正确性提供了基础。然而,严格的层次难以界定,严格的分层也降低了系统效率。此外,由于一层包括了非常多的功能,对于某个层次进行大的增删可能会对相邻层产生意想不到的影响。因此,很难在某个操作系统基础上通过适当增/删功能实现定制的操作系统,而这一点正是微内核的初衷。 

微内核认为只有最核心的操作系统功能(例如进程切换、消息传递、设备驱动等)需要运行于内核态,而其它服务可以建立在微内核之上,作为服务进程运行在用户态,相互之间依赖于微内核的消息传递进行交互。通过这一结构的改变,微内核操作系统具备了可扩展性强、移植性好、可靠性高和易于支持分布式实现等诸多优点。 

2.3进程结构 

2.3.1内核功能组织和进程映像逻辑结构 

在教学过程中,笔者发现部分学生会将操作系统看作是一种独立而神秘的特殊程序。确实,操作系统有其特殊性,例如其运行在内核态。但更重要的是,操作系统程序和普通程序一样,需要获得处理器后才能执行;操作系统程序并不一直占用处理器,只要有可能,就会主动放弃对处理器的控制。为了深入理解操作系统程序和普通程序的异同,则必须理解操作系统内核功能的组织模型和进程映像结构。 

在多道程序操作系统中,用户程序被组织为进程在用户模式执行,而操作系统的功能是否也需要被组织成独立的进程,则有不同的选择。一种早期的组织方式是,操作系统的功能运行在任何进程之外,拥有自己独立的地址空间和运行栈。第二种组织方式是让大部分内核功能在用户进程内执行,将OS看成是一组用户进程经常会调用的常用功能的集合。为此,每个进程映像不仅包括用户程序执行所需的环境,还需要包含为执行操作系统内核程序执行所需的代码、数据和堆栈。这一执行模型很好地诠释了进程和程序的关系并非是1对1的。在同一个进程内,可以执行用户程序和操作系统程序,而在不同进程中执行的操作系统程序是相同的(通过共享地址空间共享)。最后一种方式是将大部分操作系统功能也组织成进程,与用户进程一样可被独立调度。这种方式的好处在于一些非关键的操作系统功能可以按照某个优先级和其它进程交错运行,同时,在多处理器环境下,也便于操作系统服务在不同的处理器中运行,从而提高性能。图3为上述3种操作系统的内核功能组织方式。这一差别导致了进程映像逻辑结构的不同,如图4所示。在教学的过程中,学生经常难以理解为何用户进程映像还需要包括内核栈,在对内核功能的组织方式和进程映像结构有了基本了解后,应该可以释疑。 

2.3.2多线程环境下的进程结构 

引入线程后,进程成为地址分配和保护的基本单位,而线程是CPU调度的基本单位。为了让学生更深入理解同一进程中的多个线程对进程地址空间的共享和线程切换的代价,有必要对多线程环境的进程结构有所了解。图5给出了单线程进程和多线程进程的结构示意图。当引入线程后,多个线程共享进程的地址空间,因此一个线程对数据所做的改变对其它线程可见,这要求多个线程之间采用某种互斥/同步机制以解决线程并发可能造成的数据不一致问题,为后续并发并同步相关内容教学作好铺垫。 

引入线程后,原有的进程控制块相关信息进一步分解,与进程有关的如存储管理信息、打开文件列表等依然保存在进程控制块中,而线程执行相关的寄存器上下文则保存在各线程控制块中。当在同一个进程内进行线程切换时,仅需保存线程控制块中的信息即可,进程控制块中的信息无需保存,因此线程的切换开销更小。 

2.4存储管理中的结构 

在存储管理相关内容的教学过程中,笔者发现学生虽然能够掌握复杂的存储管理策略的地址转换方法,但对地址转换的发生时刻却仍然模糊。观察发现,如果让学生对程序生命周期的编译、链接、装入和运行这4个阶段的关系有明确的认识,学生会对整个存储管理结构更加了解。图6给出了源程序经过编译、链接和装入后变成内存可执行程序的过程。编译和链接后的程序都使用逻辑地址空间,链接同时会进行全部或部分的符号解析。逻辑地址和物理地址的转换既可以在装入时即发生(静态重定位),也可以在运行时发生(动态重定位)。由于动态重定位能支持进程运行过程中在内存移动(例如进程被挂起后又被激活,页面/分段在虚拟存储管理中被替换出内存后又被载入),因此广受青睐。 

虚拟内存是存储管理中的另一项重点教学内容。理解虚拟内存首先必须理解由于技术和经济因素决定的层次化存储系统设计和各个存储层次之间的联系,图7给出了一个现代的多核处理器的层次化存储结构。在这一层次化结构中,每个上层的存储设备都可以被看成是下层存储设备的缓存。在此基础上,进一步掌握虚拟地址空间、内存映射表、物理内存和外部磁盘存储器的关系。在理解层次结构和各组成要素关系的基础上,掌握虚拟内存的管理就会变得更加容易。 

2.5文件系统结构 

文件的逻辑结构和物理结构是文件系统教学的一大重点。文件的逻辑结构是指文件的逻辑组织方式,从构成文件的基本元素而言,有字节和记录两种。流式文件指将文件看成由字节按顺序排列而成,记录式文件指将文件看成由记录按顺序排列而成,而索引文件则将记录按照某种规则排序,并建立记录的索引项提供快速的文件检索。现代操作系统大部分都支持流式文件,而将记录的重构交给应用程序完成。从结构的角度而言,流式文件仅支持最本元的字节操作,无法体现任何语义,但其也具有最大的灵活性。 

文件的物理结构则是文件的物理组织方式,与物理磁盘的结构紧密相关。物理文件的基本组成单元是磁盘块。物理文件的结构指逻辑上连续的字节以物理磁盘块为基础单位的排列组合方式,也即逻辑文件到物理文件的映射方式。文件的物理结构决定了对文件进行修改和扩充的能力、对文件进行顺序访问和随机访问的性能等。连续文件需要以物理上连续的磁盘块来存储文件,因此文件难以扩充和修改,但类似于数组,顺序访问和随机访问效率高。连接文件允许以离散的磁盘块存放逻辑上连续的字节,易于修改和扩充,但类似于链表,需要按序读取,随机访问效率低。FAT文件简单地将这些离散的以链接方式存储的映射信息集中起来存放,在文件被访问时载入内存,因此较之连接文件访问速度大大提升。索引文件同样是将映射信息集中存放,但是以索引表的方式,因此既方便文件的修改和扩充,也能支持快速的随机存取。

文件系统的另一项重点教学内容是文件的目录结构及物理实现方式。文件目录采用哪种结构决定了文件系统中文件保护和共享的能力。例如,早期的单级或两级目录结构不利于文件的共享和保护;纯粹的树形结构能实现文件保护,但不利于文件共享;而DAG(Directed Acyclic Graph)结构有利于文件共享;更通用的图结构则不利于文件检索。 

3教学过程中的结构思维培养 

《操作系统原理》课程教学中,教学人员一般都会对上述结构予以讲解,但为何会出现本文开篇所提及的学生在学完课程后普遍认为《操作系统原理》就是学算法的课程,这一点值得深思。笔者认为,没有强化结构概念是导致这一结果的原因之一。操作系统的教学人员已经认识到应该在操作系统教学过程中帮助学生建立整体概念[45],强化结构概念和注重结构思维培养是帮助建立整体概念的主要途径。 

一般而言,教学过程都遵循自顶向下的原则,即先介绍整体结构,再介绍局部功能以及提高该局部性能的具体算法。但这一方法的问题在于,在初次介绍整体结构时,学生并未能对结构中的构成元素产生感性认知,因此对结构的作用感受不深。笔者建议按照图8的方法来加强学生对结构的认识。首先,通过自顶向下的结构分解建立学生对操作系统结构的初步印象;其次,在具体层次的功能讲解过程中,对存在的结构进行强化教学,注重各要素之间的联系;再次,对于重要的结构概念,注重在不同的教学单元进行交叉强化。例如,图7所示的层次化存储结构可以在不同的章节得到强化,包括进程七态模型的挂起态、多核CPU的进程或线程调度算法、存储管理中的快表、虚拟存储、文件系统的磁盘缓冲区和内存映射I/O等。进程的系统上下文概念也可以在进程映像结构、存储管理、I/O管理和文件管理中得到强化;最后,在讲授完主要层次后,通过自底向上的方式再次完成操作系统整体结构的重构。例如,图9给出了操作系统中的三大概念(进程、虚拟存储和文件系统)之间的结构关系。文件系统建立在I/O的基础上,对上层软件简化了外设操作。虚拟内存则是对包括主存和外存在内的存储进行抽象,从而使得用户可以按照内存操作的方式来访问文件。更进一步,进程则是对处理器资源和存储资源管理的抽象,构成了操作系统的核心概念。这一结构关系的重构可以在讲授完文件管理之后开展。基于图8所示的教学方法对结构概念从不同角度予以强化,学生对操作系统的整体认识将会产生由量变到质变的过程。 

4结语 

本文以“结构”作为《操作系统原理》课程教学的抓手,在教学过程中注重操作系统各要素的组合方式和相互之间的联系,引导学生掌握操作系统构造的一般性规律,探讨了操作系统中无处不在的结构概念,通过自顶向下分解、单元教学强化、交叉强化和自顶向上重构4个过程,深化了学生对操作系统结构的认识。 

参考文献参考文献: 

推荐期刊