Tsinghua dsa mooc pa1】的更多相关文章

第一题Range 关键:二分查找,查找不大于一个数的最大下标. #include <cstdlib> #include <cstdio> 4 int compare (const void * a, const void * b){ return ( *(int*)a - *(int*)b ); } int bisearch(int *array,int low, int high,int aim){ int mid; while(low<=high){ mid = (low…
资源 OS2018Spring课程资料首页 uCore OS在线实验指导书 ucore实验基准源代码 MOOC OS习题集 OS课堂练习 Piazza问答平台 暂时无法注册 第八讲 虚拟内存概念 为什么需要虚拟内存:计算机系统时常出现内存空间不够用的情况,虚拟存储可以在有限容量的内存中,以页为单位自动装入更多更大的程序. 解决内存空间不够用的三种技术:覆盖.交换和虚拟内存. 覆盖 目标:在较小的可用内存中运行较大的程序 方法:依据程序逻辑结构,将程序划分为若干功能相对独立的模块:将不会同时执行的…
资源 OS2018Spring课程资料首页 uCore OS在线实验指导书 ucore实验基准源代码 MOOC OS习题集 OS课堂练习 Piazza问答平台 暂时无法注册 疑问 段式内存管理中,逻辑地址由段选择子和段偏移量两部分组成?段选择子占16位,低3位为TI(指示是GDT还是LDT)和RPL,也就是说逻辑地址中含有TI和RPL信息?但好像内存地址只包含位置信息的吧?答: 逻辑地址是由段选择子和段偏移量组成.用逻辑地址的段选择子索引GDT得到段基址,段基址加上逻辑地址的段偏移量得到线性地址…
资源 OS2018Spring课程资料首页 uCore OS在线实验指导书 ucore实验基准源代码 MOOC OS习题集 OS课堂练习 Piazza问答平台 暂时无法注册 疑问 为什么用户态和内核态不能共用一个栈?为什么系统调用时要切换到内核栈? x86的中断号哪些是硬中断.哪些是软中断或异常? x86中断描述符中的DPL是多少? DPL, CPL, RPL仍未理解? 感觉获取中断处理例程的过程略麻烦:首先根据中断向量索引IDT表获得中断门描述符,从中断门描述符中获得段选择子,根据段选择子索引…
内容来自 TsinghuaX: 30240184X 数据结构(2015秋) 课程的Vector一章,对有序向量的二分查找有三个版本 三个版本的函数原型是一致的,都是 Rank search(T const& e, Rank lo, Rank hi) const; 其中,Rank为向量元素的秩,在此被定义为int型,lo和hi分别是查找区间的左.右界桩. 若查找成功,则返回元素出现的秩:查找失败返回-1. 版本a和版本b在实现上的区别可用下图描述,其中+1,+2表示进入此分支要进行的比较次数(即…
根据学堂在线TsinghuaX: 30240184X 数据结构(2015秋)这门课的内容,对bubblesort做了一些总结. 1. bubblesort(起泡排序),原理来自这样一个观察规律:若序列有序,则任意一对相邻元素顺序.其逆否命题为:若存在相邻元素逆序,则序列无序. 2. 利用这一原理,bubblesort按照逐步消除逆序对的思路来实现整体有序. 3. 实现:对序列进行若干趟扫描,每遇到相邻逆序对,交换之,直至不再存在逆序对. 4. 算法的正确性分析: (1)不变性(问题已求解的部分扩…
第一题,列车调度(train) 在这个题目中,模拟压栈出栈,同时判断调度方案是否可行. #include <cstdio> #include <cstring> #define MAX 1600005 using namespace std; int stack[MAX];//stack[0]作为旗标 int top; int pushed;//已经压入的最大值 int out[MAX];//输出 *MAX][]; int result_len;//result的长度 int ma…
第二十一讲 文件系统 文件系统是操作系统中管理持久性数据的子系统,提供数据存储和访问功能. 组织.检索.读写访问数据 大多数计算机系统都有文件系统 Google 也是一个文件系统 文件是具有符号名,由字节序列构成的数据项集合 文件系统的基本数据单位 文件名是文件的标识符号 文件系统的功能 分配文件磁盘空间 管理文件块(位置和顺序) 管理空闲空间(位置) 分配算法 (策略) 管理文件集合 定位:文件及其内容 命名:通过名字找到文件 文件系统结构:文件组织方式 数据可靠和安全 安全:多层次保护数据安…
第十七讲 同步互斥 进程并发执行 好处1:共享资源.比如:多个用户使用同一台计算机. 好处2:加速.I/O操作和CPU计算可以重叠(并行). 好处3:模块化. 将大程序分解成小程序.以编译为例,gcc会调用cpp,cc1,cc2,as,ld. 使系统易于复用和扩展.程序可划分成多个模块放在多个处理器上并行执行. 原子操作 原子操作是指一次不存在任何中断或失败的操作.要么操作成功完成,或者操作没有执行,不会出现部分执行的状态. 操作系统需要利用同步机制在并发执行的同时,保证一些操作是原子操作. 由…
第十五讲 处理机调度 进程调度时机 非抢占系统中,当前进程主动放弃CPU时发生调度,分为两种情况: 进程从运行状态切换到等待状态 进程被终结了 可抢占系统中,中断请求被服务例程响应完成时发生调度,也分为两种情况: 进程时间片用完 有更高优先级的进程从等待切换到就绪 比较调度算法的准则 CPU使用率:CPU处于忙状态的时间百分比 吞吐量:单位时间内完成的进程数量 周转时间:进程从初始化到结束(包括等待)的总时间 等待时间:进程在就绪队列中的总时间 响应时间:从提交请求到产生响应所花费的总时间 处理…