上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
摘要: 一、进程的创建1.系统调用clone()与fork()的区别:资源的继承方式参数区分父进程与子进程的方法fork()全部复制,即父进程的所有资源全部通过数据结构的复制传给子进程无参数父进程与子进程,从fork()返回时的返回值不同,以此区分二者。子进程返回0.父进程返回子进程的pidclone()有选择地将资源复制给子进程,没有复制的资源通过指针复制的方式与子进程共享(共享与复制的关系见2)有参数,用于设置资源复制的方式clone()所产生的子线程的PID有可能是0,因此采用比较系统堆栈指针的方法来区分二者。note:(1)为什么返回值的方式对fork()适用?因为fork()后子进程拥有独立 阅读全文
posted @ 2012-05-22 18:43 windmissing 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 1.进程切换是指:保存prev进程的上下文,用next的上下文替代。其中上下文包括:页全局目录、内核态堆栈、硬件上下文。2.80x86为进程切换提供的硬件支持:第一种:通过任务门第二种:通过JMP和CALL指令:把硬件上下文存在TSS中,执行这条指令时,通过硬件自动切换TSS,完成硬件上下文的过程TSS是任务状态段,只能存放在GDT中,不能存放在LDT中3.Linux使用的硬件上下文切换方法:通过一组MOV指令逐步执行切换,手动模拟1的过程因为这样效率较高,也便于各种检查和保护4.Linux的进程切换不使用80x86提供的硬件方法,但是为了与80x86兼容,仍会为每个CPU创建一个TSS(按照 阅读全文
posted @ 2012-05-22 14:18 windmissing 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 1.进程、用户线程、内核线程的区别和联系进程用户线程(轻量级进程)内核线程代码段有有有数据段有有有描述符task_struct有有有用户空间堆栈有一个线程组共享一个用户空间完全没有内核空间堆栈有有有PID独一无二的一组线程共享一个有这里的有是指拥有独立的2.内核线程:由内核创建、调度,用于执行一些重要的、周期性的过程。只运行在内核态、只使用3G以后的系统空间。比如用于回收物理页面的kswapd线程3.进程的状态(1)就绪或运行(2)可中断的等待(3)不可中断的等待(4)暂停(5)跟踪(6)僵死(见Linux2.6进程的创建与删除)(7)僵死撤消4.进程描述符与进程之间是严格的一一对应5.内核态 阅读全文
posted @ 2012-05-21 22:13 windmissing 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 0.sys_open()(1)从当前进程的“打开文件表”中找到一个空闲的项get_unused_fs()(2)建立文件读写的上下文filp_open():(见1)(3)将上下文安装到文件打开表中1.filp_open():建立文件读写的上下文(1)获取指向文件名的dentry和vfsmount:open_namei()若只是打开,则通过path_init()和path_walk()搜索若有不存在就创建的要求,则(见3)3.获取指向文件名的dentry和vfsmount,若不存在就创建(1)找到path_name对应的节点的父dentry(2)找到目标文件的dentry(3)若不存在,则创建de 阅读全文
posted @ 2012-05-21 09:49 windmissing 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目描述Baidu的服务器上使用的不是北京时间,而是Baidu时间。Baidu时间的时分秒与北京时间相同,但是日期与北京时间不同,是用一个正整数表示从2000年1月1日起的第几天。现在就请大家设计一个程序将北京时间转换为百度时间。输入格式输入数据的每一行为一个待转化的北京时间,格式包括两种:一种为:YYYY-MM-DD,(YYYY表示四位数年份,MM为两位月份,DD为两位日期);另一种为:MM/DD/YYYY,(YYYY表示四位数年份,MM为两位月份,DD为两位日期);不符合任何一种格式的输入视为非法输入。输出格式每个数据输出一行。如果格式正确,输出一个正整数,否则输出Error。输入样例20 阅读全文
posted @ 2012-05-20 13:05 windmissing 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目描述百度网页采集器(Baiduspider)每天从互联网收录数亿网页,互联网的网页质量参差不齐。百度的工程师们每天都在改进方法来判断一个网页质量的好坏,使质量差的网页出现在检索结果中较后的位置。现在实习生小胖想到一个很简单的方法来判断一个网页内容的好坏,方法如下:1.利用数据挖掘技术在互联网语料库中挖掘出一批有特点的词汇,分为好词和坏词两种,好词标上正的权重,坏词标上负的权重;2.通过好词和坏词词典对每个网页计算网页总权重:从第一个字开始匹配,找到一个好词则加上相应的权重,找到一个坏词则减去相应的权重,下一次匹配将从找到的词末尾的下一个位置开始。3.坏词采用正向最短匹配:从当前匹配位置开始 阅读全文
posted @ 2012-05-20 10:50 windmissing 阅读(131) 评论(0) 推荐(0) 编辑
摘要: struct node//用于存储每个元素的大小与数量 { int value;//大小 int num;//数量 }lottery[100];void Generating(int n, int sum)//母函数过程,n表示元素的个数,sum表示和的最大值 { int c1[1000] = {1}; int c2[1000] = {0}; int i, j, k; for(i = 0; i < n; i++) { for(j = 0; j <= sum; j++) { for(k = 0; k+j<sum&&k<=lottery[i].num*lot 阅读全文
posted @ 2012-05-19 15:44 windmissing 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目描述为了在紧张的上班时间让员工们轻松些,百度休息室里放置着按摩椅、CD、高尔夫套装和Wii游戏机等休闲用品。其中最受欢迎的当然是游戏机。wii游戏机每个手柄需要使用两节电池(这两个电池可以是不同的品牌)。工程师们在玩游戏时。如果手柄没有电,他们都是将其中没电的电池拿走,并换上一个全新的电池,有电的必须继续使用。例如,已知三种电池的使用时间分别为3小时、5小时和8小时。一开始,工程师使用3小时和5小时的电池。3小时后,换上一个8小时的,再过2小时后,手柄再次没电时,已经没有电池可用了。但如果一开始就使用那个8小时电量的电池,可以玩满8个小时。告诉你每个品牌电池的使用时间以及该品牌电池的个数, 阅读全文
posted @ 2012-05-19 15:11 windmissing 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题面描述:你尝试过在百度上使用siteinurl语法查询吗?如果还没有的话可以试一下:)如输入site:www.baidu.cominurl:news则会搜出所有在www.baidu.com站点上的包含"news"子串的url。现在我们有两份数据,一份是site_inurl.txt一份是url.txtsite_inurl.txt中每行是一个siteinurl语法组成的查询串,url.txt中保存的是url列表。你能否在url列表中找出所有能被site_inurl.txt中的查询串检索到的url?如site_inurl.txt内容如下:site:www.baidu.comin 阅读全文
posted @ 2012-05-19 13:24 windmissing 阅读(394) 评论(0) 推荐(0) 编辑
摘要: #include <string> using namespace std; #define NUM 26 #define TYPE 'A' class dictree { public: dictree *child[NUM]; string *value;//节点所存的数据,根据题目而使用不同的类型或数据 dictree(){memset(child,0,sizeof(child));value=NULL;} ~dictree(); bool insert(string s, string s2); string search(string s); }; //把 阅读全文
posted @ 2012-05-18 21:34 windmissing 阅读(127) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 12 下一页