《世界是数字的》读书笔记 三
第六章 软件系统
操作系统是软件中的基础层,他负责管理计算机硬件,并为其他被称作应用程序的程序运行提供支持。
6.1操作系统
操作系统控制和分配计算机资源。首先,他负责管理CPU,调度和协调当前运行的程序。操作系统通常都需要管理数十个同时运行的进程或任务。 其次,操作系统管理RAM。他把程序加载到内存中以便执行指令。 最后,操作系统管理和协调外接设备的活动。
6.2操作系统怎么工作
计算机启动时首先要加载代码,加载的过程中还要检查硬件,比如哪些设备已经接入电脑,,并且为接入的设备加载软件(驱动程序),一边操作系统能够使用这些设备。
6.21系统调用
操作系统提供了一个平台,在这平台上可以构建应用程序。
操作系统为应用程序定义了一组操作(也叫服务),操作系统以标准化的方式提供这些服务,应用程序通过执行一些特殊指令来请求这些服务,并将控制权移交给操作系统中特定的地址。 操作系统根据请求完成计算,然后再将控制权和结果返回给应用程序。
操作系统的“入口”被称为系统调用。
6.22设备驱动程序
设备驱动程序是一种沟通操作系统与特定硬件设备的程序。
驱动程序把操作系统与特定设备独有的性质隔离开来,操作系统通过驱动程序的接口以统一的方式访问相应设备,从而方便在设备之间切换。
6.3其他操作系统
6.4文件系统
文件系统能够让硬盘、CD和DVD、移动存储设备,以及其他各种存储器等物理存储媒体,变成看起来像是由文件和文件夹组成的层次结构。
在最低级的层次上,文件系统服务是通过系统调用来提供的。
6.41磁盘文件系统
6.42删除文件
6.43其他文件系统
软盘——已经退出历史舞台,与硬盘在逻辑上具有同样的层次结构,但细节上有所不同。
CD-ROM和DVD——一般只读,不能写。
USB闪存盘和SD闪存卡——容量小一点,速度可能更慢一点。
6.5应用程序
应用程序是所有在操作系统平台上完成某种任务的软件或程序的统称。 通常可以分为两类,一类是小型独立的应用,只能做一件事;另一类是大型软件,包含很多操作。
异步事件,在非预定时间发生、没有特定次序的事件。
浏览器支持静态文本和具有互动性的程序。
浏览器自身是一个平台,要提供不同层次的扩展接口。
6.6软件分层
计算机的最底层是硬件,硬件上方是操作系统层(内核),再往上的一层是函数库。
在接口设计得当的情况下,同一个操作系统的接口完全可以适用于众多制造商生产的不同类型的CPU。
函数库提供通用服务。
第七章 学习编程
JavaScript的优点——无处不在;对学习者要求很低;功能强大。
JavaScript的缺点——不同浏览器可能不能对同一个JavaScript程序提供支持;某些特性不好理解;通常只能在网页中运行,很少能独立存在。
7.1编程语言的基本概念
编程语言必须符合语法。
语义规定了语言中所有元素的含义。
7.2第一个JavaScript程序
写JavaScript程序时必须使用标准的双引号(""),不能使用所谓的智能引号。
不能用Word等文字处理程序来生成HTML文件,应该用记事本或者Text Edit这样的文本编辑器,并保存成扩展名为.html的纯文本文件。
7.3第二个JavaScript程序
变量——RAM中的一个位置,可以让程序在运行期间存储数据。
赋值——通常用“=”表示,含义是“完成右边的运算,把运算结果保存在左边的变量里”。
7.4循环
while循环——在反复执行一系列指令时更有规律性,也更有条理。
7.5条件
7.6库和接口
7.7JavaScript怎么工作
软件小结
算法——一系列精确、无歧义的步骤,可以执行某种任务,然后停止。
复杂性——算法的复杂性是对算法要执行的工作量的抽象描述。度量的依据是基本操作,而表述的是计算次数与数据项数的关系。
编程——算法是抽象的,而编程是具体的。程序是让计算机完成一个任务的所有步骤的具体描述。
编程语言——编程语言是表达所有计算步骤的记号库。