• 回答数

    3

  • 浏览数

    197

鵼鵼小舞
首页 > 学术期刊 > 操作系统发展研究小论文

3个回答 默认排序
  • 默认排序
  • 按时间排序

西由位门1

已采纳

计算机操作系统论文计算机操作系统的功能、发展及分类摘要:操作系统是统一管理计算机软、硬件资源,合理组织计算机的工作流程,协调系统部件之间,系统与用户之间、用户与用户之间的关系。本文对计算机操作系统的功能、发展和分类做了简单的分析和阐述。关键词:计算机操作系统 发展 分类1 操作系统的功能(1)管理计算机系统的硬件、软件、数据等各种资源,尽可能减少人工分配资源的工作以及人对机器的干预,发挥计算机的自动工作效率。(2)协调还要各种资源使用过程中的关系,使得计算机的各种资源使用调度合理,高速设备与低速设备运行相互配。(3)为用户提供使用计算机系统的环境,方便使用计算机系统的各部件或功能。操作系统通过自己的程序,将计算机系统的各种资源所提供的功能抽象,形成与之等价的操作系统的功能,并形象地表现出来,提供给用户方便地使用计算机。2 操作系统的发展2.1 手工操作阶段。在这个阶段的计算机,主要元器件是电子管,运算速度慢,没有任何软件,更没有操作系统。用户直接使用机器语言编写程序,上机时完全手工操作,首先将预先准备好的程序纸带装入输入机,然后启动输入机把程序和数据送入计算机,接着通过开关启动程序运行,计算完成后,打印机输出结果。用户必须是非常专业的技术人员才能实现对计算机的控制。2.2 批处理阶段。由于20世纪50年代中期,计算机的主要元器件由晶体管取代,运行速度有了很大的提高,这时软件也开始迅速发展,出现了早期的操作系统,这就是早期的对用户提交的程序进行管理的监控程序和批处理软件。2.3 多道程序系统阶段。随着中、小规模的集成电路在计算机系统中的广泛应用,CPU的运动速度大大提高,为了提高CPU的利用率,引入了多道程序设计技术,并出现了专门支持多道程序的硬件机构,这一时期,为了进一步提高CPU的利用效率,出现了多道批处理系统、分时系统等等,从而产生了更加强大的监管程序,并迅速发展成为计算机科学中的一个重要分支,就是操作系统。统称为传统操作系统。2.4 现代操作系统阶段。大规模、超大规模集成电路急速的迅速发展,出现了微处理器,使得计算机的体系结构更加优化,计算机的运行速度进一步提高,而体积却大大减少,面向个人的计算机和便携式计算机出现并普及。它的最大优点是结构清晰、功能全面、可以适应多种用途的需要并且操作使用方面。3 操作系统的分类从用途的角度可以分为专用和通用两类。专用操作系统是指用于控制和管理专项事物的操作系统,如现代手机中使用的操作系统,这类系统一般以嵌入硬件的方式出现,用于特定的途径。通用操作系统具有完善的功能,能够适应多种用途的需要。从单机和网络的角度看可以分为单机操作系统和网络操作系统。单机操作系统是针对单机计算机系统的环境设计的,它只有管理本机系统那个资源的功能。单用户操作系统是一种更为特殊的单机操作系统,它是针对一台机器,一个用户设计的操作系统,它的基本特征是一次只能支持一个用户作业的运行,系统的所有资源有该用户独占,该用户对整个计算机系统有绝对的控制权。从功能的角度看可分为批处理系统、分时系统、实时系统、网络系统、分布式系统。批处理系统、分时系统和实时系统的运行环境大多是计算机系统,而后两种操作系统的运行环境是多计算机系统。3.1 批处理系统。批处理的系统的基本特征是“批量”。即将要交给计算机处理的若干个作业组织成队列成批地交给计算机自动地按作业队列顺序逐个处理。它可分为单道批处理系统和多道批处理系统。单道批处理系统一次只能调入一个处理作业在在计算机在内运行,其他作业放在辅助存储器上,它类似于单用户操作系统。计算机在运行处理作业时,时间主要消耗有两个方面,一方面是消耗在CPU执行程序上,另一方面是消耗在输入输出上。由于输入输出设备的速度相对CPU的执行程序的速度慢很多,导致计算机在输入输出时CPU处于空闲。为了提高COU的使用效率,出现了多道批处理系统。它与单道批处理系统不同的是在计算机内存中可以有多个作业存在,调度程序根据事先确定的策略,选择一个作业将CPU资源分配给它运行处理,当处理的作业要进入输入输出操作时,就释放对CPU的占有,调度程序则从其他的内存中的待处理作业中选择一交给CPU执行,这样,就提高了CPU的使用效率。3.2 分时系统。分时是指两个或两个以上的事件按时间划分轮流使用计算机系统的某一资源。在一个系统中如果多个用户分时使用一个计算机, 那么这样的系统成为分时系统。分时的时间单位称为时间片,一个时间片一般是几十豪秒。在一个分时系统中,往往要连接几十个甚至上百个终端,每个用户在自己的终端上控制其作业的运行。通过操作系统的管理,将CPU轮流分配给各个用户使用,如果某个用户作业在分配给他另一个时间片在继续执行。此时的CPU被分配给另一个用户作业。3.3 实时系统。实时即时处理并快速给出处理结果。实时系统一般是采用时间驱动的设计方法,系统能够及时对随时发生的事件做出响应并及时处理。实时系统分为实时控制系统和实时处理系统。实时控制系统常用于工业控制以及飞行器、导弹发射等军事方面的自动控制。实时处理系统常用于预定飞机票、航班查询以及银行之间账务往来等系统。3.4 网络操作系统。随着计算机技术的迅速发展和网络技术的日益完善,不同地域的具有独立处理能力的多个计算机系统通过通信设施互联,实现资源共享,组成计算机网络,成为一种更开放的工作环境。而网络操作系统也应运而生。网络操作系统除具有单机操作系统的所有功能以外,还具有网络资源的管理功能,支持网络应用程序运行。3.5 分布式操作系统。分布式操作系统是为分布式计算机系统配置的操作系统。分布式计算机系统与计算机网络一样,多台计算机系统通过通信网络互联,实现资源共享,但不同的是系统中的各个计算机没有主次之分,各计算机系统具有相对的自治性,用户子啊访问共享资源时,不需要知道该共享资源位于哪台计算机上,如需要的话,系统中的多台计算机可以相互协作共同完成的一个任务,即可以将一个任务分割成若干个子任务分散到多台计算机上同时并行执行。一种商用操作系统往往包括了批处理系统个、分时系统、实时系统、网络系统、分布式系统等多方面的功能。不同的操作系统根据自身用途的定位和面向的用户,在各种功能的强弱上会有所区别。参考文献[1] 王育勤,等.计算机操作系统[M].北京交通大学出版社,2004.[2] 姚爱国,等.计算机导论[M].武汉大学出版社,2006.

303 评论

寒风夜雨119

操作系统课程设计报告一. 简介Linux系统是从UNIX发展来的。UNIX是世界上最流行的操作系统之一,它是一种实时操作系统,可以运行于大型和小型计算机上的多任务系统。但由于它比较庞大,而且价格昂贵,所以不适合PC机用户使用。而Linux正好弥补了这些缺点,同时还继承了UNIX大多数优点。由于它基于PC机上运行的操作系统,并且内核源代码是公开的,使得Linux成为时下最浒的操作系统。Linux是一种适用于PC机的计算机操作系统,它适合于多种平台,是目前唯一免费的非商品化操作系统。由于有结构清晰、功能强大等特点,它很快成为许多院校学生和科研机构的研究人员学习和研究的对象。在他们的热心努力下,Linux渐渐成为一个稳定可靠、功能完善的操作系统。Linux是由UNIX发展来的,它不仅继承了UNIX操作系统的特征,而且许多方面还超过了UNIX系统。另外它还有许多UNIX所不具有的优点和特征。它的源代码是开放的,可运行于许多硬件平台 ,支持多达32种文件,支持大量的外部设备等。 Linux有广泛的用处,它可用于: 个人UNIX工作站。 终端用户和应用服务器。 UNIX开发平台。 商业开发。 网络服务器。 Internet服务器。 终端服务器、传真服务器、Modem服务器。二、Linux系统下C编程原理1. Linux系统的主要优异性能 Linux系统是真正的爽用户。多任务、多平台操作系统。 Linux系统提供提供具有内置安全措施的分层的文件系统,支持多达32种文件系统。 Linux系统提供命令解释程序和编程语言。 Linux系统提供强大的管理功能。 Linux系统具有内枋的编程接口。 Linux系统具有图形用户接口。 Linux系统许多组成部分的源代码是开放的,任何人都能修改和重新发布它。 Linux系统不公可以运行许多自由发布的应用软件,还可以运行许多商业化的应用软件。2. Linux系统的主要构成 存储管理在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址,页表还对物理页的访问权限作了规定,从而达到存储保护的目的。 进程管理在Linux中,进程是资源分配的基本单位,所有资源都是以进程为对象进行分配的,在一个进程的生命周期中,会用到许多系统资源,Linux的设计可以准确描述进程的状态和资源的使用情况,以确保不出现某些进程过度占用系统资源而导致另一些进程无休止地等待的情况。 文件系统Linux最重要的特征之一就是支持多种不同的文件系统。在Linux中,一个分离的文件系统不是通过设备标志来访问,而是把它合到一个单一的目录树结构中去,通过目录访问。Linux把一个新的文件系统安装到系统单一目录树的某一目录下,则该目录下的所有内容被新安装的文件系统所覆盖,当文件系统被卸下后,安装目录下的文件将会被重新恢复。 进程间通信Linux提供多种进程间的通信机制,管道和信号是其中最基本两种,其他还有消息队列、信号灯及共享内存。为支持不同机器之间的进程通信,Linux还引入了机制。3. gcc编译器的使用在Linux开发环境下,gcc是进行程序开发不可或缺的编译工具,是GUN C Compile的缩写,它是在GUN系统下的标准C编译器。gcc作为Linux平台下的标准C编译器,功能强大。人们可以使用gcc编译器编译单一文件的最基本的命令,正是有了gcc编译器人们才能使用它编译C源程序。gcc的完整格式是gcc [options] [filenames] ,编译选项指定的操作对给定的文件进行编译处理。在后面可以有多个编译选项,同时进行多个编译操作。三、总体设计下面介绍Linux系统中的文件以及与文件有关的操作。在C编程环境中,与文件有关的操作主要是I/O操作,即基于文件描述符的操作。此外,还将介绍其他一些与文件有关的操作。在Linux系统中,有关的I/O操作可以分为两类。它们是基于文件描述符的I/O操作和基于流I/O的操作。它们有各自不同的特点和优势。基于文件描述符的I/O操作是通过文件描述符对一个文件执行I/O操作的。文件是一个十分重要的概念。通常保存在外存中的数据都是以文件的形式保存的。文件描述符则是用于描述被打开文件的索引值。通常情况下,都是通过文件描述符打开一个文件执行I/O操作。文件和文件系统是重要而复杂的概念。文件是有名字的一组相关信息的集合。在Linux系统中,文件的准确定义是不包含有任何其他结构的字符流。通俗的说,就是文件中的字符与字符之间除了同属于一个文件之外,不存在任何其他的关系。文件中字符的关系,是由使用文件的应用程序来建立各解释的。每一个文件都具有特定的属性。Linux系统的文件属性比较复杂,主要包括文件类型和文件权限两个方面。1.文件类型Linux下的文件可以分为5种不同的类型 。它们是普通文件、目录文件、链接文件、设备文件和管道文件。(1)、普通文件普通文件也称正规文件,是最常见的一类文件,也是最常使用到的一类文件。其特点是不包含有文件系统的结构信息。通常所接触到的文件,包括图形文件、数据文件、文档文件、等等都属于普通文件。这种类型的文件按其内部结构又可细分为两个文件类型:文本文件和二进制文件。(2)、目录文件目录文件是用于存放文件名及其相关信息的文件。是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件或普通文件。(3)、链接文件链接文件是一种特殊的文件。它实际上是指向一个真实存在的文件的链接。根据链接对象的不同,链接文件又可以细分为硬链接文件和符号链接文件。(4)、设备文件设备文件是Linux中最特殊的文件。正是由于它的存在,使得Linux系统可以十分方便地访问外部设备。Linux系统为外部设备提供一种标准接口,将外部设备视为一种特殊的文件。用户可以像访问普通文件一样访问外部设备。这就使Linux系统可以很方便的适应不断发展的外部设备。(5)、管道文件管道文件也是一种很特殊的文件。主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。2.进程基本介绍在Linux环境下,进程是一个十分重要的概念。按现在通行的认识,进程是具有一定功能的程序关于一个数据集合的一次执行过程。对一个特定程序来说,它的每一个正在运行中的副本都有自己的进程。就是说,如果用户在一个进程的一次运行尚未结束时再次启动该程序,则将有两个进程在运行这一程序。多个进程可以同时运行,各个进程之间相互隔开,除非不同进程之间需要进行数据交换,否则互不影响。一个进程的存在过程,可以分为进程的产生、进程的执行和进程的结束3个步骤。当一个程序被启动时,就产生一个新的进程。进程在系统内核的管理下得到执行。当某个进程执行完毕后,该进程就消亡了。Linux系统支持多个进程同时进行。所谓同时,其实是Linux系统在各个进程之间调度,轮流是每个进程占用CPU 的一个时间片。由于每个时间片和宏观的时间相比很小,而每个进程可以频繁的得到时间片,于是就使用户看到了多个进程“同时”运行的情况。在每个进程属性的安全信息里都设有一个优先级,系统根据它来决定各个进程从CPU获得的时间片的大小。用户在执行一个程序以完成一定的功能时,为了提高程序执行的效率,可以把一个程序设计成由若干个部分组成,由若干个部分组成,由若干个进程同时执行。这就是所谓并发程序的概念。此外,不同进程之间可能会需要相互合作,即进程通信和进程同步。当然,多个进程并不需要同上时间产生并都维持到整个程序运行结束。用户可以根据需要动态地产生结束进程。也就是说,一个进程可以派生另一个进程,这就是所谓父进程和了进程的关系。每个进程都有各自的属性,其中包括了进程的详细信息。3.库的使用代码的重用性是当代计算机编程语言中一个重要的概念,可以把编译好的目标文件模块统一放到一个库中,使得程序员可以在不同的程序中共享这些代码。在操作系统中,最终链接生成可执行文件时,如果链接的是一般的文件,则整个文件的内容都会被装入可执行文件中;如果链接的是库,则只是从库存中找到程序中用到的变量和数,将它们装入可执行文件中,那些放在库中但是没有被程序所引用的变量和数则不会被链接到最终的可执行文件。所以,使用库可以节省在大量的开发时间,在写较大的程序时,最好把程序模块放在库中。对于任何典型的操作系统命令都由简单命令、参数、输入文件名、输出文件名、I\O重定向文件名等组成。(关于以上术语的数据字典见下表)以命令 gcc –ggdb3 –o moon sun.c 为例:数据字典一:术语 说明简单命令 一个Linux长命令可以有多个像gcc,more等这样的纯命令组成。其中每个纯命令如gcc,more就是这里说的简单命令参数 范例命令中的-g,-o就是参数,它们是命令的扩展,可以根据用户的不用需要提供相应的不同服务输入文件名 范例命令中的sun.c就是输入文件名,它相当于一个源文件,在文件的连接和复制的命令中也常常用到这样的文件输出文件名 范例命令中的moon就是输出文件名,它相当与一个目标文件,在文件的连接和复制的命令中也常常用到这样的文件I\O重定向文件名 在Linux系统中所有的设备都被看作文件进行管理,I\O文件(设备)作为输出的目标时是可以根据用户的需要进行调整的,I\O重定向文件名就是用来指定I\O文件(设备)名的模块说明:模块名称 功能说明总控模块main() 该模块调用其他模块实现命令解释功能,保证无论命令执行成功与否都在命令执行后返回命令提示符命令初始化模块init_command() 使用singnal函数对进程进行处理,达到初始化命令的效果命令行输入get_comln() 该模块接受用户键盘输入的所有字符并存入相应的字符数组,供其他模块使用分析简单命令个数get_simcom() 该模块对用户键盘输入的长命令进行分析并最终将长命令分割成数据字典一中的元素,存入相应的结构数组,供执行模块执行执行指令execute() 对各种的数据字典一中的元素进行最后的处理,完成区分前后台程序,封锁、开启键盘等功能分析简单命令get_simarg() 对简单命令进行分割,为执行模块提供最直接的信息得到下一个标志符get_word() 该过程用来记录输入文件名、输出文件名、I\O重定向并存入相应的结构数组查看字符串是否匹配check() 用来区分长命令中各个数据字典一中的元素的标准,为分割长命令提供参考信息执行简单命令run_com() 该模块与操作系统底层联系,使用系统调用完成各个简单命令的最终执行程序初始化init_once() 对程序中用到的所有变量和数据结构进行初始化模块图:四.详细设计/*执行输入命令的文件execute.c*/execute(int j){int m,fd,fds[2]; /*fd 文件描述符号*/if(infile[0]!=’0’)/*如果命令指定了输入文件则打开输入文件*/cmdlin[0].infd=open(infile,O_RDONLY);if(outfile[0]!=’\0’)/*如果命令指定了输出文件则打开相应的输出文件*/if(append= =FLASE)cmdlin[j-1].outfd=open(outfile,O_WRONLYIO_CREATIO_TRUNC,0666);/*本句意思:一个已只读方式打开某指定文件的函数,如果该文件不存在*//*则创建此文件,如果该文件存在则将文件长度截至0*/elsecmdlin[j-1].outfd=open(outfile,O_WRONLYIO_CREATIO_APPEND,0666);/*对前台进程和后台进程进行不同的处理*/if(background)/*当一个进程结束时系统将产生一个SIGCHIOD信号通知其父进程*/signal(SIGCHLD,SIG_IGN);elsesignal(SIGCHLD,SIG_DFL);/*循环执行每个简单命令*/for(m=0;minfd= =0&&background= =TRUE)/* O_RDONLY 在设备文件中有一个极其特殊的文件/dev/null 所有放入这一设备*/*的数据都将不在存在,可以将它看成是删除操作*/ptr->infd=open(“/dev/null, O_RDONLY);/*对输入进行重定向*/if (ptr->infd!=0){close(0);/*dup是复制文件描述符,也就是说新得到的文件描述符和原来的文件描述符将*//*共同指向一个打开的文件*/dup(ptr->infd);}/dev/null/*对输入进行重定向*/if(ptr->outfd!=1){close(1);dup(ptr->outfd);}/*前台进程可以接受键盘输入的中断和退出信号*/if(background= =FALSE){/*信号都有自己特定的名字,都以SIG开头*/singnal(SIGINT,SIG_DFL);/*SIG_DFL表示调用系统定义的缺省处理*/singnal(SIGQUIT,SIG_DFL);}/*关闭其他文件描述符,使得除了标准输入标准输出和错误输出两处设置的管道和I/O重定向*/for(k=3; k>OPEN_MAX; ++k)close(k);/*下面代码执行一条简单命令*//*进程控制execvp函数可装入并运行称为子进程的其他的可执行文件称为父进程的*//*execvp函数调用成功时,子进程便覆盖父进程*/execvp(ptr->av[0],ptr->av);exit(1);}}五、测试即使是最优秀的程序员也不可避免在编程时出现一些这样那样的错误。所有的程序在写好以后,都要经过测试,在调试过程中发现并改正程序中的错误。Gdb就是Linux下的一个功能强大的C程序的调试器,它能在程序运行时观察程序的内部结构和内存的使用情况。我们的测试就是通过gdb进行的。测试计划:监视程序中变量的变化设置断点,使程序在指定的代码行上暂停执行,便于观察。单步执行代码;分析崩溃程序产生册core文件。六、自我评价:通过本次课程设计,我更加深刻的理解了大型软件(比如操作系统)结构的复杂和精巧。以及自己在软件编程中的巨大差距。在本次课程实践中我的收获有三点:第一, 明确了大型程序在构架和整体布局上是何其严格和规整。第二, 第二明确了多个模块在互相调用中程序的复杂程度以及算法设计的失误在实际编码中带来的巨大麻烦。第三, 在本次编写程序的过程中深切的感受到了“团队精神”在软件开发中的重要作用,以及协调工作的重要性和高效性。总之, 在这次课程设计中,我觉得自己得到了很大的进步,非常感谢老师为我们提供的这次机会。你看看吧 希望你能用的上!!

85 评论

满堂红李娜

一. 简介 二、Linux系统下C编程原理 1. Linux系统的 2. Linux系统的主要构成 主要优异性能 3. gcc编译器的使用 三、总体设计 (1)、普通文件 (2)、目录文件 (3)、链接文件 (4)、设备文件 (5)、管道文件 2.进程基本介绍 3.库的使用

189 评论

相关问答

  • 知网论文系统操作流程学生

    ①登录中国知网,点击“中国知网免费入口”②登录知网,系统会自动登录,可以自己下载各种文章,数量和下载量没有限制③在知网搜索框中,输入跟需要的论文有关的关键字,就

    爱笑的眼乌珠 3人参与回答 2023-12-10
  • 网络操作系统的研究论文

    在全球信息化的时代里,计算机 网络技术 不可或缺的成为其发展的主力军,为人类生活水平的提高、科技的发展以及社会信息化的发展都产生了深远的影响。下面是我为大家

    流浪的好吃狗 3人参与回答 2023-12-06
  • 毕业论文管理系统操作手册

    广西大学毕业设计论文管理系统网址无法打开可能是网络卡顿无法加载进去,可以尝试重新刷新,也有可能是系统目前太多人进入,导致网页卡顿,可以等待一段时间。

    百度地图运营 6人参与回答 2023-12-09
  • 操作系统毕业论文

    计算机毕业论文 时间稍纵即逝,充满意义的大学生活即将结束,毕业生要通过最后的毕业论文,毕业论文是一种有准备、有计划、比较正规的、比较重要的检验大学学习成果的形式

    dragontattoo 3人参与回答 2023-12-06
  • 操作系统技术论文题目

    摘要:本文介绍了BLP、DTE和RBAC三种安全策略访问模型,并结合这三种安全策略模型,形成一个适应各类安全产品的实用操作系统。此设计方案遵循GB17859-1

    圓滿如意妹 2人参与回答 2023-12-12