openEuler操作系统/华为智能计算技术丛书

openEuler操作系统/华为智能计算技术丛书
作者: 编者:任炬//张尧学//彭许红|责编:盛东亮//钟志芳
出版社: 清华大学
原售价: 89.00
折扣价: 67.93
折扣购买: openEuler操作系统/华为智能计算技术丛书
ISBN: 9787302563280

作者简介

张尧学 中国工程院院士,清华大学计算机系教授,湖南省科协,软件工程专业教学指导委员会主任委员。长期从事操作系统、新型网络计算模式、计算机网络等领域研究。以第一完成人获得国家自然科学一等奖1项(2014年),国家技术发明二等奖1项(2004年),国家科学技术进步二等奖2项(2001年和1998年),省部级奖励5项,何梁何利科学与技术进步奖(2005年)。曾任中南大学校长(2011—2017年)。现担任Chinese Journal of Electronics主编,曾主编《计算机操作系统》等多本畅销教材。任炬 中南大学计算机学院教授,湖南省杰出青年基金获得者,中国科协青年托举人才,湖南省湖湘青年英才。研究方向包括物联网、操作系统、网络计算、网络大数据等。在国际著名期刊和会议上发表80多篇论文,曾获2019年IEEE TCSC早期职业成就奖以及多个国际会议最佳论文奖。

内容简介

第3章 进程与线程 在早期的单道批处理系统中,计算机一次只能执行 一个程序。该程序完全控制机器,并访问所有的系统资 源。这种控制方式存在资源浪费、系统运行效率低等问 题。为了提高资源利用率和系统的吞吐量,现代计算机 系统采用多道程序技术,允许多个程序并发执行,共享 系统资源。在多道程序环境下,由于CPU需要在各程序 之间来回切换,程序的执行具有间断性。此外,由于并 发执行的程序共享系统中的资源,任一程序对这些资源 状态的改变都会影响其他程序的运行环境,即程序之间 存在制约关系。然而,程序只是对计算任务和数据的静 态描述,无法刻画并发执行过程带来的这些新特征。因 此,计算机系统使用进程作为描述程序执行过程且能用 来共享资源的基本单位。另外,由于进程的创建和切换 开销较大,为了进一步提高执行效率,操作系统引入了 “线程”的概念。本章先通过程序的并发执行过程引出 进程这一抽象,并介绍系统对进程的描述和控制; 随 后介绍进程是如何通过系统调用在CPU上来回切换,从 而实现并发执行的; 最后对线程进行了详细阐述。 3.1进程的概念 为了让程序源代码从人类易于理解的高级语言转换 成计算机能够执行的机器语言,所有程序都将经过编译 、链接、加载和执行4个阶段。一段时间内,机器通常 并不只执行一个程序,而是并发地执行多个程序。为了 对并发执行的程序加以描述和控制,操作系统引入了“ 进程”这一抽象。 3.1.1程序: 从源代码到执行 图31展示了一份C语言源代码(符合C99标准), 它的功能是判断一个年份是否是闰年。下面以该程序为 例,介绍一个程序从编写源代码到执行的过程。其中, 链接用于将多个可重定位目标文件(由程序编译而成或 是来自静态库)合并成一个可执行文件。由于链接过程 与本章相关性不强,此处省略,感兴趣的读者可查阅编 译原理相关书籍进行了解。 1.#include 2.#include 3.#include 4.int global_var = 1; 5.char *warning = \"Wrong Input!\n\"; 6.bool leap_year(int year) { 7.bool result; 8.if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) 9.result = true; //判断闰年 10.else 11.result = false; 12.return result; 13.} 14.int main(void) { 华为公司官方出品!著名计算机科学家张尧学院士主编!深入解析操作系统原理及openEuler核心技术!华为技术有限公司 创立于1987年,是全球领先的ICT(Information and Communications Technology,信息和通信技术)基础设施和智能终端提供商,致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。目前,华为约有19.4万名员工,业务遍及170多个国家和地区,为30多亿人提供服务。华为在通信网络、IT、智能终端和云服务等领域为客户提供有竞争力、安全可信赖的产品、解决方案与服务,与生态伙伴开放合作,持续为客户创造价值,释放个人潜能,丰富家庭生活,激发组织创新。华为坚持围绕客户需求持续创新,加大基础研究投入,厚积薄发,推动世界进步。