计算思维导论

当前位置:首页 > 网络编程 > 计算机理论基础知识 > 计算思维导论

出版社:王志强、等、 陈国良 高等教育出版社 (2012-10出版)
出版日期:2012-10
ISBN:9787040362183
作者:王志强
页数:290页

章节摘录

版权页:   插图:   当然,死锁的出现是一种巧合,但是只要出现了就会影响整个操作系统的运行,为了避免死锁,我们必须弄清楚死锁出现的原因。只有满足以下全部条件才会出现死锁: ①互斥条件:存在对不可共享资源的竞争。 ②请求和保持条件:一个进程接受了某些资源后,稍后还将请求其他的资源。 ③不剥夺条件:进程已获得的资源,在使用完之前,不被外力剥夺。 ④环路等待条件:进程推进顺序不当,出现互相等待其他进程已获得资源。 确定这些死锁必要条件的意义在于只要其中任何一个条件不成立,就可以避免死锁的发生。比如一次将资源全部分配(摒弃“请求和保持条件”),或者当请求的资源得不到满足时,释放已分配的资源(摒弃“不剥夺条件”),或者对资源的申请必须按一定顺序进行(摒弃“环路等待条件”),通过上述措施可预防死锁。 将不可共享的资源转变为可共享的资源也是解决死锁问题的方法之一。例如,假定出问题的资源是打印机上,各种进程都请求使用它。每当一个进程请求打印机时,操作系统都批准这个请求。但是,操作系统不是把这个进程连接到打印机的设备驱动程序上,而是连接到一个“虚构”的设备驱动程序上,该驱动程序将要打印的信息存放在海量存储器中,而不把它们发送到打印机上。于是每个进程都认为它访问了打印机,所以能正常工作。当打印机可用时,操作系统可以把数据从海量存储器传送到打印机。这样,操作系统通过建立多个虚构的打印机把不可共享的资源变成好像是可共享的了。这种保存数据供以后在合适的时候输出的技术称为假脱机,它在各种规模的机器里都很流行。 在应对死锁的策略上,通常采用不予理睬、检测修复、静态防止和动态避免四种。总体说来,检测修复与动态避免两种策略成本(指实现的程序复杂性成本和运行时的时间成本)过高,很难在实际系统中采用。而不予理睬与静态防止是较为合理的策略。例如,通过对CPU、内存实施可抢占的静态防止策略,对磁盘、打印机等实施假脱机的共享,有效防止了在CPU、内存、磁盘和打印机上因竞争而产生死锁的可能。对于一些软件资源,则实施按照规定顺序请求,从而防止在这些资源上发生死锁,而对剩下的其他资源因竞争造成的死锁就不予理睬了。 现代操作系统发生死锁的频率相对人们的期望值来说还是比较高的。例如,用过Windows和Linux操作系统的用户几乎没有不遇上死锁的。解决死锁的办法也很简单:重新启动系统或者停止部分进程,至于重启或停止进程所造成的不良后果则由用户自己承担。

书籍目录

第一章计算思维基础知识 1.1科学与计算科学 1.1.1科学的概念 1.1.2计算科学与计算学科 1.1.3计算机科学与计算机学科 1.2思维与科学思维 1.2.1思维基础 1.2.2科学思维 1.2.3科学思维的分类 1.3计算思维的概念 1.3.1计算思维的定义 1.3.2计算思维的特征 1.3.3计算思维的本质 1.3.4计算思维与计算机的关系 1.4计算思维的应用领域 1.4.1生物学 1.4.2脑科学 1.4.3化学 1.4.4经济学 1.4.5艺术 1.5计算学科的典型问题 1.5.1排序问题 1.5.2汉诺塔问题 1.5.3国王的婚姻 1.5.4旅行商问题 本章小结 思考题 参考文献 第二章计算理论与计算模型 2.1计算的几种视角 2.1.1计数与计算 2.1.2逻辑与计算 2.1.3算法与计算 2.2计算理论 2.2.1计算与计算过程 2.2.2可计算性理论 2.2.3停机问题 2.2.4计算复杂性理论 2.2.5问题求解的过程 2.3计算模型 2.3.1图灵机 2.3.2冯·诺依曼机 2.3.3量子计算机 2.3.4生物计算机 2.4计算科学的数学基础 2.4.1数理逻辑 2.4.2集合论 2.4.3代数系统 2.4.4图论 本章小结 思考题 参考文献 第三章算法基础 3.1算法的概念 3.1.1算法的起源 3.1.2算法的定义和特征 3.2算法的描述 3.2.1自然语言 3.2.2流程图 3.2.3伪代码 3.2.4程序设计语言 3.3算法的设计 3.3.1穷举法 3.3.2回溯法 3.3.3递归 3.3.4分治法 3.3.5贪心法 3.3.6动态规划 3.4算法的评价和分析 3.4.1算法的正确性 3.4.2算法的复杂度 3.5算法中的常用数学工具 3.5.1求和 3.5.2递归方程求解 本章小结 思考题 参考文献 第四章程序设计语言 4.1程序设计语言简介 4.1.1机器语言 4.1.2汇编语言 4.1.3高级语言 4.2程序设计语言发展历程 4.3命令式程序设计语言 4.3.1结构化程序设计 4.3.2面向对象程序设计 4.4函数式程序设计语言 4.5逻辑式程序设计语言 4.6标记语言和Web开发语言 4.6.1标记语言 4.6.2Web开发语言 4.7SQL语言 本章小结 思考题 参考文献 第五章计算机硬件基础 5.1数制与运算 5.1.1数制的概念 5.1.2常用的数制 5.1.3各种数制的转换 5.1.4计算机为什么采用二进制 5.2数据的存储与表示 5.2.1存储容量单位及地址 5.2.2数值的表示 5.2.3字符的表示 5.2.4汉字的表示 5.2.5声音的表示 5.2.6图像的表示 5.3布尔逻辑与门电路 5.3.1布尔逻辑和运算 5.3.2门电路 5.3.3组合逻辑电路举例 5.4计算机硬件组成 5.4.1计算机硬件结构 5.4.2中央处理器 5.4.3存储系统 5.4.4输入设备 5.4.5输出设备 5.5指令系统及执行 5.5.1指令和程序 5.5.2计算机的工作过程 5.6组网与互联网 5.6.1网络基础知识 5.6.2网络体系结构 5.6.3因特网及应用 5.6.4网络安全基础 5.6.5物联网与云计算 本章小结 思考题 参考文献 第六章计算机软件基础 6.1计算机软件概述 6.1.1计算机软件的概念 6.1.2计算机软件的发展历史 6.1.3计算机软件的层次结构 6.1.4计算机软件与硬件的关系 6.2操作系统 6.2.1操作系统的概念 6.2.2常用操作系统 6.2.3协调机器的活动 6.2.4竞争控制 6.2.5操作系统的计算思维 6.3办公软件 6.3.1文字处理 6.3.2电子表格 6.3.3演示文稿 6.4数据库系统 6.4.1数据库系统基础 6.4.2关系模型 6.4.3数据挖掘 6.5软件工程 6.5.1软件危机 6.5.2软件工程定义 6.5.3软件生存周期 6.5.4软件工程方法 6.6人工智能 6.6.1人工智能基础 6.6.2人工神经网络 6.6.3机器人学 本章小结 思考题 参考文献 第七章计算文化与计算机职业道德教育 7.1计算文化 7.1.1计算文化与专业素质 7.1.2人类对计算本质的认识 7.1.3计算文化历史:其人其事 7.1.4计算机发展的启示 7.2网络文化 7.2.1网络文化概述 7.2.2网络文化消费 7.2.3人肉搜索与自组织理论 7.2.4网络舆情分析与引导 7.2.5社会计算与平行系统 7.3计算机职业道德教育 7.3.1道德和职业道德 7.3.2计算机伦理与网络伦理 7.3.3计算机知识产权 7.3.4网络隐私与自由 7.3.5计算机犯罪 本章小结 思考题 参考文献 索引

编辑推荐

《计算思维导论》取材丰富,内容深入浅出,既可作为高等学校计算机专业的计算机导论教材,又可作为非计算机专业的计算机基础教材,还可作为社会各类培训的计算机公共教材。

作者简介

《计算思维导论》是计算机入门课程的最新教材。全书以计算思维为主线,着重培养学生的问题求解能力、系统设计能力和人类行为理解能力。《计算思维导论》是在南方科技大学和深圳大学教学实践的基础上,经过多次讨论、修改并扩充而成,期望抛砖引玉,促进计算思维更加深入地讨论与发展。 
全书包含三大部分,一是计算思维与计算理论,二是算法基础和通用语言,三是计算机硬件和软件最小知识集。在内容上共分七章,包括计算思维基础知识、计算理论与计算模型、算法基础、程序设计语言、计算机硬件基础、计算机软件基础、计算文化与计算机职业道德教育等。

图书封面


 计算思维导论下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024