数据库设计
数据库设计实体关系(Entity-Relationship, E-R)概念 E-R 模型是一种描述数据库的抽象方法 实体关系建模的方法更多依赖于直觉而非机器, 但会导致相同的设计 E-R 模型实体 (Entity) 实体是具有公共性质的可区别的现实世界对象集合 举例 学生 教师 教师 课程 选课 一般而言, 一个实体被映射到一张关系表中, 代表一组对象的集合; 表中的每一行被称为一个实体发生(Entity Occurrence)或实体实例(Entity Instance), 代表一个特定对象 在 E-R 图中, 用矩形框表示 属性 (Attribute) 属性是描述实体(Entity)或者关系(Relationship)性质的关系项 在 E-R 图中, 用椭圆框表示, 主标识符要加下划线, 多值属性要加一条线 特定属性的特定术语 标识符或候选键 (Identifier 或 Candidate Key) 标识符是能够唯一识别一个实体实例的属性集, 一个实体可以有多个标识符 主键或主标识符 (Primary Key) 被数据库设计者选择出来的作为表中特定行唯一标识符的候 ...
计算机网络 4 -网络层
网络层的主要任务 实现网络互连 进而实现数据包再各网络之间的传输 要实现网络层任务, 需要解决以下的问题 网络层向运输层提供怎样的服务 可靠传输还是不可靠传输 网络寻址问题 路由选择问题 人工配置 实现路由选择协议
C++ 多态的实现机制
C++ 多态实现机制若无特殊说明, 以下所有操作均在 32 位环境下进行 本篇举例子用的类: 123456789101112131415161718192021222324252627class Animal{public: Animal() {}; virtual void eat() { cout << "Animal::eat()" << endl; }; virtual void bark() { cout << "bark()" << endl; }; virtual ~Animal() {}; void growUp() { age += 1; }protected: int age = 10;};class Dog : public Animal{public: Dog() { age = 20; ...
Python 实现窗口保持置顶
今天一边看视频一边用 Typora 记笔记的时候发现一个问题, Typora 自带的 保持窗口在最前端不知何故会失效, 所以我就想用 Python 写一个可以让窗口强制指定的工具, 毕竟在查阅文档的时候还是有些用处的. 使用的模块 win32gui keyboard win32con pyinstaller 使用的函数及其原型 SetWindowPos 1WINUSERAPI BOOL WINAPI SetWindowPos(HWND hWnd,HWND hWndInsertAfter,int X,int Y,int cx, int cy, UINT uFlags); 用于设置窗口的 Z 序号 参数解释如下: hwnd: 被修改的窗口的句柄 hWndlnsertAfter: 用于标识 Z 顺序, 可设为以下值: HWND_BOTTOM: 值为 1, 置底 HWND_NOTOPMOST: 值为 -2, 置于非置顶窗口之上 HWND_TOP : 值为 0, 置顶 HWND_TOPMOST: 值为 -1, 置顶 (在HWND_TOP之上) X, Y, cx,cy 确定了新 ...
计算机组织结构 合集
📖 本笔记参考计算机组织结构课程的课件, 由于时间关系, 后期缺失部分内容 📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式 系统概述 指令和数据在关机时储存在外存中,开机后存储在内存 冯·诺依曼计算机工作方式的基本特点是按地址访问指令并自动按序执行程序 指令由操作码和地址码组成 控制器通过执行指令来控制整个机器运行 注意对存储器来讲,例如 $32K\times16位$的存储器意为,该存储器为 16 位可寻址, 共有 32K 个存储单元, 若对于芯片来讲,不能得到什么信息 结构 ( Architecture ) :对程序员可见 对于程序的逻辑执行有着直接影响 例如: 该计main算机有无乘法器 组织 ( Organization ) : 对程序员不可见 操作单元及其相互联系 该计算机中的乘法器是如何实现的 Stored Program: 意为将指令、数据以二进制的方式存储到主存中.摩尔定律: 每 18 个月,晶体管的数量增加一倍,价格下降 ...
计算机组织结构(十三) 指令集:寻址方式和指令格式
📚 文档目录合集-数的二进制表示-定点运算BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式 表示: A: 指令中地址字段的内容 R: 指向寄存器的指令字段的内容 EA: 被访问未知的实际(有效)地址 (X): 存储器位置 X 或者寄存器 X 的内容 立即寻址 (Immediate Addressing)操作数存在于指令中: 操作数 = A 应用: 定义和使用常数, 或者设置变量的初始值. 优点: 获取操作书不需要访问存储器, 只获取指令 缺点: 数字的大小被限制为地址字段的大小 .jpg) 直接寻址 (Direct Addressing)地址字段包含着操作数的有效地址, 早期计算机常见 EA = A 优点: 只有一次存储器访问, 不需要进行专门计算 缺点: 只能提供有限的地址空间 间接寻址(Indirect Addressing)指令中地址字段只是一个存储器字地址, 而这个地址保存着操作数的全长度地址 EA = (A) 优点: 扩大了寻址空间 缺点: 需要访问 ...
计算机组织结构(十二) 指令集: 特征
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式 机器指令特征CPU 的操作由它所执行的指令确定, 这些指令被称为机器指令. CPU 能执行的各种不同指令的集合称为 CPU 的指令集 指令周期指令周期: 指单条指令所需的处理过程 取指令: 每次从内存中取一条指令 执行指令: 执行每条指令 只有关机时, 程序执行才会停止, 或者遇到致命错误或者停止计算机的指令. 指令周期状态图: 带有中断的指令周期带有中断的指令周期: 带有中断的指令周期状态图: 机器指令要素 操作码:指定要执行的操作 源操作数引用:操作会涉及一个或多个源操作数, 这是操作所需的输入 结果操作数引用:该操作可能产生一个结果 下一指令引用:它告诉处理器这条指令执行完成后到哪儿去取下一条指令 指令表示 每条指令都由一个位序列表示 指令格式:指令被划分为字段,对应于指令的要素 对于大多数指令集,使用一种以上的格式 符号表示:帮助程序员和教科书的读者处理指令 操作码用 ...
计算机组织结构(十一) 总线
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式 总线芯片内部总线连接芯片的各个部分 例如连接寄存器, ALU和 CPU 的其他部分 通信总线连接主机和 I/O 设备或者连接不同的计算机系统 系统总线连接 CPU, 主存, I/O 控制器和其他的功能设备 内容总线可以分为三种功能组 数据线: 在系统模块之间移动数据. 数据线的数量决定了一次能能够传送的数据的最大容量 地址线: 指定数据线上的数据的来源或者去向. 地址线也用于 I/O 端口的寻址. 地址线的数量决定了寻址空间的大小 控制线: 控制对数据和地址线路的访问和使用. 各种控制信号: 时钟: 用于总线同步 总线请求(Bus Request): 表示模块需要获得对总线的控制 总线允许(Bus Grant): 表示发出请求的模块已经被允许控制总线 中断请求: 表示某个中断尚未被处理 中断响应: 未决的中断请求被响应 存储器写: 引起总线上的数据写入被寻址的单元 存储器读: 使所寻址的单元的数 ...
计算机组织结构(十) 内存管理
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式 过去, 只有操作系统和一个程序在内存中. 现在, 操作系统和多个程序都在内存中. 程序等待 I/O 时, 为了避免处理器等待, 需要进行优化, 使得更多的程序可以加载入内存. 内存管理: 在多程序设计系统中, 内存的 “用户部分” 应该被进一步划分以适应多个程序, 这是由系统动态决定的. 加载更多程序的途径 增大内存 使用交换和重叠技术 当没有程序就绪的时候, 系统载入程序 分区和分页 虚拟内存 请求分页 虚拟地址 分区固定大小分区系统: 固定的大小 用户程序: 固定的大小, 但各不相同. 当加载一个程序的时候, 将其载入刚好能够容纳下这个程序的最小的区中. 缺点: 产生大量内部碎片. 可变大小分区系统: 固定的大小 用户程序: 按需分配 缺点: 产生大量外部碎片 分页基本思想: 将内存分为固定大小的块, 称为页框(页帧), 将程序分为固定大小的块, 称为页 将页加载入 ...
计算机组织结构(九) RAID 磁盘冗余阵列
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式 RAID基本思想使用多个磁盘, 分散的 I/O 请求, 以至于单一的 I/O 请求可以被并行处理, 只要请求的数据分散在不同的磁盘上. 特点 RAID 是被视为一块逻辑磁盘的一组物理磁盘. 数据交叉分布在物理磁盘上. 冗余的磁盘可用于存储奇偶校验信息, 以保证再磁盘故障的情况下的数据可恢复性. RAID 0数据在可用的磁盘上条带 (strip) 状排列, 如果数据跨物理磁盘, 则同时读写 不含冗余盘 用途: 高速率数据传输 高速 I/O 请求 与单个的大容量磁盘相比: 优点: 若两个不同的 I/O 请求等待不同的两块数据, 如果这两块数据位于不同的物理磁盘, 就能加速. 缺点: 若数据跨盘, 只要其中的一块硬盘坏了, 所有的都不能读取. RAID 1所有的数据都按 RAID 0 的方式存取, 只是每个数据都存两份 ( 镜像 ). 优点: 恢复很简单, 可以加速读取 ( 若两 ...