《程序是怎样跑起来的》--第9章至第12章学习笔记
2021/6/15 12:23:45
本文主要是介绍《程序是怎样跑起来的》--第9章至第12章学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第9章 操作系统和应用的关系
问题
1.监控程序的主要功能是什么?
程序的加载和运行。监控程序也可以说是操作系统的原型
2.在操作系统上运行的程序称为什么?
应用或应用程序(文字处理软件和表格计算软件等都是应用)
3.调用操作系统功能称为什么?
系统调用( system call ),应用通过系统调用( system call)间接控制硬件。
4.Windows Vista是多少位的操作系统?
32位(也有64位的版本)
5.GUI是什么的缩写?
Graphical User Interface(图形用户界面),显示器中显示的窗口及图标等通过鼠标点击可以直观操作的用
户界面。
- WYSIWYG是什么的缩写?
What You See ls what Your Get(所见即所得)
是指可以直接将显示器中显示的内容在打印机上打印出来。这也是 Windows的特征之一。
本章重点
利用计算机运行程序大部分都是为了提高处理效率。例如,Microsoft Word这样的文字处理软件,是用来提高文本文件处理效率的程序,Microsoft Excel等表格计算软件,是用来提高账本处理效率的程序。类似于文字处理软件及表格计算软件这样,为了提高特定处理效率的程序总称为“应用”。程序员的工作就是编写各种各样的应用来提高业务效率。而应用的运行环境,也就是操作系统,则直接从软件商店等处购买就可以了。不过,一定不能忽略操作系统,否则就无法编写应用。这是因为,程序员是通过利用操作系统提供的功能来编写应用的。
9.1 操作系统功能的历史
在计算机中尚不存在操作系统的年代,完全没有任何程序,因此程序员就需要编写出处理相关的所有程序。用机器语言编写程序,然后再使用开关将程序输入,这一过程非常麻烦。于是,有人开发出了仅具有加载和运行功能的监控程序
,这就是操作系统的原型。通过事先启动监控程序,程序员就可以根据需要将各种程序加载到内存中运行
操作系统本身并不是单独的程序,而是多个程序的集合体
9.2 要意识到操作系统的存在
应用通过操作系统来间接控制硬件
9.3 系统调用和高级编程语言的移植性
操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用
( systemcall ),也就是应用对操作系统( system)的功能进行调用( call)的意思。在前面的程序中用到了time()及 printf()等函数,这些函数内部也都使用了系统调用。这里之所以用“内部”这个词,是因为在Windows操作系统中,提供返回当前日期和时刻,以及在显示器中显示字符串等功能的系统调用的函数名,并不是time(和 printf()。系统调用是在time(和 printf()函数的内部执行的。
c语言等高级编程语言并不依存于特定的操作系统。这是因为人们希望不管是 Windows还是Linux,都能使用几乎相同的源代码。因此,高级编程语言的机制就是,使用独自的函数名 ,然后再在编译时将其转换成相应操作系统的系统调用(也有可能是多个系统调用的组合)。
9.4 操作系统和高级编程语言使硬件抽象化
通过使用操作系统提供的系统调用,就没必要编写直接控制硬件的程序了
第10章: 通过会标了解程序的实际构成
问题
1.本地代码的指令中,表示其功能的英语缩写称为什么?
助记符,汇编语言是通过利用助记符来记述程序的
2.汇编语言的源代码转换成本地代码的方式称为什么?
汇编
3.本地代码转换成汇编语言的源代码的方式称为什么?
反汇编
4.汇编语言的源文件的扩展名,通常是什么格式?
.asm
5.汇编语言程序中的段定义指的是什么?
构成程序的命令和数据的集合组(在高级编程语言的源代码中,即使指令和数据在编写时是分散的,编译后也会在段定义中集合汇总起来。)
6.汇编语言的跳转指令,是在何种情况下使用的?
将程序流程跳转到其他地址时需要用到该指令(在汇编语言中,通过跳转指令,可以实现循环和条件分支)
10.1汇编语言和本地代码是一一对应的
汇编语言是用助记符编程的语言
10.2通过编译器输出汇编语言的源代码
10.3 不会转换成本地代码的伪指令
第11章
轮询:按顺序调查多个外围设备的状态
DMA:不通过CPU的情况下,外围设备直接和主内存进行数据传送
这篇关于《程序是怎样跑起来的》--第9章至第12章学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南