第1章操作系统笔记
- 格式:doc
- 大小:298.50 KB
- 文档页数:24
第一部分课程概述一、使用教材《操作系统》,全国高等教育自学考试指导委员会组编,谭耀铭主编,中国人民大学出版社2007年版。
二、课程简介随着计算机技术的迅速发展,计算机的硬、软件资源越来越丰富,用户也要求能更方便、更灵活地使用计算机系统。
为了增强计算机系统的处理能力以及方便用户有效地使用计算机系统,操作系统已成为现代计算机系统中不可缺少的重要组成部分。
因此,操作系统课程也就成为高等学校计算机专业的重要专业基础课程。
本课程从操作系统实现资源管理的观点出发,阐述如何对计算机系统中的硬、软件资源进行管理,使计算机系统协调一致地、有效地为用户服务,充分发挥资源的使用效率,提高计算机系统的可靠性和服务质量。
三、课程学习与考试要求在自学过程中、考生应掌握操作系统对各种资源的管理方法和操作系统各部分之间的联系,这样才能真正掌握操作系统的工作原理以及了解操作系统在整个计算机系统中的作用。
为了能确切地学好本课程,要求考生具备:高级语言程序设计、数据结构、计算机系统结构等课程的知识。
在学任何一门课程时,要能做到真正学有所得,就必须:认真阅读教材,边读边做笔记;及时做习题,巩固所学内容;做好阶段总结,正确理解课程内容。
但每一门课程都有自身的特殊性,对于具体课程来说,应按照课程的特点具体探讨如何进行学习。
要学好操作系统课程,关键在于弄清操作系统要做什么,怎么去做和为什么要这样去做。
所以,如能注意如下几点,将会对操作系统课程的自学起到促进作用。
(1)在开始阅读某一章教材之前,先翻阅大纲中有关这一章的考核知识点、考核要求、自学要求、重点,以便在阅读教材时做到心中有数,有的放矢。
(2)阅读教材时要逐段细读,逐句推敲,集中精力,吃透每一个知识点,对基本概念必须深刻理解,对基本原理必须彻底弄清,对设计技巧要能灵活运用。
(3)根据操作系统在计算机系统中的应用,你在学习操作系统课程时应围绕如下四个中心问题:①操作系统怎样管理计算机系统中的各种资源,以及保证资源的使用效率。
------------- ——第一章 --------- ——-------操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理好这些设备。
操作系统的目标与应用环境有关。
操作系统的目标:1. 方便性 2. 有效性:提高系统资源的利用率,系统的吞吐量 3. 可扩充性4. 开放性:系统能遵循世界标准规范。
操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地堆各类作业进行调度,以及方便用户使用的程序的集合。
OS作为用户与计算机硬件系统之间接口的含义是:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
或者说,用户在OS帮助下能够方便、快捷、可靠地操纵计算机硬件和运行自己的程序。
OS是铺设在计算机硬件上的多层软件的集合,它们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型。
用户通过命令方式,系统调用方式,图标-窗口方式来实现与操作系统的通信。
处理机管理是用于分配和控制处理机。
主要功能:创建和撤销进程,对诸进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程。
进程控制。
进程同步:主要任务是为多个进程(含线程)的运行进行协调,进程互斥式,进程同步式。
进程通信:任务是实现相互合作进程之间的信息交换。
存储器管理主要负责内存的分配和回收。
主要任务:为多道程序的运行提高良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内容。
功能:内存分配:主要任务是:(1) 为每道程序分配内存空间,使它们“各得其所”。
(2) 提高存储器的利用率,尽量减少不可用的内存空间( 碎片)。
(3) 允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。
(静态分配方式:固定内存大小位置,动态分配方式) 内存保护:主要任务是:①确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰。
②绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行。
linux操作系统课程学习笔记,我的Linux学习笔记·Linux操作系统基础今天的笔记主要是关于Linux操作系统根底的相关学问。
那就从我⾯前的电脑开端讲起。
计算机和操作系统计算机主要包括五个部分:运算器,控制器,存储器,输⼊设备和输出设备。
通常,运算器,控制器再加上其他⼀些部件如寄存器等构成了我们通常所说的CPU(central processing unit),存储器则主要是内存。
运算器,控制器和存储器可以实现数据的处理.但是数据从何⽽来,运算之后的结果去往哪⾥?这就需要输⼊设备和输出设备(I/O设备)。
我们通常⽤到的输⼊设备包括键盘⿏标等,输出设备为屏幕,打印机等。
值得⼀提的是,计算机中有个叫做硬盘的东西,它并不是存储器,⽽是⼀个I/O设备。
在将数据读取到内存时,它是⼀个输⼊设备;⽽将结果保存到磁盘时,它就变成了⼀个输出设备。
这么多设备整合在⼀起,就成了⼀台计算机。
它可以接收我们的指令(键盘⿏标),通过运算(CPU),把结果展⽰给我们(屏幕,硬盘等)。
但是这么多硬件是如何协调作⽤,共同完成⼀个任务⽽不会我⾏我素地乱来呢?我们需要⼀个东西,它可以控制硬件有序地⼯作,各⾃执⾏⾃⼰的任务,这个东西就是操作系统(Operating System)。
操作系统是⼀个特殊的软件,它的任务就是硬件管理—控制CPU的运算,控制内存的分配,控制计算机的⼏乎⼀切。
假如⼀台电脑没有操作系统,它可能只是⼀个艺术品,或者⼀堆废铁。
⼀个完整的操作系统包括内核和⼀些辅助软件。
内核的主要任务就是进⾏硬件管理,它是⼀个操作系统最基础最底层的东西。
内核若想很好地控制硬件并使其发挥相应的功能,需要和硬件相识相知相爱,他俩可以成为完美的⼀对,全都仰仗于驱动的帮忙。
驱动是硬件的灵魂,它向操作系统提供了访问和使⽤硬件的接⼝,以便在某项任务中最⾼效地调⽤硬件。
什么是LinuxLinux就是⼀个操作系统,它可以管理整个计算机硬件,并且可以接收我们的指令,来指挥硬件完成相应的任务,并把结果反馈给我们。
操作系统笔记(总17页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March操作系统的定义:操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充操作系统的目标和作用在计算机系统上配置操作系统主要目标与计算机系统的规模和应用环境有关。
操作系统的目标方便性硬件只能识别机器代码(0、1)OS提供命令,方便用户使用计算机有效性使CPU、I/O保持忙碌,充分利用使内存、外存数据存放有序,节省空间合理组织工作流程,改善资源利用率,提高吞吐量可扩充性计算机技术的发展:硬件/体系结构/网络/InternetOS应采用层次化结构,便于扩充和修改功能层次和模块开放性支持网络环境,兼容遵循OSI标准开发的硬件和软件操作系统的作用1. 用户与计算机硬件系统之间的接口命令方式用户通过键盘输入联机命令(语言)系统调用方式用户程序通过系统调用,操纵计算机图形、窗口方式用户通过窗口、图标等图形界面操纵计算机2.计算机系统资源管理者4大类资源:处理机;存储器;I/O设备;信息(文件:程序、数据)3.对计算机资源的抽象(扩充机器)裸机:只有硬件的计算机,难以使用虚机器:在裸机增加软件(OS等),功能增强,使用方便推动操作系统发展的主要动力1.不断提高计算机资源利用率早期计算机很昂贵,为提高资源利用率,产生了批处理系统2.方便用户为改善用户上机、调试程序时的条件,产生了分时系统3.器件的不断更新换代OS随之更新换代,如:8位->16位->32位4.计算机体系结构的不断发展单处理机OS->多处理机OS->网络操作系统操作系统的发展过程无操作系统时代OS尚未出现,人们如何使用计算机人工操作方式人工操作方式的缺点用户独占全机CPU等待人工操作结果:资源利用率低下脱机输入输出系统低速设备纸带机/卡片机高速设备磁带/磁盘I/O速度提高,缓解了I/O设备与CPU的速度矛盾主机:用于计算的主计算机外围机:也是计算机,处理输入输出,使之不占用主机CPU时间外围机控制输入/输出输入:低速设备->高速设备输出:高速设备->低速设备输入和输出使用独立于主机的外围机,不占用主机的CPU时间,是脱机过程,因此叫做脱机输入/输出方式单道批处理系统计算机发展的早期,没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担,任何操作出错都要重做作业,CPU的利用率甚低。
第一章引论第一节什么是操作系统(识记)1.计算机系统定义:是按用户的要求接收和存储信息,自动进行数据处理并输出结果信心的系统2.计算机系统构成:硬件系统和软件系统3.硬件系统组成:中央处理器(CPU),主存储器,辅助存储器,各种输入/输出设备二.操作系统1.操作系统定义:是一种管理计算机系统资源,控制程序执行,改善人机界面和为其它软件提供支持的系统软件操作系统的两个主要设计原则2.能使得计算机系统使用方便.3.能使得计算机高效的工作第二节操作系统的形成1.控制台:早期,程序的装入,调试以及控制程序的运行都是程序员通过控制台上的开关来实现2.原始汇编系统:用汇编语言编写的程序称为源程序,它不能直接在机器上执行,只有通过汇编语言解释程序把源程序转换成用机器指令序列表示的目标程序后才能在计算机上运行.3.设备驱动程序:是最原始的操作系统.是一种控制设备工作的程序4.管理程序:是初级的操作系统.是一种能对计算机硬件和软件进行管理和调度的程序5.操作系统:采用了SPOOLING的处理形式SPOOLING又称”斯普林”.从本质上说,SPOOLING是把磁盘作为一个巨大的缓冲器.在一个计算问题开始之前,把计算所需要的程序和数据从读卡机或其它输入设备上预先输入到磁盘上读取程序和数据,同样,对于计算的结果也是先在磁盘上缓冲存放,待计算完成后,再从打印机上打印出该计算问题的所有计算结果第三节操作系统的基本类型按照操作系统提供的服务进行分类,可分为批处理操作系统,分时操作系统,实时操作系统,网络操作系统,分布式操作系统,多机操作系统和嵌入式操作系统等.其中批处理操作系统,分时操作系统,实时操作系统是基本的操作系统一批处理操作系统1.定义:用户为作业准备好程序和数据后,再写一份控制作业执行的说明书.然后把作业说明书连同相应的程序和数据一起交给操作员.操作员将收到一批作业的有关信息输入到计算机系统中等待处理,由操作系统选择作业,并按其操作说明书的要求自动控制作业的执行.采用这种批量化处理作业的操作系统称为批处理操作系统.2.分类●批处理单道系统:一次只选择一个作业装入计算机系统的主存储器运行.批处理多道系统:允许多个作业同时装入主存储器,使中央处理器轮流的执行各个作业,各个作业可以同时使用各自所需要的外围设备3.批处理多道系统优点多道作业并行减少了处理器的空闲时间,既提高了处理器的利用率作业调度可以按一定的组合选择装入主存储器的作业,只要搭配合理作业执行过程中,不再访问低速的设备,而是直接从高速的磁盘上存取信息,从而缩短了作业执行时间,使单位时间内的处理能力得到提高作业成批输入,自动选择和控制i作业执行,减少了人工操作时间和作业交接时间,有利于提高系统的吞吐率●分时操作系统1.定义:能使用户通过与计算机相连的终端来使用计算机系统,允许多个用户同时与计算机系统进行①系列的交互,并使得每个用户感到好像自己独占一台支持自己请求服务的计算机系统.具有这种功能的操作系统称为分时操作系统,简称分时系统2.分时技术:既把CPU时间划分成许多时间片,每个终端用户每次可以使用一个由时间片规定的CPU时间.这样,多个用户就轮流的使用CPU时间,如果某个用户在规定的一个时间片内还没有完成它的全部工作,这时也要把CPU让给其他用户,等待下一轮再使用一个时间片的时间,循环轮转,直至结束.3.分时系统主要特点:同时性.允许多个终端用户同时使用一个计算机系统独立性:用户在各自的终端上请求系统服务,彼此独立,互不干扰及时性:对用户的请求能在较短的时间内给出应答交互性:采用人机对话的方式工作实时操作系统定义:能使计算机系统接受到外部信息后及时处理,并且在严格的规定时间内处理结束,再给出反馈信号的操作系统称为实时操作系统,简称为实时系统1.设计实时系统注意点要及时响应,快速处理实时系统要求高可靠性和安全性,不强求系统资源的利用率第四节操作系统的发展1.单用户微机操作系统:是指早期的微型计算机上运行的操作系统每次只允许一个用户使用计算机2.网络操作系统:为计算机网络配置的操作系统称为网络操作系统.网络操作系统把计算机网络中各台计算机系统有机的联合起来,为用户提供一种统一,经济而有效的使用各台计算机系统的方法,可使各台计算机系统相互间传送数据,实现各台计算机系统之间的通信以及网络中各种资源的共享3.分布式操作系统:为分布式计算机系统配置的操作系统称为分布式操作系统.分布式操作系统能使系统中若干计算机相互协作完成一个共同的任务,或者说把一个计算问题可以分成若干个子计算,每个子计算可以在计算机系统中的各计算机上并行执行4.多机操作系统:为多处理器系统配置的操作系统称为多机操作系统5.嵌入式操作系统:是指运行在嵌入式系统中对各种部件,装置等资源进行统一协调,处理和控制的系统软件(主要特点是微型化和实时性)第五节Unix操作系统简介1.诞生Unix的第一个版本version 1 是AT&TTA公司下属的Bell实验室里两位程序员Ken Thompson和Dennis Ritchie凭兴趣和爱好1969年在一台闲置的PDP-7上开发的.2.特点Unix是一个交互式的分时操作系统Unix系统的源代码公开第六节操作系统的功能1.操作系统的功能:(从资源管理的角度来分)]处理器管理:对CPU进行管理存储管理:对主存储器进行管理文件管理:通过对磁盘进行管理,实现对软件资源进行管理设备管理:对各类输入.输出设备进行管理2.操作系统为用户提供的使用接口程序员接口:通过”系统调用使用操作系统功能(开发者)操作员接口:通过操作控制命令提出控制要求.第二章计算机系统结构简介第一节计算机系统结构一层次结构1.计算机系统构成:硬件系统和软件系统硬件系统构成:中央处理器(cpu),存储器,输入,输出控制系统和各种输入/输出设备软件系统组成:系统软件,支撑软件,应用软件2.层次结构:最内层是硬件系统,最外层是使用计算机系统的人,人与硬件系统之间是软件系统.软件系统又依次为系统软件-支撑软件应用软件二.系统工作框架1.引导程序:进行系统初始化,把操作系统中的核心程序装入主存储器,并让操作系统的核心程序占用处理器执行.2.操作系统核心程序:完成自身的初始工作后开始等待用户从键盘或鼠标输入命令,每接受一条命令就对该命令进行处理第二节硬件环境一. CPU与外设的并行工作在现代的通用计算机系统中,为提高计算机的工作效率,均允许中央处理器和外设并行工作.当执行到一条启动外设的指令时,就按指令中给定的参数启动指定的设备,并把控制移交给输入/输出控制系统,由输入/输出控制系统控制外围设备与主存储器之间的信息传送,外围设备独立工作,不再需要中央处理器干预,于是中央处理器可继续执行其它程序二. 存储体系1.寄存器:是处理器的组成部分,用来存放处理器的工作信息.存取速度快,但造价高.●通用寄存器:存放参加运算的操作数.指令的运算结构等●指令寄存器:存放当前从主存储器读出的指令●控制寄存器:存放控制信息以保证程序的正确执行和系统的安全程序状态字寄存器:存放当前程序执行时的状态.中断字寄存器:记录出现的事件基址寄存器:设定程序执行时可访问的主存空间的开始地址限长寄存器:设定程序执行时可访问的主存空间的长度2.主存储器:以字节为单位进行编址.主存储器容量较大,能被处理器直接访问,但断电会丢失数据.3.高速缓冲存储器:也称cache,位于处理器和主存储器之间起到缩短存储时间和缓冲存储的作用4.辅助存储器:最常用的辅助存储器有磁盘和磁带.优点是容量大且能永久保存信息,但不能被中央处理器直接访问.三. 保护措施一般是硬件提供保护手段和保护装置,操作系统利用这些设施配合硬件实现保护1.指令分类●特权指令:不允许用户程序中直接执行的指令.如:启动i/o,设置时钟,设置控制器等●非特权指令:允许用户程序中直接执行的指令2.cpu工作状态●管态:可执行包括特权指令在内的一切机器指令.一般是操作系统程序占用中央处理器时,cpu处于管态●目态:不允许执行特权指令.一般是用户程序占用中央处理器时,CPU处于目态.3.存储保护:不同的存储管理方式有不同的实现保护方法,如可变分区存储管理方式中:基址寄存器的值<=访问地址<=基址寄存器的值+限长寄存器的值第三节操作系统结构一设计目标●正确性:能充分估计和把握各种不确定的情况,使操作系统不仅能保证正确性,且易于验证其正确性●高效性:减少操作系统的开销从而提高计算机系统的效率,尤其对常驻主存储器的核心程序部分更要精心设计●维护性:当系统发现错误或为提高效率而对算法进行调整等工作时,应使操作系统容易维护●移植性:移植性是指能否方便的把操作系统从一个硬件环境移植到另一个新的硬件环境之中.在结构设计时,应尽量减少与硬件直接有关的程序量,且将其独立封装.二. 操作系统的层级结构1.设计方法:无序模块法,内核扩充法,层次结构法,管理设计法等2.层次结构法:最大特点是把整体问题局部化.一个大型复杂的操作系统被分解成若干单向依赖的层次,由各层的正确性来保证整个操作系统的正确性.采用层次结构不仅结构清晰,而且便于调试,有利于功能的增加,删减和修改3.操作系统层次结构:处理器管理要对中断事件进行处理,要为程序合理的分配中央处理器的工作事件,它是操作系统的核心程序,是与硬件直接有关的部分,因而把它放在最内层.以后的各层依次存放的是存储管理,设备管理和文件管理.即:硬件-处理器管理-存储管理-设备管理-文件管理主要优点:有利于系统的设计和调试主要困难:层次的划分和安排三 .Unix系统的结构1.Unix层次结构:内核层和外壳层●内核层:是unix操作系统的核心.它具有存储管理,文件管理,设备管理,进程管理以及为外壳层提供服务的系统调用等功能●外壳层:为用户提供各种操作命令和程序设计环境2.外壳层组成:由shell解释程序,支持程序设计的各种语言,编译程序,解释程序,使用程序和系统库等组成.其中其它模块归shell解释程序调用,shell解释程序用来接收用户输入的命令并进行执行.3.内核层组成:内核程序用C语言和汇编语言编写.按编译方式可分为:汇编语言文件,C语言文件和C语言全局变量文件.4.程序运行环境:用户态和核心态.外壳层的程序在用户态运行,内核层的程序在核心态运行.用户态运行的程序称为用户程序,核心态运行的程序称为系统程序(外壳层的用户程序在执行时可通过系统调用来请求内核层的支持)第四节操作系统与用户的接口一. 操作控制命令●联机用户:操作控制命令●批处理系统用户:作业控制语言,用来编制作业控制说明书二. 系统调用1.系统调用定义:既系统功能调用程序,是指操作系统编制的许多不同功能的供程序执行中调用的子程序.2.执行模式:系统调用在管态下运行,用户程序在目态下运行,用户程序可以通过”访管指令:实现用户程序与系统调用程序之间的转换.(访管指令本身是一条在目态下执行的指令)3.系统调用分类:文件操作类,资源申请类,控制类,信息维护类.第五节 Unix的用户接口一. shell命令1.注册和注销●注册:用户可通过login输入用户名和通过password输入口令,系统注册成功后在shell解释程序控制下,出现提示符(采用C shell 提示符:%)以交互方式为用户服务.●注销:输入logout或同时按下crtl +D键2.常见的shell命令Mkdir:请求系统建立一个新的文件目录Rmdir:请求系统删除一个空目录Cd:切换当前的工作目录Pwd:显示用户的当前目录Ls:显示用户一个目录中的文件名.Cp:复制一个文件Mv:对文件重新命名Rm:删除一个指定的文件Cat:显示用ascll码编写的文本文件More:分屏显示文件内容,按空格键显示下一屏3.后台执行的shll命令方法:在请求后台执行的命令末尾输入字符”&”.特点:Unix把一个程序转入后台执行后,不等该程序执行完就显示可以输入新命令的提示符.因此,允许多个任务在后台执行,也允许后台任务和前台任务同时执行4.shell文件●定义:用shell命令编辑成的文件称为shell文件●执行shell文件:csh shell文件名●把shell文件改成可执行文件:chmod+ x shell 文件名-以后就可直接在提示符后面直接输入文件名就可执行二 Unix系统调用1.常用的系统调用●有关文件操作的系统调用Create:建立文件 open:打开文件Read:读文件 write:写文件Close:关闭文件 link:链接一个文件Unlink:解除文件的链接 lseek:设定文件的读写位置Chmod:改变对文件的访问权限 rename:更改文件名●有关控制类的系统调用Fork:创建一个子进程 wait:父进程等待子进程终止Exit:终止子进程的执行 exec:启动执行一个指定文件●有关信号与时间的系统调用:Unix把出现的异常情况或异步事件以传送信号的方式进行Kill:把信号传送给一个或几个相关的进程Sigaction:声明准备接收信号的类型Sigreturn:从信号返回,继续执行被信号中断的操作Stime:设置日历时间 time:获取日历时间Times:获取执行所花费的时间2.trap指令:是unix系统中的访管指令3.系统调用程序入口表●作用:实现对系统功能调用程序的统一管理和调度●构成:系统调用编号,系统调用所带参数个数,系统调用处理程序入口地址,系统调用名称.4.系统调用实现过程●步骤一:当处理器执行到trap指令时便形成一个中断事件.此时将暂停当前用户程序的执行,而由unix系统内核的”trap处理子程序来处理这个中断事件●步骤二:trap处理子程序根据trap指令中的系统调用编号查系统调用程序入口表,得到该系统调用所带的参数个数和相应的处理程序的入口地址.然后,把参数传送到内核的系统工作区,再按处理程序入口地址转向该系统调用的处理程序执行●步骤三:当系统调用程序完成处理后,仍需返回到trap处理子程序,由trap处理子程序对被暂停的用户程序进行状态恢复等后续处理,再返回用户程序执行.第三章处理器管理一.什么是多道程序设计1.定义:让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计称为多道程序设计.这种计算机系统称为多道程序设计系统.2.注意事项●存储保护:必须提供必要的手段使得在主存储器中的各道程序只能访问自己的区域,避免相互干扰●程序浮动:是指程序可以随机的从主存储器的一个区域移动到另一个区域,程序被移动后,仍丝毫不影响它的执行(可集中分散的空闲区,提高主存空间的利用率)●资源的分配和调度:多道程序竞争使用处理器和各种资源时,多道程序设计的系统必须对各种资源按一定的策略进行分配和调度.二.为什么要采用多道程序设计1.程序的顺序执行:处理器和外围设备,外围设备之间都得不到高效利用2.程序的并行执行:让程序的各个模块可独立执行,并行工作,从而发挥外围设备之间的并行能力3.多道并行执行:在一个程序各个模块并行工作的基础上,允许多道程序并行执行,进一步提高处理器与外围设备之间的并行工作能力,具体表项在:●提高了处理器的利用率●充分利用外围设备资源.●发挥了处理器与外围设备之间的并行能力三.采用多道程序设计应注意的问题1.可能延长程序执行时间:多道程序设计能提高资源使用效率,增加单位时间的算题量.但是对每个计算问题来说,从算题开始到全部完成所需的计算时间可能要延长2.并行工作道数与系统效率不成正比;并不是并行工作的道数越多,系统的效率就越高,而要根据系统配置的资源和用户对资源的要求而定⏹主存储器空间的大小限制了可同时装入的程序数量⏹外围设备的数量也是一个制约条件⏹多个程序同时要求使用同一资源的情况也会经常发生第二节进程概述一.进程的定义1.程序:具有独立功能的一组指令或一组语句的集合,或者说是指出处理器执行操作的步骤2.进程:是指一个程序在一个数据集上的一次执行3.程序和进程的区别:程序是静态的文本,进程动态的过程.进程包括程序和数据集.二.为什么要引入进程1.提高资源的利用率:一个程序被分成若干个可独立执行的程序模块,每个可独立执行的程序模块的一次执行都可看作一个进程,通过进程的同步可提高资源的利用率.2.正确描述程序的执行情况:可以方便描述一个程序被执行多次时,各自的执行进度.三. 进程的属性1.进程的基本属性●进程的动态性●多个不同的进程可以包含相同的程序●进程可以并发执行●进程的三种基本状态等待态就绪态运行态2.进程的状态变化:运行态-等待态等待态-就绪态运行态--就绪态就绪态-运行态3.进程特性: 动态性,并发性,异步性第三节进程队列一. 进程控制块1.进程控制块作用:既PCB,是进程存在的标识2.进程控制块构成⏹标识信息:用来标识进程的存在和区分各个进程.进程名⏹说明信息:用于说明本进程的情况.包括:进程状态,等待原因,进程程序存放位置,进程数据存放位置⏹现场信息:用来当进程由于某种原因让出处理器时,记录与处理器有关的各种现场信息,包括:通用寄存器内容,控制寄存器内容,程序状态字寄存器内容⏹管理信息:用来对进程进行管理和调度的信息.包括进程优先级,队列指针二. 进程的创建和撤销1.进程创建:当系统为一个程序分配一个工作区(存放程序处理的数据集)和建立一个进程控制块后就创建了一个进程,刚创建的进程其状态为就绪状态(若执行过程中还缺少资源可以再将其转为等待状态).2.进程的撤销:当一个进程完成了特定的任务后,系统收回这个进程所占的工作区和取消该进程控制块,就撤销了该进程.3.原语:是操作系统设计用来完成特定功能且不可中断的过程,包括创建原语,撤销原语,阻塞原语,唤醒原语.三 . 进程队列的链接1.进程队列概念:为了管理方便,进程把处于相同状态的进程链接在一起,称为进程队列2.进程队列分类⏹就绪队列:把若干个等待运行的进程(就绪)进程按一定的次序链接起来的队列.⏹等待队列:是指把若干个的等待资源或等待某些事件的进程按一定的次序链接起来的队列.等待队列:是把若干个等待资源或等待某些事件的进程按一定的额次序链接起来的队列3.对列实现方法:只需将状态相同的进程控制块链接起来就可以.链接的方式包括单向链接和双向链接.4.队列管理:是指系统中负责进程入队和出队的工作⏹入队:是指一个进程进入到指定的队列从队首入队成为新的队首进程从队尾入队成为新的队尾进程插入到队列中某两个进程之间⏹出队:是指一个进程从所在的队列中退出,也存在三种情况第四节 unix系统中的进程一.unix进程的特点Unix中的进程执行用户程序时在用户态执行,执行操作系统程序时在核心态执行.在用户态执行的进程请求系统功能调用时,便转换到核心态执行操作系统程序,当一次系统调用结束时,该进程从核心态的执行返回到用户态执行用户程序二.Unix进程的组成1.进程控制块:⏹进程基本控制块:用来记录进程调度时必须使用的一些信息,常驻主存储器.把进程基本控制块的数据结构称为proc结构标识信息:包括用户标识(分为实际用户标识号和设置用户标识号)和进程标识.有关进程非常驻主存部分的信息:用来建立信息在主存与磁盘之间传送.包括:非常驻主存部分的=所在的地址,长度和一些必要的指针.有关进程调度的信息:包括:进程状态,标志,优先数以及调度有关的其他信息.其它信息:用于管理和控制的信息,如进程扩充控制块的地址,进程共享正文段和共享主存段的管理信息,进程接收的信号.⏹进程扩充控制块:随用户程序和数据装入主存储器或调出主存储器.把进程扩充控制块的数据结构称为user结构.包括:标识,现场保护,主存管理,文件读写,系统调用,进程控制与管理等.2,正文段:是指Unix中可供多个进程共享的程序.系统中设置了一张正文表TEXT[],用来指正该正文段在主存和磁盘上的位置,段的大小和调用该正文段的进程数等钱情况3.数据段:包括进程执行的非共享程序和程序执行时用到的数据.⏹用户zhai区:是进程在用户态执行时的工作区,主要用于函数调用的参数传递,现场保护,存放返回地址,存放局部变量等.⏹用户数据区:存放进程执行中的非共享程序和用户工作数据.⏹系统工作区:核心zhai:是进程在核心态执行时的工作区,主要用于函数调用的参数传递,现场保护,存返回地址,存放局部变量等 user区:存放进程扩充控制块.三 .Unix进程的状态运行状态,就绪状态,睡眠状态,创建状态,僵死状态.四.unix进程的创建和终止1.unix的进程树:0号进程(也称交换进程,是系统启动后unixde核心程序完成初始化后创建的第一个进程,在核心态运行.用来进行进程调度和让进程在主存与磁盘上进行交换-1号进程(页称初始化进程,由0号进程创建,在用户态运行,用来为终端用户请求注册时创建login进程-login进程(用来处理用户的登录过程,登录成功后创建shell进程-shell进程(等待用户输入命令).2.进程的创建:在unix中,除了0号进程和1号进程外,其他的进程总是使用系统调用fork来创建新进程,形成父子进程.子进程时父进程的一个印像,除了进程的状态,标识和时间有关的控制项外,全部复制父进程的。
第一章网络操作系统引论1. ①操作系统的定义:操作系统是控制和管理计算机系统的硬件和软件资源、合理地组织工作流程以及方便用户的程序集合。
②现代操作系统的基本特征:1、并发性2、共享性3、虚拟性4、不确定性2.操作系统在计算机系统中处于何种地位:是硬件层的第一次扩充,是计算机系统软件的重要组成部分。
计算机系统的层次结构:硬件层—操作系统层—语言处理程序层—应用程序层。
操作系统的作用:提高计算机系统的效率,增强系统的处理能力,充分发挥系统资源的利用率,方便用户使用。
3.多道程序设计的硬件基础:①中断系统②通道技术③CPU与通道的通信4.①多道程序设计的基本原理:多道程序设计的主要目的是充分利用系统中所有资源且尽可能地让它们并行操作。
采用通道技术后使CPU从繁琐的I/O操作中解放出来,它不仅能实现CPU与通道并行工作,而且也能实现通道与通道之间、各通道与外设之间的并行。
②多道程序设计的主要特点:①多道②宏观上并行③微观上串行。
5.实现多道程序设计要解决的几个问题:①存储保护和地址重定位。
(几道程序共享同一主存)②处理机的管理和调度。
(共享同一处理机)③资源的管理与分配。
(共享系统资源)6. 虚拟处理机:逻辑上的处理机称为虚拟处理机。
虚拟计算机:在一台计算机上配置操作系统后,比原来的计算机的功能增强了。
这种是概念上的、逻辑上的计算机,而不是真正的物理计算机,这样的计算机称为虚拟计算机。
7.处理机的运行现场:就是指处理机在执行程序过程中任一时刻的状态信息的集合。
处理机运行现场包括的内容:①指令计数器(程序计数器)②程序状态寄存器③通用寄存器④特殊控制寄存器。
处理机的运行状态有两种:核心态(00)和用户态(11)。
程序分为系统程序和用户程序。
程序状态分为三种:①就绪②运行③阻塞。
程序状态的作用:程序状态可以互相转换,便于处理机按照某种规则进行调度。
8. 访管指令、特权指令、系统调用之间的区别和联系:9.①系统调用:用户在程序中能用访管指令调用的,由操作系统提供的子功能集合,其中每一个子功能称为一个系统调用命令。
《计算机操作系统》MOOC笔记1-计算机系统概论南京⼤学的骆斌⽼师主讲的,考研可能会⽤得上计算机系统的组成计算机系统:包括硬件⼦系统和软件⼦系统硬件:借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统⼯作的实体CPU,主存储器,I/O控制系统,外围设备软件:各种程序和⽂件,⽤于指挥计算机系统按指定的要求进⾏协同⼯作包括系统软件、⽀撑软件和应⽤软件关键系统软件是:操作系统与语⾔处理程序计算机系统的⽤户视图计算机硬件系统组成中央处理器运算单元控制单元 :解译机器指令主存储器外围设备输⼊设备输出设备存储设备⽹络通信设备总线存储程序计算机体系结构存储器是这个模型的核⼼以运算单元为中⼼,控制流由指令流产⽣采⽤存储程序原理,⾯向主存组织数据流主存是按地址访问、线性编址的空间指令由操作码和地址码组成数据以⼆进制编码总线总线(Bus)是计算机各种功能部件之间传送信息的公共通信⼲线,它是CPU、内存、输⼊输出设备传递信息的公⽤通道计算机的各个部件通过总线相连接,外围设备通过相应的接⼝电路再与总线相连接,从⽽形成了计算机硬件系统按照所传输的信息种类,总线包括⼀组控制线、⼀组数据线和⼀组地址线内部总线:⽤于CPU芯⽚内部连接各元件系统总线:⽤于连接CPU、存储器和各种 I/O模块等主要部件通信总线:⽤于计算机系统之间通信(⽹络)为了加快通信效率,系统总线也是分级的,PCI连接块设备(较快),E(ISA)总线连接字符设备(较慢)。
中央处理器(CPU)中央处理器是计算机的运算核⼼(Core)和控制单元( Control Unit),主要包括:运算逻辑部件:⼀个或多个协运算器寄存器部件:包括通⽤寄存器、控制与状态寄存器,以及⾼速缓冲存储器(Cache)控制部件:实现各部件间联系的数据、控制及状态的内部总线;负责对指令译码、发出为完成每条指令所要执⾏操作的控制信号、实现数据传输等功能的部件存储器L0 L1 L2 L3 L4都是挥发性存储,加电存储,断电失效外围设备设备类型输⼊设备输出设备存储设备机机通信设备(本质上属于输⼊输出设备,但是不同⽹络设备块⼤⼩不⼀致(包,块,字))设备控制⽅式轮询⽅式:CPU忙式控制+数据交换中断⽅式:CPU启动外围设备/中断+数据交换DMA⽅式:CPU启动/中断,DMA独⽴进⾏数据交换软件系统组成系统软件:操作系统、实⽤程序、语⾔处理程序、数据库管理系统操作系统实施对各种软硬件资源的管理控制实⽤程序为⽅便⽤户所设,如⽂本编辑等语⾔处理程序把⽤汇编语⾔/⾼级语⾔编写的程序,翻译成可执⾏的机器语⾔程序⽀撑软件有接⼝软件、⼯具软件、环境数据库,⽀持⽤户使⽤计算机的环境,提供开发⼯具应⽤软件是⽤户按其需要⾃⾏编写的专⽤程序软件开发的不同层次计算机硬件系统:机器语⾔-操作系统之资源管理:机器语⾔+⼴义指令(扩充了硬件资源管理)操作系统之⽂件系统:机器语⾔+系统调⽤(扩充了信息资源管理)数据库管理系统:+数据库语⾔(扩充了功能更强的信息资源管理)语⾔处理程序:⾯向问题的语⾔计算机程序的执⾏过程操作系统的概念OS是计算机系统最基础的系统软件,管理软硬件资源、控制程序执⾏,改善⼈机界⾯,合理组织计算机⼯作流程,为⽤户使⽤计算机提供良好运⾏环境从⽤户⾓度看,OS管理计算机系统的各种资源,扩充硬件的功能,控制程序的执⾏从⼈机交互看,OS是⽤户与机器的接⼝,提供良好的⼈机界⾯,⽅便⽤户使⽤计算机,在整个计算机系统中具有承上启下的地位从系统结构看,OS是⼀个⼤型软件系统,其功能复杂,体系庞⼤,采⽤层次式、模块化的程序结构操作系统组成进程调度⼦系统进程通信⼦系统内存管理⼦系统设备管理⼦系统⽂件管理⼦系统⽹络通信⼦系统作业控制⼦系统从操作控制⽅式分类多道批处理操作系统,脱机控制⽅式分时操作系统,交互式控制⽅式实时操作系统从应⽤领域分类服务器操作系统、并⾏操作系统⽹络操作系统、分布式操作系统个⼈机操作系统、⼿机操作系统嵌⼊式操作系统、传感器操作系统计算机的资源-硬件资源处理器、内存、外设信息资源数据、程序资源的共享与分配⽅式资源共享⽅式独占使⽤⽅式并发使⽤⽅式资源分配策略静态分配⽅式动态分配⽅式资源抢占⽅式多道程序同时计算CPU速度与I/O速度不匹配的⽭盾,⾮常突出只有让多道程序同时进⼊内存争抢CPU运⾏,才可以够使得CPU和外围设备充分并⾏,从⽽提⾼计算机系统的使⽤效率多道程序设计的特点CPU与外部设备充分并⾏外部设备之间充分并⾏发挥CPU的使⽤效率提⾼单位时间的算题量多道程序的实现为进⼊内存执⾏的程序建⽴管理实体:进程如何使⽤资源:调⽤操作系统提供的服务例程(如何陷⼊操作系统)如何复⽤CPU:调度程序(在CPU空闲时让其他程序运⾏)如何使CPU与I/O设备充分并⾏:设备控制器与通道(专⽤的I/O处理器)如何让正在运⾏的程序让出CPU:中断(中断正在执⾏的程序,引⼊OS处理)计算机的操作⽅式OS规定了合理操作计算机的⼯作流程OS的操作接⼝——系统程序 OS提供给⽤户的功能级接⼝,为⽤户提供的解决操作计算机和计算共性问题的所有服务的集合OS的两类作业级接⼝脱机作业控制⽅式:作业控制语⾔联机作业控制⽅式:操作控制命令脱机作业的控制⽅式OS:提供作业说明语⾔⽤户:编写作业说明书,确定作业加⼯控制步骤,并与程序数据⼀并提交操作员:通过控制台输⼊作业OS:通过作业控制程序⾃动控制作业的执⾏例:批处理OS的作业控制⽅式,UNIX的shell程序, DOS的bat⽂件联机作业控制⽅式计算机:提供终端(键盘/显⽰器)⽤户:登录系统OS:提供命令解释程序⽤户:联机输⼊命令,直接控制作业步的执⾏例:分时OS的交互控制⽅式命令解释程序命令解释程序:接受和执⾏⼀条⽤户提出的对作业的加⼯处理命令当⼀个新的批作业被启动,或新的交互型⽤户登录进系统时,系统就⾃动地执⾏命令解释程序,负责读⼊控制卡或命令⾏,作出相应解释,并予以执⾏会话语⾔:可编程的命令解释程序(shell)图形化的命令控制⽅式多通道交互的命令控制⽅式命令解释程序的处理过程OS启动命令解释程序,输出命令提⽰符,等待键盘中断/⿏标点击/多通道识别每当⽤户输⼊⼀条命令(暂存在命令缓冲区)并按回车换⾏时,申请中断CPU响应后,将控制权交给命令解释程序,接着读⼊命令缓冲区内容,分析命令、接受参数,执⾏处理代码前台命令执⾏结束后,再次输出命令提⽰符,等待下⼀条命令后台命令处理启动后,即可接收下条命令操作系统的程序接⼝操作系统的程序接⼝——系统调⽤操作系统实现的完成某种特定功能的过程;为所有运⾏程序提供访问操作系统的接⼝系统调⽤的实现机制陷⼊处理机制:计算机系统中控制和实现系统调⽤的机制陷⼊指令:也称访管指令,或异常中断指令,计算机系统为实现系统调⽤⽽引起处理器中断的指令每个系统调⽤都事先规定了编号,并在约定寄存器中规定了传递给内部处理程序的参数系统调⽤实现:编写系统调⽤处理程序设计⼀张系统调⽤⼊⼝地址表,每个⼊⼝地址指向⼀个系统调⽤的处理程序,并包含系统调⽤⾃带参数的个数陷⼊处理机制需开辟现场保护区,以保存发⽣系统调⽤时的处理器现场操作系统的系统结构-OS构件内核、进程、线程、管程等设计概念模块化、层次式、虚拟化内核设计是OS设计中最为复杂的部分操作系统内核单内核:内核中各部件杂然混居的形态,始于1960年代,⼴泛使⽤;如Unix/Linux,及 Windows(⾃称采⽤混合内核的CS结构)微内核:1980年代始,强调结构性部件与功能性部件的分离,⼤部分OS研究都集中在此混合内核:微内核和单内核的折中,较多组件在核⼼态中运⾏,以获得更快的执⾏速度外内核:尽可能减少内核的软件抽象化和传统微内核的消息传递机制,使得开发者专注于硬件的抽象化;部分嵌⼊式系统使⽤层次结构操作系统的规模在计算机软件发展史上,OS是第⼀个⼤规模的软件系统1960年代,由OS开发所衍⽣的体系结构、模块化开发、测试与验证、演化与维护等研究,直接催⽣了软件⼯程这⼀新兴研究领域(另⼀个催⽣来源是 DB应⽤引发的需求与规格)。
Erlang学习笔记(一)linux操作系统-电脑资料工欲善其事,必先利其器,。
为了学习Erlang,当得先下载erlang,弄好环境才能开始Erlang的学习,下面给大家整理了一些例子,希望对各位有帮助。
Erlang 安装对于Linux 或Unix系列的平台,直接下载Souce File 然后编译安装。
代码如下复制代码tar -xzvf otp_src_17.0.tar.gzcd otp_src_17.0./configuremakesudo make install安装完成后,Erlang的二进制路径是/usr/local/bin/erlErlang之Hello World将下面Hello Wolrd程序保存为hello.erl代码如下复制代码-module(hello).-export([hello_world/0]).hello_world() -> io:fwrite("hello, worldn").编译我们的HelloWolrd,执行/usr/local/bin/erl进入Erlang Shell,然后输入下列执行对刚才的erl文件编译代码如下复制代码Erlang/OTP 17 [erts-6.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]Eshell V6.0 (abort with ^G)1> c(hello).{ok,hello}执行helloworld2> hello:hello_world().hello, worldok好了,Erlang的HelloWorld已经搞定了,电脑资料《Erlang 学习笔记(一)linux操作系统》(https://www.)。
如何退出Erlang Shell初次进入Erlang Shell,不知所措,该如何退出呢?有几种退出Erlang Shell的方法命令方式1:执行init:stop().命令方式2:执行halt().快捷键方式1:Control+C 然后选a快捷键方式2:Control+G 然后按q。
操作系统的定义:操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充操作系统的目标和作用在计算机系统上配置操作系统主要目标与计算机系统的规模和应用环境有关。
操作系统的目标方便性硬件只能识别机器代码(0、1)OS提供命令,方便用户使用计算机有效性使CPU、I/O保持忙碌,充分利用使内存、外存数据存放有序,节省空间合理组织工作流程,改善资源利用率,提高吞吐量可扩充性计算机技术的发展:硬件/体系结构/网络/InternetOS应采用层次化结构,便于扩充和修改功能层次和模块开放性支持网络环境,兼容遵循OSI标准开发的硬件和软件操作系统的作用1. 用户与计算机硬件系统之间的接口命令方式用户通过键盘输入联机命令(语言)系统调用方式用户程序通过系统调用,操纵计算机图形、窗口方式用户通过窗口、图标等图形界面操纵计算机2.计算机系统资源管理者4大类资源:处理机;存储器;I/O设备;信息(文件:程序、数据)3.对计算机资源的抽象(扩充机器)裸机:只有硬件的计算机,难以使用虚机器:在裸机增加软件(OS等),功能增强,使用方便推动操作系统发展的主要动力1.不断提高计算机资源利用率早期计算机很昂贵,为提高资源利用率,产生了批处理系统2.方便用户为改善用户上机、调试程序时的条件,产生了分时系统3.器件的不断更新换代OS随之更新换代,如:8位->16位->32位4.计算机体系结构的不断发展单处理机OS->多处理机OS->网络操作系统操作系统的发展过程无操作系统时代OS尚未出现,人们如何使用计算机人工操作方式人工操作方式的缺点用户独占全机CPU等待人工操作结果:资源利用率低下脱机输入输出系统低速设备纸带机/卡片机高速设备磁带/磁盘I/O速度提高,缓解了I/O设备与CPU的速度矛盾主机:用于计算的主计算机外围机:也是计算机,处理输入输出,使之不占用主机CPU时间外围机控制输入/输出输入:低速设备->高速设备输出:高速设备->低速设备输入和输出使用独立于主机的外围机,不占用主机的CPU时间,是脱机过程,因此叫做脱机输入/输出方式单道批处理系统计算机发展的早期,没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担,任何操作出错都要重做作业,CPU的利用率甚低。
解决的方法有两个:首先配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。
另一个是进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。
每一批作业将有专门编制的监督程序(monitor)自动依次处理。
说明:监督程序的作用:用来装入用户作业,和用户作业交替地使用CPU。
“批”的含义:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)。
关于“作业”的说明:通常,把计算机完成用户算题任务所需进行的各项工作称为一道作业。
多道批处理系统早期的批处理可能出现两种情况:对于以计算为主的作业,输入输出量少,外围设备空闲;对于以输入输出为主的作业,主机空闲。
问题的提出在早期的单道批处理系统中,内存中仅有单个作业在运行,致使系统中仍有许多资源空闲,设备利用率低,系统性能较差。
多道程序设计技术若当前作业因等待I/O而暂停,CPU只能空闲直至该I/O完成对于科学计算问题,CPU操作密集,CPU浪费时间少对于商业数据处理,I/O操作密集,I/O等待时间常占80%-90%解决办法将内存分几个部分,每部分放不同的作业当一个作业等待I/O时,CPU可被另一作业使用在主存中同时驻留多个作业多道程序设计多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。
合理搭配I/O为主和计算为主的程序交替运行,充分利用资源,提高系统效率。
多道程序的运行特点:多道:计算机内存中同时存放多道相互独立的程序。
宏观上并行运行:同时进入系统的几道程序都处于运行状态,但都未运行完。
微观上串行运行:各作业轮流使用CPU,交替执行。
实现技术:当正在运行的程序因I/O暂停执行时,系统可调度另一道程序运行,使CPU保持忙碌。
例题:有两道程序A、B,按下图以多道程序方式运行,要求在右图画出它们的运行轨迹,并计算在60ms内,CPU的利用率,假设起始时首先运行B,并允许忽略监督程序切换A、B的时间(不考虑I/O的冲突)。
分时系统概念:时间片、终端、响应时间分时(Time Sharing)是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片(Time Slice) ,每个用户依次轮流使用时间片。
分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分配给各联机作业使用分时系统的定义分时操作系统:是一种联机的多用户交互式的操作系统。
一般采用时间片轮转的方式,使一台计算机为多个终端服务。
对每个用户能保证足够快的响应时间,并提供交互会话能力。
分时系统的特点多路性系统支持单主机多个终端,按分时原则服务独立性各用户独立操作,互不干扰。
及时性对用户请求的响应时间短(1~3s)交互性用户向系统提出服务请求更方便,也更广泛通过终端实时系统产生背景:虽然多道批处理操作系统和分时操作系统获得了较佳的资源利用率和快速的响应时间,从而使计算机的应用范围日益扩大但它们难以满足实时控制和实时信息处理领域的需要。
于是,便产生了实时操作系统,目前典型的实时系统:实时控制系统、实时信息处理系统。
什么是实时系统有高可靠性和安全性,系统的效率则放在第二位典型的实时系统(1)实时控制系统:计算机用于生产过程控制时,要求系统能现场实时采集数据,并对采集的数据进行及时处理,进而能自动地发出控制信号控制相应执行机构,使某些参数(压力、温度、距离、湿度)能按予定规律变化,以保证产品质量。
导弹制导系统,飞机自动驾驶系统,火炮自动控制系统都是实时过程控制系统。
典型的实时系统(2)实时信息处理系统:计算机还可用于控制进行实时信息处理。
计算机接收成干上百从各处终端发来的服务请求和提问,系统应在极快的时间内做出回答和响应。
机票订购系统、情报检索系统是典型的实时信息处理系统微机操作系统1.单用户单任务OS只允许一个用户上机,且只允许用户程序作为一个任务运行。
典型代表:CP/M8位机上的主流操作系统MS-DOS最早的PC操作系统16位机上的主流操作系统2.单用户多任务操作系统只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。
典型代表:微软公司推出的windows3.多用户多任务OS允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行。
典型代表:UNIX操作系统的基本特性以多道程序设计为基础的现代操作系统具有以下几个主要特征:并发性(Concurrence)共享性(Sharing)异步性(Asynchronism)或称不确定性(Nondeterministic)虚拟性(Virtual)并发性概念:并发、并行、进程并发性(Concurrence)是指两个或两个以上的运行程序在同一时间间隔段内同时执行。
操作系统是一个并发系统,并发性是它的重要特征,它应该具有:处理多个同时执行的程序的能力。
并行与并发的不同:①并行性是指两个或多个事件在同一时刻发生②并发性是指两个或多个事件在同一时间间隔内发生引入进程在多道程序系统中,为了能够并发执行,系统必须为每个程序建立进程。
程序是静态的,进程是动态的。
进程能支持并发,程序不能。
进程由一组机器指令、数据和堆栈组成,是一个能独立运行的活动实体。
进程是资源分配的独立单位。
多个进程能并发执行,进程运行时要占用一定的系统资源,如CPU、存储空间和I/O设备等。
共享性(sharing)概念:互斥访问、临界资源、同时访问共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程所使用。
发生条件多个进程并发执行多个进程需要同一资源资源共享的方式资源共享的方式可以分成两种:第一种是互斥共享。
系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源。
这种同一时间内只允许一个进程访问的资源称临界资源,许多物理设备,以及某些数据和表格都是临界资源,它们只能互斥地被共享。
第二种是同时访问。
系统中的还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。
典型的可供多进程同时访问的资源是磁盘。
共享与并发共享性和并发性是操作系统两个最基本的特征,它们互为依存:一方面,资源的共享是因为运行程序的并发执行而引起的,若系统不允许运行程序并发执行,自然也就不存在资源共享问题。
另一方面,若系统不能对资源共享实施有效地管理,必然会影响到运行程序的并发执行,甚至运行程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。
虚拟技术虚拟是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,显然,前者是实际存在的而后者是虚构假想的。
时分复用虚拟处理机通过多道程序和分时使用CPU技术,物理上的一个CPU变成逻辑上的多个CPU虚拟设备打印机若某物理设备通过时分复用虚拟为N台,则虚拟设备速度是原设备的1/N空分复用虚拟磁盘1个硬盘实体->多个逻辑卷虚拟存储器虚拟存储器则是把物理上的多个存储器(主存和辅存)变成逻辑上的一个(虚存)的例子内存空分复用提高内存空间利用率结合时分复用,可实现在逻辑上扩大内存,使程序中远小于它的空间运行若某物理设备通过空分复用虚拟为N台,则虚拟设备占用空间是原设备的1/N异步性异步性(Asynchronism)亦称不确定性,( Nondeterministic )进程以人们不可预知的速度向前推进,即进程的异步性。
在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,进程的执行往往不是一气呵成,而是“走走停停”,其运行、暂停和完成的时间都无法确定。
a.系统中的进程何时执行b.何时暂停c.以什么样的速度向前推进d.进程总共要多少时间执行才能完成这些都是不可预知的,或者说该进程是以不确定的方式运行的,不确定性给系统带来了潜在的危险,有可能导致与时间有关的错误。
但只要运行环境相同,操作系统必须保证多次运行作业,都会获得完全相同的结果。
设计操作系统必修考虑异步性带来的问题。
\1.4操作系统功能操作系统有如下几个基本功能:处理机管理存储器管理设备管理文件管理用户接口(一)处理机管理在传统的多道程序系统中,处理机的分配和运行都是以进程为基本单位,因而对处理机的管理可归结为对进程的管理:进程控制创建、撤销、状态转换进程同步访问临界资源、协调合作次序进程通信合作进程的消息交换调度作业调度、进程调度(二)存储器管理存储管理的主要任务是管理存储器资源,为多道程序运行提供有力支撑。