操作系统课设报告.doc
《操作系统课设报告.doc》由会员分享,可在线阅读,更多相关《操作系统课设报告.doc(33页珍藏版)》请在沃文网上搜索。
1、沈阳工程学院课程设计报告 摘要摘 要在现代计算机系统中,如果不安装操作系统,很难想象还会有谁使用计算机。操作系统是计算机系统中重要的系统软件,是整个计算机系统的控制中心。操作系统不仅将裸机改造成为功能强、服务质量高、使用方便灵活、运行安全可靠的虚拟机来为用户提供使用计算机系统的良好环境,而且采用合理有效的方法组织多个用户共享计算机系统中的各种资源,最大限度地提高系统资源的利用率。操作系统是配置在计算机上的第一层软件,是对硬件系统的第一次扩充。它在计算机系统中占据了特殊重要的地位,其他所有的软件如汇编程序、编译程序、数据库管理系统等系统软件以及大量的应用软件,都依赖于操作系统的支持,取得它的服务
2、。操作系统的主要功能有处理机管理,存储器管理,设备管理,文件管理及用户界面。我们设计的题目是动态分区管理,它属于计算机的存储器管理功能之一。存储器管理的主要任务,是为多道程序的运行提供良好的运行环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充内存。此外,存储器管理还具有内存分配、内存保护、地址映射和内存扩充等。连续分配可分为单一连续分配方式和分区式分配方式。而分区式分配方式又可分为固定分区和动态分区两种。单一分区和固定分区由于功能简单、浪费内存、和自身的不完善性我们很少应用,我们主要来介绍动态分区,动态分区又称可变分区,根据用户程序的大小,动态地对内存进行划分,因此,各分区的
3、大小是不定的,内存被划分成多少个分区,其数目也是可变的。动态分区方式较之固定分区方式显著地提高了存储器的利用率。根据课设要求,我们初步画出了程序的功能结构图和主要算法流程图,但在代码实现过程中,遇到了许多问题,造成程序无法运行,在姜老师的帮助下将问题一一解决,成功的利用首次适应法、最佳适应法和最坏适应法实现对内存的动态分区,并显示分区后空闲区的组织形式;利用回收函数实现对作业的回收,回收后再次显示空闲区的组织形式。经过对程序的完善,能够实现作业的多次分配和回收,并且分配和回收的方式可以自由选择,使程序更具灵活性,方便用户。关键词:动态分区,首次适应法,最佳适应法,最坏适应法I沈阳工程学院课程设
4、计报告 目录目 录摘 要I第1章 系统概述11.1操作系统概述11.1.1发展历史21.1.2分类31.2 设计语言41.2.1 C语言的定义41.2.2 C语言特点61.2.3 C语言的优点及其缺点71.2.4 C语言结构特点81.3设计思想81.4运行环境91.4.1 Visual C+ 简介91.4.2 Visual C+ 的特点9第2章 系统分析112.1系统功能简介112.2空闲分区链122.1.1空闲分区链的结构122.1.2内存的分配122.1.3内存的回收142.3首次适应算法152.4最坏适应算法162.5最佳适应算法17第3章 系统实现183.1主函数183.2首次适应算法
5、的实现213.3最佳适应算法的实现223.4最坏适应算法的实现243.6回收函数26第4章 遇到的问题及解决的方法294.1遇见问题294.2解决方法29总 结30致 谢31参考文献32沈阳工程学院课程设计报告 第1章 系统概述第1章 系统概述1.1操作系统概述所谓操作系统就是能有效地管理计算机系统中的各种硬件,软件资源、合理的组织计算机的工作流程, 从而为程序员,操作员和各类用户创造良好的工作环境的系统软件.。操作系统是管理电脑硬件和软件资源的,是计算机的内核和基石,作为配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它在计算机系统中占据了特别重要地位;而其它的系统软件,以及大量的应
6、用软件,都将依赖于操作系统的支持,取得它的服务。操作系统已成为现代计算机系统中必须配置的、最重要的系统软件。它是计算机系统中各种资源的管理者和各种活动的组织者、指挥者。从不同角度去观察操作系统,就会对其功能产生各种不同的认识.通常,从资源管理的角度看角度看,可以把操作系统的功能划分为处理机管理、存储管理、文件管理、设备管理、作业管理等几大部分。操作系统是用户与计算机硬件之间的接口,用户只有理解了操作系统,才能更方便、更灵活地使用计算机,掌握了操作系统提供给用户的各种系统服务(如命令操作、系统调用、视窗环境等),才能更好地利用系统资源,更好地在操作系统的基础上建立用户自己的应用系统、开发自己的应
7、用软件,而windows,linux和unix系统是最为常用的三种操作系统,了解并掌握一定概念与技术必不可少。掌握操作系统的基本概念、设计原理及实施技术,才可以具有分析操作系统和设计、实现、开发实际操作系统的能力。操作系统中所谓的存储管理,主要是指对内存储器的管理。随着现代技术的发展,内存容量越来越大,但它仍然是一个关键性的、紧缺的资源,尤其是在多道程序环境之中,多个作业需共享内存资源,内存紧张的问题依然突出。研究存储管理有两个目的:一是提高资源的利用率,尽量满足多个用户对内存的要求;二是能方便用户使用内存,使用户不必考虑作业具体放在内存哪块区域,是如何实现正确运行等复杂问题。所以,存储管理是
8、操作系统的重要组成部分,能否合理有效地利用内存在很大程度上影响着整个计算机的性 操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。 操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其
9、它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。所有的操作系统具有并发性、共享性、虚拟性和不确定性四个基本特征。操作系统的型态非常多样,不同机器安装的OS可从简单到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。许多操作系统制造者对OS的定义也不大一致,例如有些OS集成了图形用户界面,而有些OS仅使用文本接口,而将图形界面视为一种非必要的应用程序。操作系统理论在计算机科学中为历史悠久而又活跃的分支,而操作系统的设计与实现则是软件工业的基础与内核。1.1.1发展历史操作系统经历了手工阶段,单道批处理阶段,多道批处理阶段,分时阶段,实时阶
10、段。操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。 从最早的批次模式开始,分时机制也随之出现,在多处理器时代来临时,操作系统也随之添加多处理器协调功能,甚至是分布式系统的协调功能。其他方面的演变也类似于此。另一方面,在个人电脑上,个人电脑之操作系统因袭大型电脑的成长之路,在硬件越来越复杂、强大时,也逐步实践以往只有大型电脑才有的功能。总而言之,操作系统的历史就是一部解决电脑系统需求与问题的历史。第一代微型计算机并不像大型电脑或小型电脑,没有装设操作系统的需求或能力;它们只需要最
11、基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监视程序(Monitor)。1980年代,家用电脑开始普及。通常此时的电脑拥有8-bit处理器加上64KB内存、屏幕、键盘以及低音质喇叭。而80年代早期最著名的套装电脑为使用微处理器6510(6502芯片特别版)的Commodore C64。此电脑没有操作系统,而是以一8KB只读内存BIOS初始化彩色屏幕、键盘以及软驱和打印机。它可用8KB只读内存BASIC语言来直接操作BIOS,并依此撰写程序,大部分是游戏。此BASIC语言的解释器勉强可算是此电脑的操作系统,当然就没有内核或软硬件保护机制了。此电脑上的游戏大多跳过BIOS层次
12、,直接控制硬件。Apple I电脑,苹果电脑的第一代产品。延续80年代的竞争,1990年代出现了许多影响未来个人电脑市场深厚的操作系统。由于图形化使用者界面日趋繁复,操作系统的能力也越来越复杂与巨大,因此强韧且具有弹性的操作系统就成了迫切的需求。此年代是许多套装类的个人电脑操作系统互相竞争的时代。在1990年代初,微软与IBM的合作破裂,微软从OS/2(早期为命令行模式,后来成为一个很成功但是曲高和寡的图形化操作系统)项目中抽身,并且在1993年7月27日推出Windows 3.1,一个以OS/2为基础的图形化操作系统。直到这时,Windows系统依然是建立在MS-DOS的基础上,因此消费者莫
13、不期待微软在2000年所推出的Windows 2000上,因为它才算是第一个脱离MS-DOS基础的图形化操作系统。现代操作系统通常都有一个使用的绘图设备的图形化使用者界面,并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或效能导向的服务器通常不会有如此亲切的接口,而是以命令行接口(CLI)加上键盘为输入设备。以上两种接口其实都是所谓的壳,其功能为接受并处理使用者的指令(例如按下一按钮,或在命令提示列上键入指令)。1.1.2分类目前的操作系统种类繁多,很难用单一标准统一分类。根据应用领域来划分,可分为桌面操作系统、服务器操作系统、主机操作系统、嵌入式操作系统。根据所支持的用户数目,可分为单
14、用户(MSDOS、OS/2)、多用户系统(UNIX、MVS、Windows)。根据源码开放程度,可分为开源操作系统(Linux、Chrome OS)和不开源操作系统(Windows、Mac OS)。根据硬件结构,可分为网络操作系统(Netware、Windows NT、OS/2 warp)、分布式系统(Amoeba)、多媒体系统(Amiga)。根据操作系统的使用环境和对作业处理方式来考虑,可分为批处理系统(MVX、DOS/VSE)、分时系统(Linux、UNIX、XENIX、Mac OS)、实时系统(iEMX、VRTX、RTOS,RT WINDOWS)。根据操作系统的技术复杂程度,可分为简单操
15、作系统、智能操作系统(见智能软件)。所谓的简单操作系统,指的是计算机初期所配置的操作系统,如IBM公司的磁盘操作系统DOS/360和微型计算机的操作系统CP/M等。这类操作系统的功能主要是操作命令的执行,文件服务,支持高级程序设计语言编译程序和控制外部设备等。下面介绍一下操作系统的五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 (1) 批处理操作系统 批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,
16、系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。 批处理操作系统的特点是:多道和成批处理。(2) 分时操作系统 分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特
17、征。多路性指,伺时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。它支持位于不同终端的多个用户同时使用一台计算机,彼此独立互不干扰,用户感到好像一台计算机全为他所用。常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“台”响应需频繁交互的作业,如终端的要求;“后台”处理时间性要求不强的作业。(3) 实时操作系统 实时操作系统(Re
18、alTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。此外,实时操作系统应有较强的容错能力。(4) 网络操作系统 网络操作系统是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是相互通信及资源共享。在其支持下,网络中的各台计算机能互相通信和共享资
19、源。其主要特点是与网络的硬件相结合来完成网络的通信任务。(5) 分布式操作系统 它是为分布计算系统配置的操作系统。大量的计算机通过网络被连结在一起,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统(DistributedSystem)。它在资源管理,通信控制和操作系统的结构等方面都与其他操作系统有较大的区别。由于分布计算机系统的资源分布于系统的不同计算机上,操作系统对用户的资源需求不能像一般的操作系统那样等待有资源时直接分配的简单做法而是要在系统的各台计算机上搜索,找到所需资源后才可进行分配。对于有些资源,如具有多个副本的文件,还必须考虑一致性。所谓一致性是指若干个用户对同一个
20、文件所同时读出的数据是一致的。为了保证一致性,操作系统须控制文件的读、写、操作,使得多个用户可同时读一个文件,而任一时刻最多只能有一个用户在修改文件。分布操作系统的通信功能类似于网络操作系统。由于分布计算机系统不像网络分布得很广,同时分布操作系统还要支持并行处理,因此它提供的通信机制和网络操作系统提供的有所不同,它要求通信速度高。分布操作系统的结构也不同于其他操作系统,它分布于系统的各台计算机上,能并行地处理用户的各种需求,有较强的容错能力。1.2 设计语言本程序的设计语言主要是C语言,在此,我将对C语言进行简单的介绍。1.2.1 C语言的定义C语言是一种计算机程序设计语言。它既具有高级语言的
21、特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。91.2.2 C语言特点C语言语言简洁.紧凑.使用方便.灵活。运算符丰富。数据结构丰富,具有现代化语言的各种数据结构。具有现代化的控制语句(如if.else语句.while语句.do.while语 句.switch语句.for语句)。语法限制不太严格,程序设计自由度大。C语言能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
22、生成目标代码质量高,程序执行效率高。程序可移植性好(与汇编语言比)。 (1) C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。作为中级语言,C允许对位、字节和地址这些计算机功能中的基本成分进行操作。C语言程序非常容易移植。可移植性表示为某种计算机写的软件可以用到另一种机器上去。举例来说,如果为苹果机写的一个程序能够方便地改为可以在IBM PC 上运行的程序,则称为是可移植的。(2) C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
23、这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。结构化语言的显著特征是代码和数据的分离。这种语言能够把执行某个特殊任务的指令和数据从程序的其余部分分离出去、隐藏起来。获得隔离的一个方法是调用使用局部(临时)变量的子程序。通过使用局部变量,我们能够写出对程序其它部分没有副作用的子程序。这使得编写共享代码段的程序变得十分简单。如果开发了一些分离很好的函数,在引用时我们仅需要知道函数做什么,不必知道它如何做。切记:过度使用全局变量(可以被全部程序访问的变量)会由于意外的副作用而
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 报告