摘要: 内存分层结构 内存管理要求 抽象:抽象成逻辑地址空间 保护:为应用程序分配独立的地址空间 共享:应用程序间需要能够进行数据传递 虚拟:将部分硬盘空间作为虚拟内存,存放暂时不使用的应用程序数据 在OS中管理内存的方法 实现高度依赖于硬件,需要知道内存的体系架构 程序重定向 分段 分页 虚拟内存 按需分 阅读全文
posted @ 2022-02-16 14:08 DreamEagle 阅读(108) 评论(0) 推荐(0)
摘要: 启动 启动BIOS,从内存特定地址开始执行(CS段寄存器:IP指令指针寄存器 0xf000:fff0),检测各类外设(开机自检),从特定地址将bootloader加载到内存 OS存放在Disk上 bootloader一般存放在Disk的第一个主引导扇区(512个字节)。bootloader将OS从硬 阅读全文
posted @ 2022-02-16 14:06 DreamEagle 阅读(42) 评论(0) 推荐(0)
摘要: 清华大学 操作系统课笔记 功能定义 向上管理应用程序,并为应用程序提供服务 向下管理、分配硬件资源 操作系统拆分 Linux、Windows等操作系统提供的界面接口(Shell) 操作系统内部kernel kernel内部组件 CPU调度 物理内存管理 虚拟内存管理 文件系统管理 中断和设备驱动 k 阅读全文
posted @ 2022-02-16 14:04 DreamEagle 阅读(250) 评论(0) 推荐(0)
摘要: 著名数据库(了解) 公司 数据库软件 IBM DB2 微软 SQL Server、Access1 Oracle Oracle、MySQL Sybase Sybase 概念 RDBMS(Ralational DataBase Management System) = Manager + Databas 阅读全文
posted @ 2020-07-17 10:23 DreamEagle 阅读(184) 评论(0) 推荐(0)
摘要: 局部变量只作用于函数或复合语句内部,此处不予讨论。这里主要考虑的是全局变量及函数在多个文件模块之间的传递 全局变量 1. 全局变量在某个文件模块中定义后,若要在其他文件中使用,需要在使用前添加外部变量声明 否则: 若无外部变量声明,编译报错:"变量 " 若在其他文件中再次定义,编译时会报错:" " 阅读全文
posted @ 2020-04-23 17:32 DreamEagle 阅读(1475) 评论(0) 推荐(0)
摘要: 统一的初始化方法 通过花括号实现各类变量初始化(允许花括号嵌套) int arr[3]{1,2,3}; vector<int> iv{1,2,3}; map<int,string> mp{{1,"hello"},{2,"world"}}; int *p=new int[20]{1,2,3}; //前 阅读全文
posted @ 2020-04-04 15:42 DreamEagle 阅读(305) 评论(0) 推荐(0)
摘要: set,multiset,map,multimap 常用函数 find //查找等于某个值的元素(x<y和y<x同时不成立) lower_bound //查找某个下界 upper_bound //查找某个上界 equal_range //查找等于某个元素的上界和下界,返回pair对象,[lower, 阅读全文
posted @ 2020-04-04 15:36 DreamEagle 阅读(208) 评论(0) 推荐(0)
摘要: string类 原型:typedef basic_string<char> string; 常见操作 //初始化 string s1("Hello world!"),s2="Test",s3(8,'x'),s4; //代表8个x组成的字符串 s4='c'; //定位&赋值 s1[1]='A';s1. 阅读全文
posted @ 2020-04-04 15:35 DreamEagle 阅读(357) 评论(0) 推荐(0)
摘要: 作用:提高程序可复用性,程序编译时自动生成相应函数 函数模板和类模板中的类型参数表中class和typename可相互替换 函数模板 格式 template<class T1,class T2,...> 返回值类型 模板名(参数表){ 函数体 } 匹配顺序 参数完全匹配的普通函数 参数完全匹配的模板 阅读全文
posted @ 2020-04-04 15:33 DreamEagle 阅读(203) 评论(0) 推荐(0)
摘要: [TOC] 输入输出流 1. 输入输出类派生关系 2. 标准流对象 标准输入流: ——与标准输入设备相连, 对象 标准输出流: ——与标准输出设备相连, 对象 ——与标准错误输出设备相连(无缓冲区,直接屏显) ——与标准错误输出设备相连(有缓冲区) 3. 重定向 4. 类成员函数 从标准输入流中读取 阅读全文
posted @ 2020-04-04 15:31 DreamEagle 阅读(292) 评论(0) 推荐(0)
摘要: [TOC] 基本概念 1. 目的: 提升程序可扩充性 2. 在类定义里的函数声明前加上virtual即是虚函数,在类外写函数体时不用加 3. 构造函数和静态成员函数不能是虚函数 4. 表现形式 派生类对象赋值给基类指针,则当基类指针调用基类和派生类同名虚函数时,实际执行的函数是根据指针指向的对象 派 阅读全文
posted @ 2020-04-04 15:29 DreamEagle 阅读(149) 评论(0) 推荐(0)
摘要: 基本概念 继承和派生是一个概念 当新类(派生类)与已有类(基类)具有相似的特性(包含已有类所有特性),则可以通过继承获得已有类的全部对象。 继承是对原有对象的复用,同时在此基础上进行修改(覆盖)与扩充。 派生类会继承基类的所有成员(private、protected、public),但派生类成员函数 阅读全文
posted @ 2020-04-04 15:28 DreamEagle 阅读(490) 评论(0) 推荐(0)
摘要: [TOC] 运算符重载 1. 定义: 重新定义运算符的运算 2. 实质是函数重载,把含有运算符的表达式转换成对运算符函数的调用 3. 可以重载为普通函数、成员函数、友元函数 重载成普通函数,参数表个数=运算符目数 重载为友元函数,可访问私有成员,同时解决重载为成员函数操作数顺序不满足条件的问题 重载 阅读全文
posted @ 2020-04-04 15:24 DreamEagle 阅读(420) 评论(0) 推荐(0)
摘要: [TOC] this指针 1. 定义: 非静态 成员函数指向调用该函数的对象的指针 2. 非静态 成员函数隐含 指针参数 3. 静态成员函数不针对某个对象,所以不包含this指针 静态成员变量&函数 1. 静态成员变量&静态成员函数本质上是全局变量,与该类有关,但不与调用它的对象直接相关 2. 即使 阅读全文
posted @ 2020-04-04 15:21 DreamEagle 阅读(283) 评论(0) 推荐(0)
摘要: [TOC] 构造函数 1. 默认创建空构造函数 2. 自定义构造函数时(可多个,即可重用),不再创建默认空构造函数 3. 调用构造函数可创建相应的临时变量 复制构造函数 1. 或`ClassName(const ClassName &arg)` 2. 用途 初始化时使用(不等于赋值,赋值不使用该函数 阅读全文
posted @ 2020-04-04 15:12 DreamEagle 阅读(197) 评论(0) 推荐(0)