《计算机科学基础》(FOCS)复习笔记
Chap. 1 Data Storage
电路
组合逻辑电路:无环,用于计算,比较,数据移动,编码解码。
时序逻辑电路:数据保持或震荡,用于存储(计数器,寄存器)。
触发器 Flip-Flop:set & hold。
整数
原码,反码,补码(反码加一,便于实现运算部件)。
移码
浮点数
S1E3M4:一位符号位,三位阶码,四位尾数。第五个数一定是 1(太浪费!)。
Chap. 2 Data Manipulation
冯诺依曼架构
程序储存在内存,程序指令按顺序执行。
- CPU:运算逻辑单元 ALU,寄存器 Registers,控制器 Control。
- 内存:存放数据和程序。
- IO:和系统的数据交换。
系统总线:数据总线,地址总线和控制总线。
程序存储
程序就是数据,用数据表示操作。
程序运行
Program Counter,PC:指向下一个要执行的指令的地址。
Instruction Register,IR:存储当前执行的指令。
Chap. 3 Operating Systems
操作系统架构
硬件:冯诺依曼架构。
软件分为应用软件和系统软件,系统软件分为实用程序(Utility)和操作系统,操作系统分为壳程序(Shell)和操作系统核心(Kernel)。
机器运行
开机时首先启动引导程序,CPU 在 ROM 找到操作系统,将其从硬盘转移到内存。
程序运行
区分程序和进程:程序是一串指令,进程是执行程序的活动。
中断处理器会在进程之间来回切换。在中断之前需要保存数据。
系统选择优先级最高的 就绪 进程 运行。进程会被 抢占:高优先级进程就绪,或当前时间用完,此时重新回到就绪状态。进程也会遇到等待事件(如等待系统服务,启动操作无法立刻完成,需要的数据没有到达),进入 等待 状态。进程只能被别的进程或操作系统 唤醒,回到就绪状态。进程 结束 可以是正常退出,错误退出,致命错误或被其它进程所杀死。
程序运行具有并发性、独立性、制约性、动态性。
Chap. 4 Algorithms
太简单了。
Chap. 5 Programming Languages
编程语言的历史
机器语言 -> 汇编语言 -> 高级语言。
机器语言编写太麻烦了。
执行单元
太简单了。
Chap. 7 Data Structures
数组、列表、栈、队列、树。
数组:大小和形状固定。二维数组的行优先顺序。
列表:静态列表,邻接链表。
太简单了。
Chap. 8 File Structures
CD 和磁带上的文件是顺序存储的,但磁盘上的文件不是。
Sequential file 和 Indexed file。
Hashing 太简单了。
生日悖论太简单了。
Chap. 10 Artificial Intelligence
听了八百遍了都。
Chap. 11 Theory of Computation
图灵停机问题太简单了。
时间复杂度太简单了。
计算理论太简单了(?)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)