计算机软件技术基础知识点总结
高一计算机基础知识点总结归纳

高一计算机基础知识点总结归纳计算机科学与技术作为现代信息社会的核心学科之一,在高中阶段的计算机基础课程中占据着重要的地位。
掌握计算机基础知识对于学生的未来发展具有重要意义。
本文旨在对高一学生所学习的计算机基础知识进行总结归纳,以帮助他们更好地理解和掌握这一学科。
一、计算机硬件知识点1. 中央处理器(CPU)- CPU是计算机的核心部件,负责执行指令和数据的处理工作。
- CPU的主要组成部分包括控制单元、算术逻辑单元和寄存器等。
- 学生需要了解CPU的基本原理、性能指标和发展历程等。
2. 存储器和存储器层次结构- 存储器用于计算机的数据和指令存储,包括主存储器(RAM)和辅助存储器(硬盘、光盘等)。
- 学生需要了解存储器的种类、特点、读写速度和容量等,并理解存储器层次结构的原理。
3. 输入输出设备- 输入输出设备是计算机与外部世界进行交互的接口,包括键盘、鼠标、显示器、打印机等。
- 学生需要了解各种输入输出设备的工作原理和使用方法,并明白它们与计算机的数据传输方式。
二、计算机软件知识点1. 操作系统- 操作系统是计算机系统的核心软件,负责管理计算机的硬件和资源,并提供用户与计算机的接口。
- 学生需要了解操作系统的功能、特点和常见操作系统的比较,如Windows、Mac OS和Linux等。
2. 程序设计语言- 程序设计语言是开发计算机程序的工具,如C、Python和Java 等。
- 学生需要了解常见的程序设计语言的特点和适用领域,以及编程基本概念和代码编写技巧。
3. 网络和互联网- 网络是计算机之间进行通信和数据传输的基础设施,互联网是全球范围内的网络连接。
- 学生需要了解计算机网络的基本原理、网络拓扑结构和常见网络协议,以及互联网的发展和应用。
三、计算机安全知识点1. 计算机病毒和网络安全- 计算机病毒是指危害计算机系统的恶意软件,网络安全是保护计算机网络免受攻击和破坏的措施。
- 学生需要了解计算机病毒的种类、传播途径和防范措施,以及网络安全的关键技术和防护手段。
第三章 计算机软件(详细知识点总结)

第三章计算机软件一、计算机系统基本组成:硬件和软件(一)计算机软件:能指挥计算机完成特定任务的、以电子格式存储的程序、数据和相关文档。
(二)软件的功能都在硬件的支撑下实现,用硬件实现的功能可能由软件来部分实现。
二、软件(一)定义(ISO):包含与数据处理系统操作有关的程序、规程、规则以及相关文档的智力创作。
(二)组成:程序+(与程序相关的)数据和文档。
1.文档:程序开发、维护和使用所涉及的资料,如设计报告、维护手册和用户使用指南等2.程序是软件的主体,单独的数据和文档一般不认为是软件。
(三)特性:1.依附性:通常必须使用物理载体进行存储,依附于一定的硬件和软件环境运行2.不可见性:以二进位表示、无形的产品3.脆弱性:容易受到病毒入侵4.易复制性5.无磨损性(四)软件版权:1.定义:软件的作者享有拷贝、发布、修改等权利,用户购买软件只有使用权2.软件盗版:未获得版权所有者许可就复制和散发商品软件的行为3.相关法律法规:知识产权保护法、著作权法、专利法、计算机软件保护条例……(五)软件分类:1.按应用角度分:系统软件和应用软件1)系统软件:A.定义:管理系统资源、提供常用基本操作的软件B.特点:交互性(与计算机硬件系统)、通用性C.组成:a)基本输入/输出系统(BIOS)——最接近计算机硬件的系统软件b)操作系统i.DOS、Windows 95、Windows 98、WindowsMe、Windows NT 4.0、Windows 2000、WindowsXP、Windows 2003、Windows Vista、Windows 7ii.Unix:BSD、SRV4、SCO UNIX、AIX、Solaris、HP-UXiii.Linux:Red Hat、SuSE等c)程序设计语言处理系统(编译器):FORTRAN、BASIC、Visual Basic、Java、C、C++、LISP、PROLOG、MATLAB、ALGOL、PASCAL等d)数据库管理系统(DBMS):FoxPro、Microsoft Access、VFP、SQL Server、Oracle、DB2、SYBASE等e)实用程序:磁盘清理程序、磁盘碎片整理程序、杀毒软件、防火墙等2) 应用软件:A. 定义:为用户完成某项特定任务的软件B. 按应用软件的开发方式和适用范围,可分为:通用应用软件、定制应用软件a) 通用应用软件: b) 定制应用软件: i. 定义:按照不同领域用户的特定应用要求而专门设计开发的软件 ii. 举例:超市销售管理和市场预测系统、工厂的集成制造系统、大学教务管理系统、医院门诊挂号系统、酒店客房管理系统、民航售票系统3) 系统软件和应用软件的关系:应用软件以系统软件为基础(如:Powerpoint 以windows 为基础;Powerpoint 调用windows 的功能)2. 按软件权益如何处置分为:商品软件、共享软件、自由软件1) 软件许可证(License):允许用户购买一份软件而同时安装在约定的若干台计算机上使用 2) 自由软件A. 代表:TCP/IP 、LinuxB. 允许用户随便拷贝、修改其源代码和销售(六) 软件发展的历史:1. 第一阶段:个体工作方式2. 第二阶段:合作方式1) 标志:软件危机2) 软件危机产生原因:软件复杂程度提高、研制周期变长、正确性难以保证、可靠性问题突出(并非硬件软件不协调发展)3. 第三阶段:软件工程(用工程化的方法组织软件的开发)三、操作系统(一) 地位:计算机运行配置必不可少的底层系统软件 (二) 作用:1. 管理分配系统中的各种软硬件资源2. 为用户提供友善的人机界面1) 命令行界面2) 图形用户界面:采用图标(icon )来形象地表示系统中的文件、程序和设备等对象3. 为应用程序的开发和运行提供一个高效率的平台(开发和运行应用程序与运行的操作系统密切相关) 1) 裸机:只有硬件、没有软件的计算机。
软考计算机基础知识

软考(计算机技术与软件专业技术资格(水平)考试)涉及广泛的计算机基础知识,以下是一些主要的考点:
1. 计算机系统基础知识:包括计算机硬件系统的组成和功能,如CPU、内存、硬盘、输入输出设备等;计算机软件系统的组成和功能,如操作系统、数据库管理系统、网络软件等。
2. 数据结构与算法:包括线性表、树、图等基本数据结构,以及排序、查找等常见算法。
3. 操作系统知识:包括操作系统的基本概念、功能、分类以及常见操作系统的特点和使用方法。
4. 数据库知识:包括数据库的基本概念、数据模型、数据库设计和管理等方面的知识。
5. 网络知识:包括计算机网络的基本概念、分类、拓扑结构以及网络协议等。
6. 软件工程知识:包括软件生命周期、软件开发模型、软件测试方法以及软件质量管理等方面的知识。
7. 信息安全知识:包括信息安全的基本概念、加密技术、防火墙技术、入侵检测技术等。
8. 多媒体技术知识:包括音频、视频、图像处理等多媒体技术的基本概念和应用。
此外,软考还涉及一些与计算机相关的法律法规和标准化知识,如知识产权、计算机软件保护条例、标准化基础知识等。
在备考软考时,建议考生根据考试大纲的要求,系统学习相关知识点,并结合实际案例进行练习,以提高自己的应试能力。
同时,也可以参加一些培训课程或模拟考试,以检验自己的学习成果和应试水平。
请注意,以上只是软考涉及的一些主要计算机基础知识考点,具体考试内容和要求可能会因考试科目和级别的不同而有所差异。
因此,在备考时,建议考生仔细阅读相关科目的考试大纲和要求,以确保自己能够全面、准确地掌握所需的知识点和技能。
计算机软件培训总结及小结8篇

计算机软件培训总结及小结8篇篇1一、培训背景与目的随着信息技术的迅猛发展,计算机软件的应用已经渗透到各行各业。
为了提升我单位员工在计算机软件领域的技能水平,我们组织了一次全面的计算机软件培训。
本次培训旨在加强员工对计算机软件基础知识的理解和掌握,提高实际操作能力,以适应不断变化的市场需求。
二、培训内容1. 计算机软件基础知识:包括操作系统、数据结构、计算机网络等基本概念。
2. 编程语言与技术开发:重点学习了Java、Python等主流编程语言,并介绍了软件开发流程与技术。
3. 数据库管理与应用:深入讲解了SQL语言及其在数据库设计与管理中的应用。
4. 实战操作:进行了多个与实际应用结合的项目练习,以提升员工的实践能力。
三、培训过程本次培训采取了理论与实践相结合的教学方法。
在理论学习部分,我们邀请了具有丰富教学经验的老师进行授课,确保员工对基础知识有充分的理解。
在实战操作环节,我们设置了多个项目,让员工分组进行实际操作,通过解决项目中遇到的问题,加深对理论知识的理解和运用。
四、培训效果经过本次培训,员工们在计算机软件方面取得了显著的进步。
首先,他们对计算机软件的基础知识有了全面的了解,并能够熟练掌握编程语言的基本语法和常用的开发技术。
其次,在实战操作中,员工们表现出了良好的团队协作能力和问题解决能力。
通过项目的实践,他们能够将理论知识运用到实际中,提高了软件开发效率。
五、问题与解决方案在培训过程中,我们也遇到了一些问题。
部分员工在编程方面存在基础薄弱的情况,影响了整体的学习进度。
针对这一问题,我们采取了以下措施:1. 为这部分员工提供额外的辅导,加强基础知识的巩固。
2. 调整教学进度,确保员工有足够的时间来理解和掌握新知识。
3. 增加实战操作的次数,通过实践来巩固和提升编程能力。
六、经验教训及改进方向通过这次培训,我们获得了以下经验教训:1. 在培训前,需要对员工的现有水平进行评估,以便制定更加针对性的培训内容。
软件技术基础知识点

软件技术基础知识点在当今数字化的时代,软件技术已经成为推动社会发展和创新的关键力量。
无论是我们日常使用的手机应用,还是企业运行的复杂系统,都离不开软件技术的支持。
接下来,让我们一起探索软件技术的一些基础知识点。
一、数据结构数据结构是软件技术中非常重要的概念。
它是指相互之间存在一种或多种特定关系的数据元素的集合。
常见的数据结构包括数组、链表、栈、队列、树和图等。
数组是一种最简单的数据结构,它是一组相同类型的元素按顺序存储在连续的内存空间中。
数组的优点是访问元素的速度快,但插入和删除元素的效率较低。
链表则是通过指针将各个元素链接在一起,不需要连续的内存空间。
链表在插入和删除元素时较为方便,但访问元素的速度相对较慢。
栈是一种特殊的线性表,遵循“后进先出”的原则。
就像往一个桶里放东西,最后放进去的会最先被取出。
队列则遵循“先进先出”的原则,类似于排队买票,先到的先买。
树是一种分层的数据结构,常见的有二叉树、二叉搜索树等。
二叉搜索树可以快速地进行查找、插入和删除操作。
图则用于表示多对多的关系,在网络路由、社交网络分析等领域有广泛的应用。
二、算法算法是解决特定问题的一系列明确步骤。
好的算法应该具有正确性、可读性、健壮性、高效性和低存储量需求等特点。
常见的算法有排序算法,如冒泡排序、插入排序、选择排序、快速排序等。
冒泡排序通过不断比较相邻的元素并交换位置,将最大的元素逐步“浮”到数组的末尾。
快速排序则通过选择一个基准元素,将数组分为小于和大于基准元素的两部分,然后对这两部分分别进行排序。
搜索算法也是重要的算法之一,包括顺序搜索和二分搜索。
顺序搜索逐个检查元素,直到找到目标元素或遍历完整个数组。
二分搜索则是在有序数组中,通过不断将数组对半分割来查找目标元素,效率较高。
还有动态规划算法,用于解决具有重叠子问题和最优子结构性质的问题,如背包问题、最长公共子序列问题等。
三、编程语言编程语言是软件开发者与计算机进行交流的工具。
初中微机所有知识点总结

初中微机所有知识点总结
一、计算机系统基础知识
1. 计算机的定义及组成
2. 计算机的工作原理
3. 数据的表示和存储
二、计算机软件基础知识
1. 操作系统及其功能
2. 计算机网络基础知识
3. Office 办公软件的基本操作
4. 常见的应用软件及其功能
三、计算机硬件基础知识
1. 计算机硬件的组成
2. 计算机硬件的连接和安装
3. 计算机硬件的维护和保养
四、计算机网络基础知识
1. 网络的定义及组成
2. 局域网、广域网、互联网等网络的概念
3. 网络协议及其功能
4. 网络安全的基本知识
五、计算机编程基础知识
1. 计算机编程语言的基本概念
2. 算法及其特点
3. 数据结构及其应用
4. 计算机程序的设计和实现
六、计算机操作技能
1. 文件管理技能
2. 数据备份与恢复技能
3. 计算机安全使用技能
4. 电子邮件的基本操作
七、计算机应用技术
1. 多媒体技术的基本概念
2. 数据库应用技术
3. 信息检索技术
4. 人工智能的基本概念
八、计算机辅助设计技术
1. 计算机绘图技术
2. 计算机辅助制造技术
3. 计算机辅助工程技术
九、计算机图形图像处理技术
1. 计算机图形图像的基本特点
2. 图像处理软件的基本操作
3. 图形设计和排版技术
4. 计算机图像的应用
十、计算机故障处理技术
1. 计算机故障排除和维修技术
2. 计算机病毒防治技术
3. 计算机性能优化技术
以上是初中微机所有知识点的总结,希望对大家有所帮助。
软件技术专业基础知识

软件技术专业基础知识作为软件技术专业的学生,掌握基础知识是非常重要的。
本文将介绍软件技术专业的基础知识,并对其进行详细阐述。
软件技术专业的学生需要掌握的基础知识包括计算机基础、编程语言、数据结构与算法、操作系统、数据库等内容。
下面我们将逐一介绍这些基础知识的相关内容。
1. 计算机基础计算机基础是软件技术专业学生的入门知识,包括计算机原理、计算机组成原理、数字逻辑、计算机网络等内容。
学生需要了解计算机的工作原理,理解CPU、内存、输入输出设备等的工作原理,同时也需要了解计算机网络的基本原理、协议和网络安全知识。
2. 编程语言掌握一门或多门编程语言是软件技术专业学生必备的技能。
常见的编程语言包括C、C++、Java、Python、JavaScript等。
学生需要了解编程语言的语法规则、基本数据类型、控制结构、函数与模块、面向对象编程等内容,并能够用编程语言解决实际问题。
3. 数据结构与算法数据结构与算法是软件技术专业学生需要深入学习的知识领域。
学生需要了解常见的数据结构,如数组、链表、栈、队列、树、图等,理解它们的特性和应用场景。
同时也需要学习常见的算法,如排序算法、查找算法、图算法等,掌握算法的设计与分析方法。
4. 操作系统操作系统是计算机系统的核心组成部分,软件技术专业学生需要了解操作系统的基本原理、进程管理、文件系统、内存管理、设备管理等内容。
学生需要理解操作系统的功能和作用,并能够编写简单的操作系统程序或进行系统调优。
5. 数据库数据库是软件开发中常用的存储与管理数据的技术,软件技术专业学生需要学习数据库的基本原理、关系型数据库与非关系型数据库的特点、SQL语言等内容。
学生需要了解数据库的设计与优化原则,能够设计和管理数据库系统。
软件技术专业的基础知识包括计算机基础、编程语言、数据结构与算法、操作系统、数据库等内容,学生需要通过系统的学习和实践掌握这些知识,为日后的深入学习和实际应用奠定坚实的基础。
知识点总结最全的软件

知识点总结最全的软件第一部分:软件基础知识1. 软件概念和分类软件是计算机系统中的非物质部分,其包括计算机程序、数据和文档。
根据功能和用途,软件可分为系统软件、应用软件和工程/嵌入式软件。
系统软件是管理和控制计算机硬件资源的程序,包括操作系统和中间件。
应用软件是为特定任务而开发的程序,包括办公软件、设计软件和游戏软件。
工程/嵌入式软件是用于嵌入式系统或特定设备的特定软件,并与硬件交互。
2. 软件开发生命周期软件开发生命周期是软件从概念到退役的全过程。
它包括需求分析、设计、编码、测试、部署和维护等阶段。
常见的软件开发模型有瀑布模型、敏捷开发、迭代开发和原型模型等。
3. 软件版本管理软件版本管理是对程序开发过程中的版本进行控制和管理。
常用的版本管理工具包括Git和SVN等。
第二部分:软件开发与编程语言1. 编程语言编程语言是用于编写程序的形式化语言。
常用的编程语言包括C、C++、Java、Python、JavaScript和Ruby等。
它们具有不同的特点和适用场景,如C语言适合系统编程,Java适合企业级应用,Python适合数据分析和机器学习等。
2. 软件开发工具软件开发工具包括集成开发环境(IDE)、文本编辑器和调试器等。
常用的IDE包括Visual Studio、Eclipse和IntelliJ IDEA等。
此外,文本编辑器如Sublime Text和Atom等也十分常见,它们多用于轻量级开发。
3. 软件测试与调试软件测试是确保程序质量的过程,包括单元测试、集成测试和验收测试等。
调试是识别和修复程序错误的过程,常用的调试工具包括GDB和Visual Studio Debugger等。
第三部分:软件工程1. 软件需求工程软件需求工程是明确软件功能和实现方式的过程,其要求对用户需求进行收集、分析和规范化。
需求规格说明书是描述软件需求的主要文档。
2. 软件架构与设计软件架构是软件的整体结构和组成部分,包括模块、组件和接口等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机软件技术基础》第一章算法1.1算法的基本概念算法:指解题方案的准确而完整的描述算法的基本特征:能行性(算法中的每一个步骤必须能够实现;算法执行的结果要能够达到预期的目的)确定性(算法中的每一个步骤都必须是有明确定义的,不能摸棱两可,也不能有多义性)有穷性(算法必须能在执行有限个步骤之后终止)拥有足够的情报(算法执行的结果总是与输入的初始数据有关。
不同输入对应不同输出)算法:是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的、明确的,此顺序将在有限的次数下终止。
算法的基本要素:1.算法中对数据的运算和操作(算术运算、逻辑运算、关系运算、数据传输【赋值、输入、输出】)2.算法的控制结构(算法中各操作之间的执行顺序)1.2算法描述语言C语言描述和简单的算法描述语言(1)符号与表达式:符号主要用以表述变量名、数组名等(2)赋值语句(3)控制转移语句:无条件转移语句形式:GOTO 标号条件转移语句形式IF C THEN SIF C THEN S1ELSE S2(4)循环语句WHILE语句:WHILE C DO SFOR语句:FOR i=init TO limit BY step DO S(5)其他语句EXIT语句:退出某个循环,使控制转到包含EXIT语句的最内层的WHILE或FOR循环后面的一个语句去执行RETURN语句:结束算法的执行(允许使用用引号括起来的注释信息)READ(INPUT)和WRITE(PRINT/OUTPUT)语句:用于输入输出(6)算法中的注释总是用一对方括号【】括起来;复合语句用一对花括号{}括起来1.3算法设计基本方法1.列举法【例1.1】基本思想:根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的(通常解决“是否存在”“有多少种可能”类型问题)特点:算法比较简单,但列举情况较多时,工作量将很大寻找路径、查找、搜索等问题采用列举法有效2.归纳法基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的关系3.递推法(数学例题)指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果(本质属于归纳法)4.递归基本思想:将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那些简单的问题后,再沿着原来分解的逆过程逐步进行综合【例1.3】自己调用自己的过程称为递归调用过程递归分为直接递归:一个算法P显式地调用自己间接递归:算法P调用另一个算法Q,而算法Q又调用算法P5.减半递推技术(分治法)减半:将问题的规模减半,而问题的性质不变递推:重复“减半”的过程【例1.4】6.回溯法通过对问题的分析,找出一个解决问题的线索;然后沿着这个线索逐步试探。
对于每一步的试探,如果成功,就得到问题的解;若试探失败,就逐步回退,换别的路线再进行试探。
(处理复杂数据结构方面有广泛应用)【例1.5】1.4算法的复杂度分析算法的复杂度主要包括时间复杂度和空间复杂度算法的时间复杂度:指执行算法所需要的计算工作量可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量,同时还需对问题的规模进行度量综上,算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n)其中,n是问题的规模在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量(1)平均性态:用各种特定输入下的基本运算次数的带权平均数来度量算法分工作量A(n))(2)最坏情况复杂性:在规模为n时,算法所执行的基本运算的最大次数W(n)【例1.6】算法的空间复杂度:指执行这个算法所需要的内存空间一个算法所占用的存储空间包括:算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
其中额外空间包括:算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间如果额外空间量相对于问题规模来说是常数,则称该算法是原地(in place)工作的实际问题中,为减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间第4章资源管理技术1、计算机系统主要包括硬件(即物理设备)和软件(即程序及其文档的总称)两大部分;计算机系统中所有的硬件和软件统称为计算机资源。
2、操作系统是最基本和核心的系统软件,是用以控制和管理系统资源、方便用户使用计算机的程序的集合。
操作系统的功能和任务主要有处理机管理、存储器管理、设备管理、文件管理、作业管理。
3、操作系统发展过程:手工操作阶段(手编程序)、成批处理系统(脱机技术)、执行程序系统(主机与通道并行工作)、多道程序系统(并行性、共享性)。
4、为使主机和输入输出设备并行工作,人们使用以通道技术、中断技术和多道程序设计技术为基础的假脱机技术。
5、多道程序技术是指在计算机内存中同时存放多道相互独立的程序,他们在操作系统的控制下,共享系统的硬件和软件资源。
6、操作系统的分类(按使用环境及访问方式):(1)多道批处理操作系统(2)分时操作系统,特点:同时性、独立性、及时性、交互性;分时是指若干个并发程序对CPU的分时,其中每个程序对CPU的时间分享单位称为时间片;第一个分时操作系统是UNIX操作系统。
(3)实时操作系统(4)通用操作系统(5)多窗口系统,特点:灵活、方便的窗口操作,弹出式菜单、命令对话框;代表:Microsoft Windows系统。
7、顺序程序的特点:顺序性(按顺序执行)、封闭性(一旦执行其结果不受外界因素影响)、可再现性(结果与运行速度无关)。
8、在单处理机的情况下,所谓并发执行是指多个程序的运行在时间上是重叠的,一个程序的运行尚未结束,另一个程序的运行已经开始,而并不是说这些程序在某一时刻同时占用处理机在运行。
9、并发程序特点:并发程序没有封闭性(结果与各程序执行的相对速度有关,结果的不确定性);程序与其执行过程不是一一对应的关系(共享);程序并发执行可以相互制约。
10、所谓进程,是指一个具有一定独立能力的程序关于某个数据集合的一次运行活动,简单地说,进程可以是并发执行的程序的执行过程,是控制程序管理下的基本的多道程序单位。
11、进程与程序的区别:(1)进程是程序在处理机上的一次执行过程,是动态的概念;而程序只是一组指令的有序集合,是一个静态的概念。
(2)进程是程序的执行过程,是一次运行活动,具有一定的生命期;而程序是可以作为一种软件资源长期保存的。
(3)进程的组成包括程序、数据以及进程控制块(PCB)。
(4)一个程序可能对应多个进程。
(5)一个进程可以包含多个程序。
12、进程三种基本状态:运行状态(进程只能在运行状态下结束)、就绪状态、等待状态(又叫阻塞状态或封锁状态),三种基本状态之间在一定条件下可相互转换。
13、对进程的物理组织方式通常有线性表和链接表两种。
14、由于各进程互相独立地动态获得,不断申请和释放系统中的软硬件资源,这就有可能使系统出现这样一种状态:其中若干个进程均因互相“无知地”等待对方所占有的资源而无限地等待。
这种状态称为死锁。
15、发生死锁的四个必要条件:资源的独占使用、资源的非抢占分配、资源的部分分配、对资源的循环等待。
当其中某一条件满足时,有可能发生死锁,但也并不是一定会发生死锁。
16、当多个进程共享数据块或其他排他性使用资源时,不能同时进入存取或使用,但进入的次序可以任意,这些进程之间的这种相互制约关系称为互斥(多个操作决不能在同一时刻执行)。
进程之间为了合作完成一个任务,而需要互相等待和互相交换信息的相互制约关系称为同步。
17、一次只允许一个进程使用的资源称为临界资源,访问临界资源的程序段称为临界区或临界段。
18、进程通信可分为互斥与同步两类,互斥是一种特殊的同步关系。
根据通信情况的不同,可把进程之间的同步分为信号同步(低级通信原语用于信号同步,如P/V操作)与信件同步(高级通信原语用于信件同步,消息缓冲是一种高级通信工具)。
19、处理机调度一般分为两级:作业调度(又称为高级调度或宏调度)与进程调度(又称为低级调度或微调度)20、在进行地址变换时(又称地址映射,当用户程序进入内存执行时,必须要把用户程序中所有相对地址转换为内存中的实际地址,否则用户程序就无法进行),必须修改程序中所有与地址有关的项,也就是说,要对程序中的指令地址以及指令中的有关地址的部分(称为有效地址)进行调整,这个调整的过程称为地址重定位。
21、存储管理的功能:地址变换、内存分配、存储共享与保护、存储器扩充。
22、基本的存储管理技术:界地址存储管理、分页存储管理、分段存储管理、段页式存储管理。
23、分页存储管理与分段存储管理的优缺点:(1)分页存储管理的优点:a.用户地址空间不再受内存大小的限制;b.更有利地利用了内存;c.动态分页管理提供了虚拟存储器(受外存容量的限制),更有利于多道程序的运行。
(2)分页存储管理带来的问题:a.不利于程序的动态连接装配;b.不利于程序与数据的共享。
(3)分段存储管理正好解决了这两个问题。
24、文件的物理组织形式主要有连续文件、链接文件和索引文件(建议看看P263多级索引结构);文件系统对磁盘空闲空间的管理方式有空闲文件项和空闲区表、空闲块链、位示图、空闲块成组链接法。
第6章编译技术概述25、编译程序是将用高级语言编写的源程序翻译成机器语言程序的实用程序。
26、编译程序的基本组成:(1)词法分析程序(读词程序);(2)语法分析程序:编译程序的主要组成成分;(3)加工程序:直接影响翻译质量的关键一步,包括大量的造表和查表的过程;(4)优化修饰部分;(5)装配程序或链接程序:将分块编译得到的半目标程序(包括库程序)进行总装配。
27、状态矩阵法的核心是一张状态表(也称状态矩阵)。
所谓状态,是表示过去已经扫描了什么语法成分,以便当遇到新的语法符号时,在不同的状态下对该语法符号作出不同的处理。
(关于状态矩阵的具体编译过程建议看书299-307)28、状态矩阵是稀疏矩阵,为节省存储空间,通常对状态矩阵进行压缩。
29、通过词法分析,可将一个常数用V×10m表示,其中V为正整数,m=ep-n,e为阶码符号(+、-),p为阶码绝对值,n为小数位数。
如FROTRAN常数0.032E-1中,e= -,p=1,n=3,经词法分析,其结果为32×10-1-3=32×10-4(V=32,m=-4)。
30、在多遍扫描的编译系统中,源程序每经过一遍扫描都要产生一种等效的中间语言表示。
所谓中间语言,可概略地理解为能用来表达源程序并与之等效的一种编码方式,如波兰表示、三元组表示等。
31、一个表达式的波兰表示就是后缀表示,即表达式中的运算对象写在前面,运算符写在后面。