Dreamweaver第四章 计算机软件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语句
Figure 9-9
函数
Figure 9-10
函数
If语句
Switch语句
While语句
For语句
do-while语句
变量
算术运算符
Operator ---------------+ * / % ---------++ --
Definition ---------------Addition Subtraction Multiplication Division (quotient) Division (remainder) ----------------------Increment Decrement
机器语言
缺点:
人类难以理解记忆 以来计算机硬件
符号语言
Entry main, ^m<r2> subl2 #12,sp jsb C$MAIN_ARGS movab $CHAR_STRING_CON pushal pushal calls pushal pushal calls mull3 pushal calls clrl ret -8(fp) (r2) #2,read -12(fp) 3(r2) #2,read -8(fp),-12(fp),6(r2) #2,print r0
内存管理技术分类
单道程序
操作系统 内存 程序
多道程序
操作系统 程序1 程序2 程序3 内存
内存管理器
多道程序的技术分类
多道程序
非交换
交换
分区调度
分页调度
请求分页 调度
请求分区 调度
分区调度
原理
内存被分为不定长的几个分区。每个分区保存 一个程序。CPU在各个程序之间交替服务。
操作系统
程序1 程序2
自举过程
1
ROM
自举程序 3
2
操作系统 CPU
磁盘
1. 自举程序运行 2. 操作系统被装入 3. 操作系统运行 内存
OS演化:批处理系统
作业逐个依次执行。 计算机所有资源被从一个作业转换到另一 个作业。
OS演化:分时系统
多道程序
可以将多个作业同时装入内存,并且仅当资源可用 时分配给需要它的作业。 每个作业可以分到一段时间来使用资源。 给不同的程序分配资源,并决定哪一个程序什么时 候使用哪一种资源。 在内存中等待分配资源的程序。
例如:
基本算法—插入排序
原理:
基本算法—插入排序
例如:
基本算法—顺序查找
例如:
基本算法—顺序查找
基本算法—二分查找
例如:
子算法
递归
递归是指在函数的定义中使用函数自身的 方法。
递归
调用过程:
递归
优点:
程序结构化更清晰 子算法可以重复调用
程序设计语言
程序设计语言的演化
用符号或助记符 代替二进制编码。
符号语言
缺点:
编写的代码非常难懂,不好维护; 很容易产生bug,难于调试; 只能针对特定的体系结构和处理器进行优化; 开发效率很低,时间长且单调。
高级语言
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /* This program reads two integer numbers from the keyboard and prints their product. */ #include <iostream.h> int main (void) { // Local Declarations int number1; int number2; int result; // Statements cin >> number1; cin >> number2; result = number1 * number2; cout << result; return 0; } // main
Definition ---------------Less than Less than or equal to Greater than Greater than or equal to Equal to Not equal to
Example ---------------------Num1 < 5 Num1 <= 5 Num2 > 3 Num2 >= 3 Num1 == Num2 Num1 != Num2
主流操作系统
Windows
UNIX Linux
算法
“算法”的初步定义
算法(algorithm)是一种逐步解决问题或 完成任务的方法。
算法示例
三种算法结构
顺序、选择、循环
算法的表示(UML)
UML(United Modeling Language,统一建 模语言)
算法的表示(伪代码)
操作系统
程序1 程序2
CPU
程序3
内存
程序3
内存 b)CPU开始执行程序2
CPU
a)CPU开始执行程序1
分区调度
优点:
CPU在各个程序之间交替服务,提高了CPU的 使用效率。 每个程序完全载入内存,并占用连续的地址。 分区大小必须由内存调度器预先决定,不能动 态适应程序大小。
缺点:
分页调度
Example ---------------------3 + 5 2 - 4 Num * 5 Sum / Count Count % 4 ----------------------Count ++ Count --
关系运算符
Operator ---------------< <= > >= == !=
请求分段调度
原理:
内存被分成大小 相等的若干个部 分,称为段。 程序通常有主程 序和子程序组成。 主程序和子程序 被载入段。
程序A 主程序 子程序 程序B 子程序B 空 主程序A 内存 段2 段1 操作系统
主程序 子程序
虚拟内存
请求分页调度和请 求分段调度意味着 当程序运行时,一 部分程序驻留在内 存中,而另一部分 则放在硬盘上。而 用于存储后一部分 的硬盘空间,就是 虚拟内存。
逻辑运算符
Operator ---------------! && || Definition ---------------NOT AND OR Example ---------------------! ( Num1 < Num2 ) (Num1 < 5 ) && (Num2 > 10 ) (Num1 < 5 ) || (Num2 > 10 )
Eclipse支持JAVA, C, C++, C#, PHP, Ruby等多种高级语言。
程序设计语言的演化
?
编程模式
面向过程
C, Basic ……
面向对象
JAVA,C++, C#……
LISP…… Prolog……面Biblioteka 函数面向说明
面向对象的程序设计
类
方法
继承
多态
Figure 9-7
原理:
内存被分成大小相等的 若干个部分,成为帧。 程序被分为大小相等的 部分,成为页。 页和帧的大小通常一样。
分页调度
优点:
可以将程序写入空白不连续帧,比分区调度提 高了效率。 整个程序仍需要在运行前全部载入内存,导致 内存使用率不高。
缺点:
请求分页调度
原理:
程序被分成页,页可以依次载入内存、运行, 然后被另一个页代替。 来自同一个程序的连续页不必载入同一个帧, 而是可以载入任何一个空闲帧。
源程序→目标程序
编译 vs. 解释
编译在执行前翻译整个源文件,而解释一次只 翻译和执行源程序代码中的一行。
高级语言
高级语言
集成开发环境( Integrated development environment ,简称IDE)
微软体系:Visual Studio
支持C++、C#、VB
JAVA体系:Eclipse、NetBeans
赋值运算符
Operator ---------------== += -= *= /= %= Example ---------------Num =5 Num += 5 Num -= 5 Num *= 5 Num /= 5 Num %= 5 Meaning ---------------------Store 5 in Num Num = Num + 5 Num = Num - 5 Num = Num * 5 Num = Num / 5 Num = Num % 5
伪代码是一种利用自然语言,显示算法过 程的表示法。
算法的定义
算法是一组明确步骤的有序集合,它产生 结果并在有限的时间内终止。
有序集合 步骤明确 产生结果 有限时间
基本算法—求和
基本算法—乘积
基本算法—选择排序
原理:
基本算法—选择排序
例如
基本算法—冒泡排序
原理:
基本算法—冒泡排序
计算机软件
主要内容
操作系统
算法
程序设计语言
软件工程
操作系统(OPERATION SYSTEM)
什么是OS?
OS是计算机硬件和用户(程序和人)的一 个接口,它使得其他程序更加方便有效地 运行,并能方便地对计算机硬件和软件资 源进行访问。
两个目标:
1. 2.
有效地使用硬件 容易地使用资源
进程管理器
基本概念
程序
程序员编写的一组指令。 被选中将要或正在执行的程序。
作业
进程:
在内存中执行的作业。
状态图
程序、作业与进 程的状态转换:
保持 就绪 运行 等待 终止
调度器
作业调度器
负责从作业中创建一个进程和终止一个进程。
调度器
进程调度器
调度器
进程管理器队列
高级语言
优点:
不依赖于特定的计算机系统; 近似于自然语言,可读性较好; 不必考虑硬件细节
MOV CL,04H i=4;
高级语言
常见高级语言
BASIC COBOL Pascal C C++ C# JAVA ……
高级语言
编程语言排行榜(2010.5)
高级语言
11111000 11101111 11110100 00000011 11101111 01111110 11111000 00000110 11101111
计算机只识别 机器语言!
0000000000000000 11000010 0000000000000010 00010110 0000000000000101 10011110 0000000000001011 11011111 0000000000010010 11011111 0000000000010101 11111011 0000000000010111 11011111 0000000000011110 11011111 0000000000100001 11111011 0000000000100100 10101101 11000101 0000000000101011 11111011 0000000000110001 11111011 0000000000110100 00000100 0000000000111101 00000100 0000000000111101
进程同步
只要资源可用被多个进程同时使用,那么 就可能出现两种问题状态:
死锁 饿死
死锁
饿死
哲学家就餐问题
设备管理器
功能:
监视所有的输入输出设备,确保它们正常运行。 为每一个输入输出设备维护一个队列。 控制用于访问输入/输出设备的不同策略。
文件管理器
功能
控制文件的访问权限。 管理文件的创建、删除和修改。 给文件命名。 管理文件的存储。 负责归档和备份。
机器语言
符号语言 高级语言
机器语言
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00000000 01011110 00000100 00001100 11101111 11101111 10101101 01100010 00000010 10101101 10100010 00000010 11110100 10101110 10100010 00000010
分时
调度
进程
OS演化:其他类型系统
个人系统
并行系统 分布式系统 实时系统
OS组成部分
操作系统 用户界面 内存管理器 进程管理器 设备管理器 文件管理器
用户界面
用来接收用户的输入并向操作系统解释这 些请求的程序。 类型:
图形用户界面(GUI) 字符用户界面
内存管理器