TH_NUM的博客

日常积累

ucore_lab7

练习1 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题 完成练习0后,建议大家比较一下(可用kdiff3等文件比较软件)个人完成的lab6和练习0完成后的刚> 修改的lab7之间的区别,分析了解lab7采用信号量的执行过程。执行make grade,大部分测试用应该通过。 [练...

2016-05-25 10:53:12

阅读数:608

评论数:0

进程切换

一个进程的上下文 可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。 用户级上下文: 正文、数据、用户堆栈以及共享存储区; 寄存器上下文: 通用寄存器、程序寄存器(IP)、处理器状态寄存器(EFLAGS)、栈指针(ESP,SS); 系统级上下文: 进程控制块task_struc...

2016-05-24 19:45:31

阅读数:812

评论数:0

虚拟存储

虚拟存储需求背景:虚拟存储是在这个非连续存储内存分配的基础上,可以把一部分内容放在外村里的做法 理想的存储器: 容量更大,速度更快,价格更便宜的非易失性存储器交换技术:增加正在运行或者需要运行的程序的内存 实现方法:可将暂时不能运行的程序放到外存 换入换出的基本单位:整个进程的地址空间 ...

2016-05-24 17:00:57

阅读数:303

评论数:0

中断,异常,系统调用

中断由外部设备产生,异常由CPU内部产生(异常包括错误Fault, 陷阱Trap即故意出错,和终止Abort)。中断要找到中断服务程序所以需要IDT这个大数组来存放中断门(中断门就是一种段描述符,用于找到中断程序入口地址)。CPU为了方便找到IDT加了一个寄存器IDTR。 内核的进入与退出: ...

2016-05-24 16:58:25

阅读数:653

评论数:1

逻辑地址,线性地址,物理地址

逻辑地址,线性地址,物理地址 1. 分段,即逻辑地址转换为线性地址,段基址+段偏移=线程地址。通过LDT中的段选择符找到段描述符(GDT)然后找到段基址。CPU为了方便找到LDT与GDT又在CPU中做了两个寄存器GDTR与LDTR。GDT中有limit字段,相当于段尾址,从硬件上可以确保段不会...

2016-05-24 16:56:58

阅读数:367

评论数:0

系统启动

启动时计算机内存和磁盘布局: 0x0- 640k 空闲空间 -1MB BIOS 启动固件: 20位地址空间 CS:IP=0xf000:fff0 系统处于实模式,PC=16*CS+IP; 4GB 空闲空间 BIOS系统调用: BIOS以中断调用的方式 提供了基本的I/O功能, INT 1...

2016-05-24 16:56:09

阅读数:214

评论数:0

ucore-lab7

练习1 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题 完成练习0后,建议大家比较一下(可用kdiff3等文件比较软件)个人完成的lab6和练习0完成后的刚> 修改的lab7之间的区别,分析了解lab7采用信号量的执行过程。执行make grade,大部分测试用应该通过。 [练...

2016-05-24 08:50:34

阅读数:468

评论数:0

DOM

节点属性DOM 是树型结构,相应的,可以通过一些节点属性来遍历节点树:nodeName 节点名称,相当于tagName.属性节点返回属性名,文本节点返回#text。nodeName,是只读的。 nodeType 节点的类型,返回值:1,元素节点;2,属性节点;3,文本节点。nodeType ...

2016-05-23 17:57:21

阅读数:168

评论数:0

素数检测

素数 素数的定义 素数是这样被定义的:一个大于1的整数,如果不能被除1和它本身外的其它正整数整除,则是素数(又称质数)。与素数相关的定义还有合数:一个大于1的整数,如果不是素数则是合数。其中能整除这个数的正整数叫做约数,不等于1也不等于合数本身的约数叫做非平凡约数。注意1既不是素数又不是合数。...

2016-05-22 23:08:45

阅读数:302

评论数:0

gmpy2

PARI/GP是一个比较强大的数论库,“针对数论中的快速计算(大数分解,代数数论,椭圆曲线…)而设计”,它既可以被C/C++或Python之类的编程语言调用,而且它本身又是一种自成一体的脚本语言。而如果仅仅需要高精度的大数运算功能,那么GMP似乎更满足我们的需求。了解C/C++的读者都会知道GMP...

2016-05-22 23:02:18

阅读数:2082

评论数:1

操作系统的信号量和管程

信号量 semaphore 信号量是操作系统提供的一种协调共享资源访问的方法 软件同步是平等线程间的一种同步协商机制 OS是管理者,地位高于进程 用信号量表示系统资源的数量由一个整形 (sem)变量和两个原子操作组成 P()(Prolaag (荷兰语尝试减少)) sem...

2016-05-20 19:06:21

阅读数:2938

评论数:0

操作系统的调度策略

调度程序:挑选就绪进程的内核函数: 调度策略(依据什么原则挑选进程/线程? ) 调度时机(什么时候进行调度?)调度时机 在进程/线程的生命周期中的什么时候进行调度? (1)进程从运行状态切换到等待状态 (2) 进程被终结了非抢占系统: 当前进程主动放弃CPU时可抢占系统:(1)中断...

2016-05-18 12:05:31

阅读数:1967

评论数:0

static函数与普通函数

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。...

2016-05-18 10:35:24

阅读数:205

评论数:0

C/C++中函数指针

c/c++中函数指针 函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢? 如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。  定义一个指向函数的指针用如下的形式,以上面的test()为例:in...

2016-05-18 10:22:40

阅读数:184

评论数:0

Mistake Bound Framework(出错界限模型)

Mistake Bound Framework(出错界限模型)Mistake Bound Framework So far: how many examples needed? What about: how many mistakes before convergence? Let’s cons...

2016-05-07 19:33:02

阅读数:496

评论数:0

Agnostic Learning (不可知学习)

Agnostic Learning (不可知学习) Computational Learning Theory (Cont.)The Vapnik-Chervonenkis(VC) dimension- Shattering a set of instances - VC dimension ...

2016-05-07 19:29:27

阅读数:601

评论数:0

PAC Learning Framework可能近似正确学习

Coffe TimeESP GAME用户做游戏的时候,对图片做语义标注SAmple Complexity: How many training examples are sufficient to learn the target concept? Version space intro...

2016-05-07 19:17:29

阅读数:2494

评论数:0

Ucore_lab6

实验说明 libs/skew_heap.h: 提供了基本的优先队列数据结构,为本次实验提供了抽象数据结构方面的支持。 kern/process/proc.[ch]:proc.h中扩展了proc_struct的成员变量,用于RR和stride调度算法。proc.c中实现了lab6_set_prior...

2016-05-06 15:10:50

阅读数:1255

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭