《计算机操作系统》课程教学大纲课程编号1620034学分3.
5总学时64理论54实验/上机10英文课程名OperatingSystems开课院(系)信息学院开课系计算机系、网络系修订时间2006年9月1日课程简介"计算机操作系统"是计算机应计算机科学与技术专业学生必修的重要专业基础课,是一门涉及较多硬件知识的计算机系统软件课程.
在计算机软硬件课程的设置上,它起着承上启下的作用.
其特点是概念多、较抽象和涉及面广,其整体实现思想和技术难于理解.
操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务.
操作系统技术是衡量一个国家计算机技术整体实力和创新能力的关键.
本课程主要内容包括:操作系统引论、进程管理、存储器管理、文件系统、设备管理等方面的概念和技术方法等.
课程大纲一、课程的性质与任务:操作系统是计算机科学与技术专业的主干课程,它综合了计算机软件和硬件技术,具有很强的系统性,是衡量教学质量和学生专业技能整体水平的重要课程.
操作系统技术的掌握与应用决定了一个国家计算机系统软件的研发能力,是培养计算机创新人才的重要途径.
学生通过本课程的学习,理解操作系统的基本概念和主要功能,它是如何组织和运作的,从而在本质上掌握计算机系统的运行机制,为迅速发展我国自己的操作系统,振兴我国信息产业打下坚实基础.
二、课程的目的与基本要求:本课程的目的掌握操作系统这一重要系统软件的结构与构造,它的各组成部分的具体工作原理与技术实现方法,各部分之间的相互联系.
通过系统的学习,学生站在一定高度掌握计算机系统的软硬件协作关系和整体工作原理,为今后从事专业工作打下坚实基础.
基本要求掌握理论上的重要概念和重要技术,例如多道程序、并发、分时、进程、进程间通信、虚拟存储器等.
由于本课程难度很高,对于专业技术经验不足的一般学生来讲本课程的内容不容易消化和掌握,加上课内学时有限等因素,建议教学过程中多建设网络视频资源,教师将讲授之内容以网络教学资源的形式提供给学生,一方面便于学生课前预习、课后复习,突破学时限制,另一方面为交互式教学和自主式学习创造条件,而且可以扩大课堂容量.
知识掌握要有层次结构.
第一个层次是主流操作系统(类UNIX)的常用命令,第二个层次是学会用系统调用编写C语言应用程序,第三个层次是操作系统原理的掌握.
这种层次结构教学方法保证不同层次的学生均有收获和成就感,也体现了由浅入深、由表及里的教学方法的灵活运用.
教学过程避免"重理论、轻实践"的现象,应该紧密结合一个具体操作系统来帮助学生理解深奥的理论与技术.
三、面向专业计算机科学与技术、信息管理与信息系统四、先修课程计算机组成原理、汇编语言、C语言程序设计、数据结构.
五、本课程与其它课程的联系操作系统是一门综合性较强的课程,需要学生有一定的计算机硬件基础知识,而操作系统本身是一个大型的系统软件,它的功能是通过定义数据结构和程序描述来实现的.
为此,学习本课程之前学生应具备计算机组成、汇编语言、C语言程序设计、数据结构等方面的知识.
操作系统又是其它许多后续课程如计算机网络、编译原理、软件体系结构等的先行课程,它为进一步学习后续课程打下基础.
六、教学内容安排、要求、学时分配及作业:第一章引言(INTRODUCTION),(理论2学时,实验2学时)§1.
1什么是操作系统(WHATISANOPERATINGSYSTEM)从功能扩展机和资源管理器两个角度掌握操作系统的概念(ExtendedMachine&ResourceManager)作业:WhatarethetwomainfunctionsofanoperatingsystemWhatisthedifferencebetweenkernelmodeandusermodeWhyisthedifferenceimportanttoanoperatingsystem§1.
2操作系统历史(HISTORYOFOPERATINGSYSTEMS)结合硬件发展了解操作系统的由来,通过现有的操作系统产品重点掌握分时系统和多任务系统的概念.
作业:WhatismultiprogrammingWhatisspoolingDoyouthinkthatadvancedpersonalcomputerswillhavespoolingasastandardfeatureinthefuture§1.
3操作系统中的重要概念(OPERATINGSYSTEMCONCEPTS)结合实际抽象出并理解进程、文件、shell等概念.
(Processes,Files,andShell)作业:WriteashellthatissimilartoFig.
1-10butcontainsenoughcodethatitactuallyworkssoyoucantestit.
Youmightalsoaddsomefeaturessuchasredirectionofinputandoutput,pipes,andbackgroundjobs.
§1.
4系统调用(SYSTEMCALLS)通过演示UNIX下的带有系统调用的C语言程序,使学生理解操作系统中各种主要的系统调用功能和使用方法.
作业:Writeaprogram(orseriesofprograms)totestalltheMINIX3systemcalls.
Foreachcall,tryvarioussetsofparameters,includingsomeincorrectones,toseeiftheyaredetected.
§1.
5操作系统结构(OPERATINGSYSTEMSTRUCTURE)一般了解单一结构、分层结构、虚拟机操作系统,理解微内核操作系统结构.
作业:Examinethedifferencebetweenamicro-kernelsystemandamonolithicsystem第二章进程(PROCESSES),(理论16学时,实验2学时)§2.
1进程引言(INTRODUCTIONTOPROCESSES),1学时掌握进程模型,理解进程实现,了解线程作业:WhyismultiprogrammingcentraltotheoperationofamodernoperatingsystemWhatarethethreemainstatesthataprocesscanbeinDescribethemeaningofeachonebriefly.
§2.
2进程间通信(INTERPROCESSCOMMUNICATION),2学时理解竞争条件、临界区、临界资源以及信号量的概念,掌握用信号量解决进程同步与互斥的方法作业:Doesthebusywaitingsolutionusingtheturnvariableworkwhenthetwoprocessesarerunningonashared-memorymultiprocessor,thatis,twoCPUs,sharingacommonmemoryConsideracomputerthatdoesnothaveaTESTANDSETLOCKinstructionbutdoeshaveaninstructiontoswapthecontentsofaregisterandamemorywordinasingleindivisibleaction.
Canthatbeusedtowritearoutineenter_regionsuchastheonefoundinFig.
2-12Giveasketchofhowanoperatingsystemthatcandisableinterruptscouldimplementsemaphores.
Showhowcountingsemaphores(i.
e.
,semaphoresthatcanholdanarbitrarilylargevalue)canbeimplementedusingonlybinarysemaphoresandordinarymachineinstructions.
Inasituationwithahigh-priorityprocess,H,andalow-priorityprocess,L,wasdescribed,whichledtoHloopingforever.
Doesthesameproblemoccurifround-robinschedulingisusedinsteadofpriorityschedulingDiscuss.
§2.
3经典进程同步问题(CLASSICALIPCPROBLEMS),1学时掌握进餐的哲学家问题,了解读者-写者和理发师问题作业:Inthesolutiontothediningphilosophersproblem(Fig.
2-20),whyisthestatevariablesettoHUNGRYintheproceduretake_forksConsidertheprocedureput_forksinFig.
2-20.
Supposethatthevariablestate[i]wassettoTHINKINGafterthetwocallstotest,ratherthanbefore.
Howwouldthischangeaffectthesolutionforthecaseof3philosophersFor100philosophersThereadersandwritersproblemcanbeformulatedinseveralwayswithregardtowhichcategoryofprocessescanbestartedwhen.
Carefullydescribethreedifferentvariationsoftheproblem,eachonefavoring(ornotfavoring)somecategoryofprocesses.
Foreachvariation,specifywhathappenswhenareaderorawriterbecomesreadytoaccessthedatabase,andwhathappenswhenaprocessisfinishedusingthedatabase.
§2.
4进程调度(SCHEDULING),1学时掌握轮转和多级队列调度算法作业:Round-robinschedulersnormallymaintainalistofallrunnableprocesses,witheachprocessoccurringexactlyonceinthelist.
WhatwouldhappenifaprocessoccurredtwiceinthelistCanyouthinkofanyreasonforallowingthisFivebatchjobsAthroughE,arriveatacomputercenteratalmostthesametime.
Theyhaveestimatedrunningtimesof10,6,2,4,and8minutes.
Their(externallydetermined)prioritiesare3,5,2,1,and4,respectively,with5beingthehighestpriority.
Foreachofthefollowingschedulingalgorithms,determinethemeanprocessturnaroundtime.
Ignoreprocessswitchingoverhead.
(a)Roundrobin.
(b)Priorityscheduling.
(c)First-come,first-served(runinorder10,6,2,4,8).
(d)Shortestjobfirst.
For(a),assumethatthesystemismultiprogrammed,andthateachjobgetsitsfairshareoftheCPU.
For(b)through(d)assumethatonlyonejobatatimeruns,untilitfinishes.
AlljobsarecompletelyCPUbound.
§2.
5MINIX中进程的实现(IMPLEMENTATIONOFPROCESSES),11学时了解源代码的组织和头文件(1学时);掌握MINIX引导和系统初始化(1学时),MINIX的中断处理、进程间通信和调度(4学时),硬件相关的内核支持(1学时)作业:Duringexecution,MINIXmaintainsavariableproc_ptrthatpointstotheprocesstableentryforthecurrentprocess.
WhyMINIXdoesnotbuffermessages.
Explainhowthisdesigndecisioncausesproblemswithclockandkeyboardinterrupts.
WhenamessageissenttoasleepingprocessinMINIX,theprocedurereadyiscalledtoputthatprocessontheproperschedulingqueue.
Thisprocedurestartsoutbydisablinginterrupts.
Explain.
TheMINIXproceduremini_reccontainsaloop.
Explainwhatitisfor.
MINIXessentiallyusestheschedulingmethodinFig.
2-43,withdifferentprioritiesforclasses.
Thelowestclass(userprocesses)hasround-robinscheduling,butthetasksandserversalwaysareallowedtorununtiltheyblock.
IsitpossibleforprocessesinthelowestclasstostarveWhy(orwhynot)AddcodetotheMINIXkerneltokeeptrackofthenumberofmessagessentfromprocess(ortask)itoprocess(ortask)j.
PrintthismatrixwhentheF4keyishit.
ModifytheMINIXschedulertokeeptrackofhowmuchCPUtimeeachuserprocesshashadrecently.
Whennotaskorserverwantstorun,picktheuserprocessthathashadthesmallestshareoftheCPU.
Modifythehwint_masterandhwint_slavemacrosinmpx386.
ssotheoperationsnowperformedbythesavefunctionareperformedinline.
WhatisthecostincodesizeCanyoumeasureanincreaseinperformance第三章输入/输出(INPUT/OUTPUT)(理论16学时,实验2学时)§3.
1I/O硬件原理(PRINCIPLESOFI/OHARDWARE),1学时了解I/O设备、设备控制器以及DMA等概念作业:Whatismemory-mappedI/OWhyisitsometimesusedExplainwhatDMAisandwhyitisused.
AlthoughDMAdoesnotusetheCPU,themaximumtransferrateisstilllimited.
Considerreadingablockfromthedisk.
Namethreefactorsthatmightultimatelylimittherateoftransfer.
§3.
2I/O软件原理(PRINCIPLESOFI/OSOFTWARE),1学时了解I/O软件的目标;掌握中断处理程序、设备驱动程序、设备无关I/O件以及用户空间I/O软件的概念、原理以及它们之间的层次调用关系作业:Eachdevicedriverhastwodifferentinterfaceswiththeoperatingsystem.
Oneinterfaceisasetoffunctioncallsthattheoperatingsystemmakesonthedriver.
Theotherisasetofcallsthatthedrivermakesontheoperatingsystem.
Nameonelikelycallineachinterface.
Whydooperatingsystemdesignersattempttoprovidedevice-independentI/OwhereveritispossibleInwhichofthefourI/Osoftwarelayersiseachofthefollowingdone(a)Computingthetrack,sector,andheadforadiskread.
(b)Maintainingacacheofrecentlyusedblocks.
(c)Writingcommandstothedeviceregisters.
(d)Checkingtoseeiftheuserispermittedtousethedevice.
(e)ConvertingbinaryintegerstoASCIIforprinting.
Whyareoutputfilesfortheprinternormallyspooledondiskbeforebeingprinted§3.
3死锁(DEADLOCKS),1学时一般了解死锁的概念和原理;了解死锁检测、预防和避免的算法§3.
4MINIXI/O系统概述(OVERVIEWOFI/OINMINIX),2学时掌握MINIX中断处理程序、设备驱动程序、设备无关I/O软件以及用户空间I/O软件的实现.
作业:WhyareRS232terminalsinterruptdriven,butmemory-mappedterminalsnotinterruptdrivenWhydooperatingsystemsprovideescapecharacters,suchasCTRL-VinMINIXAfterreceivingaCTRL-C(SIGINT)character,theMINIXdriverdiscardsalloutputcurrentlyqueuedforthatterminal.
Why§3.
5MINIX块设备(BLOCKDEVICESINMINIX),2学时掌握MINIX块设备驱动程序的软件结构作业:DescribethegeneralprincipleofMINIXblockdevicedrivers.
§3.
6RAM盘驱动(RAMDISKS),1学时理解MINIXRAM盘驱动程序的结构及工作原理§3.
7磁盘驱动(DISKS),2学时了解磁盘硬件和软件;掌握硬盘驱动程序的工作原理作业:ModifytheMINIXfloppydiskdrivertodotrack-at-a-timecaching.
§3.
8时钟(CLOCKS),2学时了解时钟硬件和软件;掌握时钟驱动程序的工作原理作业:ModifyMINIXtodisplaycurrenttimeeveryminuteontheupperrightcornerofthescreen.
Theclockinterrupthandleronacertaincomputerrequires2msec(includingprocessswitchingoverhead)perclocktick.
Theclockrunsat60Hz.
WhatfractionoftheCPUisdevotedtotheclock§3.
9终端驱动(TERMINALS),4学时掌握驱动程序的结构;理解键盘驱动程序;了解显示器驱动程序作业:WriteagraphicsdriverfortheIBMcolordisplay,orsomeothersuitablebitmapdisplay.
Thedrivershouldacceptcommandstosetandclearindividualpixels,moverectanglesaroundthescreen,andanyotherfeaturesyouthinkareinteresting.
Userprogramsinterfacetothedriverbyopening/dev/graphicsandwritingcommandstoit.
Modifytheterminaldriversothatinadditiontoahavingaspecialkeytoerasethepreviouscharacter,thereisakeytoerasethepreviousword.
第四章存储器管理(MEMORYMANAGEMENT)(理论12学时,实验2学时)§4.
1分区(PARTITIONMANAGEMENTALGORITHM),2学时理解位示图、链表等数据结构;掌握BF,WF,FF等分区分配算法;掌握虚地址、实地址、地址变换、重定位等概念与技术.
作业:Acomputerhas1GBofRAMallocatedinunitsof64KB.
HowmanyKBareneededifabitmapisusedtokeeptrackoffreememoryWhatisthedifferencebetweenaphysicaladdressandavirtualaddressUsingthepagemappingofFig.
4-8,givethephysicaladdresscorrespondingtoeachofthefollowingvirtualaddresses:(a)20(b)4100(c)8300§4.
2分段(SEGMENTATION),2学时理解保护模式下分段系统的硬件支持;掌握段表等重要的数据结构;掌握段的共享与保护机制.
作业:Describetheprincipleofsegmentation.
WhatmechanismsdoesPentiumusetoprotectoneprocessaccessedfromanotherDescribethecorrespondinghardwareandtables.
WhatmechanismsdoesPentiumusetoprotectkerneldataaccessedfromcommonprocessDescribethecorrespondinghardwareandtables.
§4.
3分页系统(PAGINGSYSTEMS),2学时掌握分页系统中页表结构、TLB、MMC及缺页中断等概念;掌握分页系统的地址变换过程;了解工作集、抖动等概念;掌握LRU和FIFO等页面置换算法;了解分页与分段的对比;了解段页式存储管理方案.
哪里购买香港云服务器便宜?众所周知,国内购买云服务器大多数用户会选择阿里云或腾讯云,但是阿里云香港云服务器不仅平时没有优惠,就连双十一、618、开年采购节这些活动也很少给出优惠。那么,腾讯云虽然海外云有优惠活动,但仅限新用户,购买过腾讯云服务器的用户就不会有优惠了。那么,我们如果想买香港云服务器,怎么样购买香港云服务器便宜和优惠呢?下面,云服务器网(yuntue.com)小编就介绍一下!我们都知道...
百星数据(baixidc),2012年开始运作至今,主要提供境外自营云服务器和独立服务器出租业务,根据网络线路的不同划分为:美国cera 9929、美国cn2 gia、香港cn2 gia、韩国cn2 gia、日本cn2 gia等云服务器及物理服务器业务。目前,百星数据 推出的日本、韩国、香港cn2 gia云服务器,2核2G/40G/5M带宽低至60元/月,600元/年。百星数据优惠码:优惠码:30...
RAKsmart怎么样?RAKsmart是一家由华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(部分自营),支持使用PayPal、支付宝等付款方式,网站可选中文网页,提供中文客服支持。本月商家继续提供每日限量秒杀服务器月付30.62美元起,除了常规服务器外,商家美国/韩国/日本站群服务器、1-10...