软件:
Ⅰ.计算机是一种通用机器,能够执行任何计算,虽然只有很少的指令,但执行指令的速度却很快,而且能够很大程度上控制自己的运行。
能够让计算机完成某种任务的指令序列通称软件。
现代系统越来越多地采用通用硬件(如处理器、内存,以及与外界相连接的接口),同时靠软件来实现特定的行为。
Ⅱ.算法:
1.设计、分析和实现高效的算法是学院派计算机科学的工作核心。
2.算法的一个关键属性是其效率有多高。
3.NP问题的特点是,它可以快速验证某个解决方案是否正确,但想要迅速找到一个解决方安娜却很难。NP 的意思是“非确定性多项式”。
4.算法和复杂性的研究是计算机科学的一个重要组成部分,既有理论也有实践。
Ⅲ.编程与编程语言
1.①算法是忽略具体实例而对过程进行的一种抽象或理想化的描述。算法通过一组确定的基本操作来表达。
②程序不是抽象的,它陈述了一台真正的计算机要完成某个任务所必须执行的具体步骤。程序必须考虑内存不足、处理器速度不快、无效或无意的输入、网络连接中断等实际问题。
2.①EDSAC是第一批真正可编程的电子计算机,给这些计算机编程要把表示指令和数据的书中打在穿孔卡片或纸上,然后把这些数值加载到存储器中执行。
②能代替人处理某些琐事的程序被称为汇编器,最初用来组装程序中由其他程序员事先写好的部分。相应的语言叫做汇编语言,而这个层次上的编程叫做汇编语言编程。汇编器会负责跟踪数据和指令在存储器中的位置。
③不同的处理器的汇编语言只能用于为该处理器编写程序。
3.①用高级语言编写的代码经过一个翻译程序,可被翻译为目标处理器的汇编指令。这个翻译程序通常被称作编译器。
②相比汇编语言,高级语言拥有很多优势。用高级语言编程接近人类的思维方式。高级语言程序独立于各种体系结构,通常无需任何修改即可在不同的体系结构上运行。
③第一批高级语言专注于特定的领域。其中最早的语言叫做FOETRAN。第二个主要的高级语言是COBOL。BASIC当初de设计目标是要成为学习编辑的入门语言。语言中最成功的是C。
4.①在最基本的层次上,编程语言提供了一种机制,叫做函数。
②函数有函数名,接受完成任务所需的输入数据值,完成计算后把结果返回给调用它的程序。函数可以基于组件搭建程序,而这些组件是独立创建,可以由任何程序员按需要使用的。一组相关的函数集合起来,就叫库。
③函数库提供的服务是通过API的形式描述给程序员的。API会罗列出所有函数。也会描述数据结构。
④任何规模的程序都会包含错误,这些缺陷被称为bug。
5.①知识产权值得是由个人经过发明或创造等创造性劳动得到的各种无形资产。涉及商业机密、版权、专利和许可。
商业机密是最明适用的。
版权保护创造性的表达。
专利为发明提供法律保护。
许可时批准使用某种产品的法律协议。
②API实际上是服务用户与服务提供者之间的一个契约。
③标准是对某些产品如何制造或者应该具有什么用途的准确、详细的说明。软件标准的例子涉及编程语言、数据格式、算法处理等等。
④程序员编写的代码都被称为源代码。而编译源代码得到的适合某种处理器执行的编码,叫做目标码。
⑤开放源代码是指另一种做法,即源代码可以被任何人自由阅读、研究和改进。
Ⅳ.软件系统
- 两种主要的软件:操作系统和应用程序。操作系统是软件中的基础层,负责管理计算机硬件,并为其他被称作应用程序的程序运行提供支持。
- ①操作系统控制和分配计算机资源,负责管理CPU,调度和协调当前运行的程序,它控制CPU在任意时刻执行的程序。会将一个暂时等待的程序挂起,会阻止个别程序多占资源。
②操作系统管理RAM,确保不同的程序相互分离、互不干扰,即一个程序不能访问分配给另一个程序或操作系统自身的内存。
③操作系统管理存储在磁盘上的信息。文件系统是负责在计算机中见过的文件夹和文件般的分层机制。
④操作系统管理和协调外接设备活动。
3.①操作系统根据请求完成计算,然后将控制权和结果返回给应用程序被称为系统调用。
②设备驱动程序是一种沟通操作系统与特定硬件设备的程序。
4.①文件系统是操作系统的一组成部分,它能让硬盘、CD、和DVD、移动存储设备以及其他各种存储器等物理存储媒体,变成看起来像是由文件和文件夹组成的层次结构。
②计算机有逻辑组织和物理实现两大概念,文件系统就是这两大概念的集中体现。
③文件夹也是一个文件,只不过这个文件中包含着文件夹和文件的位置信息。文件系统保留了自己管理和维护文件夹内容的权限。
④文件系统会圈圈负责管理文件夹内容,任何应用软件都不能直接修改该内容。
⑤网络文件系统经常用于备份,也可以作为主文件存储系统。
5.①“应用程序”是一种统称,表示所有在操作系统平台上完成某种任务的软件程序。
②应用程序分为两类:小型独立的应用,大型软件。
6.计算机最底层是硬件。往上是操作系统层,通常把这一层称为内核。操作系统介于硬件和应用程序之间。再往上是函数库层。