精华内容
下载资源
问答
  • 多道程序设计和分时

    2021-06-15 11:41:31
    分类:(3类) 多道程序设计 分时 简单批处理 ...(其实是多道程序设计的延伸) (每个用户都能实时得到服务) (unix就是常见的分时系统) 2.特点:采用时间片轮转的方式。 3.优点:保证用户获得足够小的响
    分类:(3类)
    1. 多道程序设计
    2. 分时
    3. 简单批处理
    4. 一些其他补充
    1多道程序设计

    1.设计起因:单用户通常不能总使cpu和设备在所有时间都忙碌。
    2.概念:在内存中同时存在多道作业,在管理程序的控制下“相互穿插运行”(交替运行)
    3.目的:提高cpu的利用率,充分发挥并行性。
    多道程序和单道程序运行例子

    2分时(多任务)(时间片)

    1.分时系统:一种联机的多用户交互式操作系统
    (其实是多道程序设计的延伸)
    (每个用户都能实时得到服务)
    (unix就是常见的分时系统)
    2.特点:采用时间片轮转的方式。
    3.优点:保证用户获得足够小的响应时间,提高了交互能力,时间响应好,但是比多道批处理系统开销大。

    3批处理

    1.定义:用户将一批作业提交操作系统后就不再干预。由操作系统控制自动运行。
    2.特点:不具有交互性,但可以提高cpu的利用率。

    其他补充

    1【并行与并发】
    并行:同一时刻运行
    并发:同一时间间隔内依次运行

    2【控制设备工作的物理部件是:设备控制器】

    3【分时和多道程序】的同异
    同:
    1都可以同时处理和执行多个作业
    2都充分利用并行性
    都提高了cpu的利用率,都需要在内存中保存多个作业。
    异:
    分时是给不同的用户使用。
    多道程序是给不同程序之间使用。

    4:批处理系统、分时系统和实时系统这三种基本操作系统都具有四个共性:并发性、共享性、虚拟性、异步性;

    补充:
    1终端型作业是在 多道程序系统 中,一个作业被提交后,必须经过 处理机调度 后方能获得处理机。
    通常在分时系统中运行的作业称为终端型作业

    2分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。在一台机器上表现为处理器在一个时间内只处理一个进程或程序,不同时进行多任务处理。

    实时则为同时可以进行多个任务的处理,即多个进程可以在同一时间段进行,共同利用CPU和内存。

    批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。

    展开全文
  • 多道程序设计:分离进程为独立功能 Unix最具特点的程序模块化技法就是将大型程序分解成多个协作进程。 Unix提倡把程序分解成更简单子进程,并考虑接口: 降低进程生成开销。 提供方法简化进程间通信。 ...
    多道程序设计:分离进程为独立的功能

    Unix的最具特点的程序模块化技法就是将大型程序分解成多个协作进程。

    Unix提倡把程序分解成更简单的子进程,并考虑接口:
    降低进程生成的开销。
    提供方法简化进程间通信。
    提倡使用能由管道和套接字传递的简单、透明的文本数据格式。

    真正的挑战不是协议语法而是协议逻辑:协议设计既要有充分的表达能力,又能防范死锁。

    从性能调整中分离复杂度控制

    在开发出可以把全局复杂度降至最低程度的干净体系之前,关注性能问题便是过早优化。

    线程提高了复杂度,应尽量少用线程。

    将程序划分为多个协作进程的另一重要原因是提高安全性:仅信任较少的代码,而让大部分操作都运行在用户级。

    Unix IPC方法

    1 把任务转给专门程序。

    廉价的进程生成使得程序间协作变得可能,通过调用专门程序来完成专门任务;
    C库popen可以用来向专门程序传递数据或读取专门程序的返回结果;
    专门程序运行期间并不需要与父进程交互。

    示例:
    mutt:调用专门的编辑器。

    2 管道、重定向、过滤器

    管道: |把一个程序的输出连接到另外一个程序的输入;单向性;管道中所有程序并发执行;匿名管道,命名管道(为命名套接字取代)。
    重定向:> <
    pic2graph:调用现有工具的管线。
    dc和bc:相互组合完成问题。
    fetchmail:不能使用,因为管道的单向性;不能发出反馈信息。

    3 包装器
    脚本中封装命令的固定参数

    4 安全性包装器

    安全性包装器:调用专门程序检查某类凭证,然后根据返回结果执行后一个程序;
    bernstein链与管道类似;只不过每个继发阶段的程序取代了前一阶段的程序,而不是与之并行。

    5 从进程

    主从通信很复杂,只有在协议无关轻重。

    6 对等进程间通信

    临时文件:简单,灵活,但容易引起名字冲突,提前中断会造成问题;文件容易被修改,安全问题;
    信号:软中断,SIGHUP一般被用作重启初始化,而用SIGTERM作为正常退出的信号;
    pidfile:守护进程只允许一个实例运行,则可作为文件锁使用。
    fetchmail信号:唤醒已经存在的进程或者新建进程来获取邮件。

    套接字:双向IPC
    PostgreSQL:客户端和服务器端分开。

    共享内存:速度快,只用在同一机器上。mmap,将文件映射到内存。自己处理竞争和死锁;避免通过网络栈复制数据的开销。

    要避免的问题和方法

    复杂的结构比文本流难以处理。RPC提供了丰富接口,但恰恰将问题复杂化了。
    文本流:性能损失是线程的,但可通过硬件升级来补偿。
    XML-RPC和SOAP综合了文本流和RPC方法的优点。

    线程

    局部变量共享全局内存使得需要加入竞争和临界区的控制,同时bug也会增多。
    时序依赖问题
    尽管线程没有进程上下文切换的开销,但锁定共享数据结构的开销同样昂贵。
    客户端/服务器划分:由服务器集中管理所有资源争用,降低了复杂性,也有利于适应分布式计算。
    把线程、远程过程调用接口和重量级的面向对象设计结合使用特别危险。


    真实世界里的编程其实就是管理复杂度的问题。能够管理复杂度的工具都是好东西。但当这些工具不是控制而是增加复杂度的时候,最好扔掉,从零开始。

    本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2012/01/31/2333990.html,如需转载请自行联系原作者

    展开全文
  • 1.1多道程序设计 1.1.1程序顺序执行 Ii表示第i个程序输入;Pi表示第i个程序计算处理;Oi表示第i个程序打印输出 对于一个要解决问题,往往需要按一定顺序执行,典型是输入,计算,然后进行打印...
    1.1多道程序设计
    1.1.1程序的顺序执行
    Ii表示第i个程序的输入;Pi表示第i个程序的计算处理;Oi表示第i个程序的打印输出
    对于一个要解决的问题,往往需要按一定的顺序执行,典型的是输入,计算,然后进行打印输出。

    顺序程序设计方式的一些特点
    (1)简单,方便,容易理解;
    (2)确定性:程序运行结果,不会受运行过程中出现的中断事件的影响;
    (3)封闭性:运行程序独占整个计算机系统资源,除了初始状态以外,该程序所处的环境只有本身决定,只有程序本身才能改变系统资源状态和环境。
    (4)可再行性:一个程序,只要初始输入条件相同,运行结果也必然相同。

    缺点:计算机资源使用效率不高



    1.1.2程序的并发执行
    程序的并发执行:是指一个程序的执行还没有结束,另一个程序就已经开始了。
                                宏观上:在这段时间内,“同时”完成几个程序;
                                微观上:任何时刻就只有一个程序在运行。
    并发性的两层含义:(1)内部顺序性,对于一个程序而言,他的所有指令都是按序执行的;
                                    (2)外部并发性对于多个程序而言,他们是交叉运行的
    1.1.3多道程序设计
    单道程序设计:主存中每次只存在一个程序,该程序运行时独占整个计算机系统资源
    多道程序设计:让多个程序同时进入一个计算机系统的主存储器并发执行

    优点:充分发挥了计算机硬件的并发性,消除了处理器和外围设备相互等待的现象,大大提高了系统的效率。

    1.1.4并发程序执行的条件
    Bernstein条件:并发程序如果无关,则这些进程可以并发执行。
                         i个程序集合(1)读变量集合R(Pi)
                                             (2)写变量集合W(Pi)
                        如果(R(P1)并W(P2))
                            交(R(P2)并W(P1))
                            交(W(P1)并W(P2))= 空集
          

    展开全文
  • 4.1多道程序设计 4.1.1程序的顺序执行:一个具有独立功能的程序独占CPU直到得到最终结果的过程 程序的顺序执行的特点: 1) 顺序性:严格按顺序执行,一一对应 2) 封闭性:结果只能取决于程序本身 3)程序执行...

    4.1多道程序设计

    4.1.1程序的顺序执行:一个具有独立功能的程序独占CPU直到得到最终结果的过程

    程序的顺序执行的特点:

    1) 顺序性:严格按顺序执行,一一对应

    2) 封闭性:结果只能取决于程序本身

    3)程序执行结果的确定性:与时间无关

    4) 可再观性:不同时间执行,输入相同则结果相同

    4.1.2多道程序设计中程序执行环境的变化

    1.多道程序设计技术的引入

    并发:单CPU,按给定的时间片交替的在处理机上运行;多CPU:并发程序在各自处理机上运行。

    根本目的:提高整个系统的效率

    衡量系统效率的尺度:系统吞吐量———》单位时间内系统所处理作业的数量

    多道程序设计改善了各种资源的使用情况,从而增加了吞吐量,提高了系统效率,但也带来了资源竞争。

    多道程序环境的特点:

    1)独立性:程序在逻辑上独立

    2)随机性:程序和数据的输入与执行开始时间随机

    3)资源共享性:软硬件资源的有限性导致资源的共享

    4.2 进程

    概念:进程是一个程序对某个数据集的执行过程

    分类:系统进程和用户进程

    4.2.1进程与程序的联系和区别

    联系:程序是构成进程的组成部分之一  从静态角度看:进程由程序、数据、进程控制块(PCB)组成

    区别:程序是静态的,而进程是动态的。进程是有生命周期的,程序的存在是永久的。

    4.2.2进程的特性

    1)并发性    2)动态性   3)独立性  4)交往性  5)异步性

    4.2.3、进程的状态及其状态转换

    1)运行状态(Running) 单CPU上最多一个运行态

    2)就绪状态(Ready) 可以有多个

    3)等待状态(Waiting)也叫阻塞状态(Blocked)封锁状态

    在任何时刻,任何进程都处于且仅处于三种状态之一

    1)就绪--》运行:进程调度程序根据调度算法把处理器分给某个就绪状态,建立该进程的运行状态标记

    2)运行--》就绪:通常出现在分时操作系统中

    正在运行的程序由于规定的运行时间片用完而使系统发出超时中断请求,超时中断处理程序把该进程状态修改为就绪状态,根据其自身特征而插入就绪队列的适当位置,保留进程现场信息,收回处理机并转入进程调度程序。

    3)  运行--》等待

    4)等待--》就绪

    4.2.4进程控制块(Process Control Block)

    PCB是进程存在的唯一标志

    1、PCB的内容:

    1)调度信息:进程名、进程号、存储信息、优先级。。。 

    2)现场信息:程序状态字、时钟、界地址寄存器

    2、进程的组成:程序、数据、进程控制块PCB

    3、PCB的组织方式:1)线性方式  2)索引方式  3)链接方式

    4、进程的队列  1)就绪队列  2)等待队列 3)运行队列

    4.2.5进程控制

    进程在整个生命周期中各种状态之间转换进行有效控制 。

    进程控制是通过原语实现的。

    原语通常由若干指令组成,用来实现某个特定的操作。通过一段不可分割或不可中断的程序实现其功能。原语的执行必须是连续的,一旦开始执行就不能间断,直到执行结束。

    原语是操作系统核心(不是由进程而是由一组程序模块组成)的一个组成部分,它必须在管态下执行并且常驻内存。原语和系统调用都可以被进程调用,两者的差别在于原语有

    不可中断性,它是通过在其执行过程中关闭中断实现的,且一般是由系统进程调用。

    用于进程控制的原语一般有:创建进程、撤销进程、挂起进程等。











     

    转载于:https://www.cnblogs.com/fuhaots2009/p/3508848.html

    展开全文
  • Unix最具特点的程序模块化技法就是将大型程序分解成个协作进程。这种设计可以降低全局复杂度,但是需要更多的关注进程间传递信息和命令协议设计。对于通信协议的设计,真正挑战不是设计协议语法而是设计...
  • 我希望为那些非初学者提一些建议和意见。我将这些意见和建议归结为“卓越程序”。请注意,这里说的是“程序”,...而这众多的特点又有可能彼此矛盾,因此所谓“卓越”往往只是在求得一种平衡,或者说是“整体最优”
  • 多道程序设计 1.1多道程序设计(multiprogramming) (1)指同时把多个作业放入内存并允许它交替执行,共享系统中各类资源,当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序。 (2)...
  • 接下来,我希望为那些非初学者提一些建议和意见。我将这些意见和建议归结为“卓越程序”。...而这众多的特点又有可能彼此矛盾,因此所谓“卓越”往往只是在求得一种平衡,或者说是“整体最优”。但无论怎样,一
  • 接下来,我希望为那些非初学者提一些建议和意见。我将这些意见和建议归结为“卓越程序...而这众多的特点又有可能彼此矛盾,因此所谓“卓越”往往只是在求得一种平衡,或者说是“整体最优”。但无论怎样,一个程序首先必
  • 程序设计实践

    2015-09-07 20:33:01
    多道饶有趣味的程序设计题,题目大部分来自ACM国际大学生程序设计竞赛,很多题目就反 映工作和生活中实际问题。这些题目有易有难,比如最简单题“A+B Problem”就是给出 两个数,输出它们和。用户可以针对某个...
  • Go最令人感兴趣和新颖的特点是支持并发编程。这是一个大话题,第8章和第9章将专门讨论,所以此处只是简单了解一下Go主要的并发机制、goroutine和通道(channel)。 下一个程序fetchall和前一个一样获取URL的内容,...
  • 本书最大特点是和“北京大学程序在线评测系统"紧密结合,具有极强实践性。“北 ...多道饶有趣味的程序设计题,题目大部分来自ACM国际大学生程序设计竞赛,很多题目就反 映工作和生活中实际问题。
  • 包括面向对象程序设计的深入论述,包含GUI程序设计的基础和扩展实例。提供大量实例,实例中都包括问题求解的详细步骤,可激发学习兴趣。覆盖Java程序设计的众多高级主题。涉及Level I Java认证考试所需的全部主题。...
  • Java程序设计习题集下载

    热门讨论 2010-09-17 14:23:44
    并以习题形式总结和归纳Java程序设计知识要点,同时兼顾了SCJP(Sun公司 Java程序员认证考试),从而降低学习难度,减少编写程序出现错误的枘地,也便于掌握各个知识要点或测试对Java程序设计的掌握熟练程度。...
  • 学过操作系统的应该会知道,多道程序设计的特点是多道,宏观上并行,微观上串行,而引入多道批处理系统就是为了提高系统资源的利用率,尽量使cpu处于繁忙状态,使各种资源能够得到充分利用,那么这样会出现什么情况...
  • “北京大学程序在线评测系统"(Peking University Online Judge System,简称“POJ”)是一个免费公益性网上程序设计题库,网址为http://acm.pku.edu.cn/JudgeOnline,它包含2000多道饶有趣味的程序设计题,题目大...
  • “北京大学程序在线评测系统”(简称“POJ”)是一个免费公益性网上程序设计题库,网址为http://acm.pku.edu.cn /JudgeOnline,它包含2000多道饶有趣味的程序设计题,题目大部分来自ACM国际大学生程序设计竞赛,很...
  • 本书是Java语言经典教材,多年来畅销不衰。本书全面整合了Java 8特性,采用“基础优先,问题驱动”教学方式,循序渐进地介绍了程序设计基础、解决...在配套网站上还为教师提供了100多道的编程练习题。 作者简介
  • 预防胜于治理,只有从错误根源处杜绝错误产生做到消除错误,才能写出高质量的程序。这本书是在CSDN电子书栏意外看到一本书,一开始引起我注意,是因为附录试题居然和我最近一次面试题目完全一样。书中作者没有...
  • 《C程序设计语言第2版新版习题解答》(原书第2版) 特点: ●有关练习题都用K&R教材介绍语言结构进行解答。与K&R教材中教学内容保持同步。读者在学习到更多的C语言知识之后。可以给出更好解决方案; ●不重复K&R...
  • 第一代计算机(1940~1955):真空管和穿孔卡片 特点:没有操作系统概念,所有的程序设计都是直接操控硬件。 优点:每个人独享,可以自己调试代码,找到bug。 缺点:浪费计算机资源。 2.第二代就算机(1955~...
  • 毫米波(mmWave)频段高速火车(HST)通信由于其众多高数据速率应用程序而实现了智能轨道移动性,因此受到了广泛关注。 准确有效渠道模型始终是HST系统设计,评估和优化关键。 mmWave HST通道一个显着...
  • 因为上上次举了个例子,昨天和女朋友了一天歉,所以昨天没有更博,哎,女朋友就是麻烦!不过我也很无奈啊,毕竟我还不想恢复我单身狗身份!好了,接着上次话题,这次给大家介绍内存优化。 上次给大家介绍了...
  • 《C程序设计语言第2版新版习题解答》(原书第2版) 特点: ●有关练习题都用K&R教材介绍语言结构进行解答。与K&R教材中教学内容保持同步。读者在学习到更多的C语言知识之后。可以给出更好解决方案; ●不重复K&R...
  • 预赛试题A卷 Java程序设计

    千次阅读 2009-11-11 23:18:00
    选择题(每题3分,共45分) (1)Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、线性 C、跨平台 D、可移植 (2)Character流与Byte流的区别是(C) A、...
  • 几种操作系统基本特点

    千次阅读 2018-06-03 15:55:12
    多道是指多道程序运行,即按多道程序设计的调度原则,从一批后备作业中选取多道作业调入内存并组织它们运行;成批处理是指操作员把用户提交的作业组织成一批,由操作系统负责每批作业间的自动调度。 批处理系统自动...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 269
精华内容 107
关键字:

多道程序设计的特点