首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一个Loader引导加载程序

    前面我已经写完了boot程序,搭建好了FAT文件系统,系统的控制权已经移交给了Loader程序。 Loader程序的功能 Loader程序的主线功能就是检测硬件信息、切换处理器模式、向内核传递数据。...在各个模式的切换之中,loader程序需要创建一些临时数据,然后按照标准流程进行切换。其中包括的配置系统临时页表的工作,保证页表覆盖的地址空间能满足应用程序的使用要求。临时的段结构也是一个道理的。...由于我们还没有内核程序,因此这里用一个空的kernel.bin来占位,方便后面的开发。 当找到内核程序文件后,就逐个簇地读取内核文件到临时地址,再立即移动到1MB以上的空间去。...获取SVGA芯片的信息 这是一个显示芯片,为了能正确显示图像,我们获取了它的信息。并且设置它的显示模式为0x180,也就是1440*900,32位宽。...包括了GDT、LDT、IDT表各一个(IDT是可选的),以及任务状态段结构TSS、临时页目录和页表、中断处理模块。

    68420

    Linux上用EclipseC++程序

    我厂很多同学使用VC在windows上编写linux的C/C++程序,然后再传的开发服务器上,然后再编译和调试。如果有修改,可能会直接用vi去改了,然后再把源代码同步回来。其实这样做挺折腾的。...也有大神全盘vim设置emacs,想来也是极好的。 但是,也有另外一个方案,就是在 Linux上安装个C/C++程序的IDE,这样可以直接编写、编译、运行、上传SVN,非常方便。...其实要做到这点,也很简单: 你需要一个虚拟机来运行一个带GUI的LINUX,这样IDE才能运行起来,当然也可以直接在开发服务器上安装GUI程序,然后WINDOWS的办公PC这里设置个SSH的X转发,装个...注意Eclipse有很多个包,如果只C/C++程序,就直接下Eclipse CDT这个套件好了,省了还要下支持JAVA开发的东西。 ?...对于服务端代码的同学来说,绝对值得尝试!

    3.4K70

    Linux——多线程

    Linux多线程 多线程 进程内进行资源划分 之前说过页表有用户级页表和内核级页表,现在再来扩展一下。...(并不是线程越多越好,要合适,最好要和CPU的核数相同) 健壮性降低 编写多线程需要更全面更深入的考虑,在一个多线程程序里,因时间分配上的细微偏差或者因共享了不该共享的变量而造成不良影响的可能性是很大的...缺乏访问控制 进程是访问控制的基本粒度,在一个线程中调用某些OS函数会对整个进程造成影响。 编程难度提高 编写与调试一个多线程程序比单线程程序困难得多。...kw=thread 但是这里要注意:任何语言在Linux中要实现多线程,必定要使用pthread库。 C++11中的多线程,本质就是对pthread库的封装。...封装线程接口 这里就用Linux的线程接口来实现C++中的多线程部分功能。

    93130

    Linux多线程

    线程是进程内部的一个执行流,在Linux下并没有为线程额外创建数据结构来管理,而是通过只建立PCB来模拟实现的;但是在Windows下为了管理线程又创建了TCB内核数据结构来管理; Linux这种方式一方面是提高了代码的复用率...,而是线程;线程的资源是占用进程的,所以进程其实是分配操作系统资源的基本单位 Linux下进程和线程的关系: 之前我们接触的都是单进程多线程或者多个单线程进程 3.线程的数据属性 一个进程内部的线程共享大部分的资源比如...2、健壮性(鲁棒性)降低 ​ 编写多线程需要更全面更深入的考虑,在一个多线程程序里,因时间分配上的细微偏差或者因共享了不该共享的变量而造成不良影响的可能性是很大的,换句话说线程之间是缺乏保护的。...4、编程难度提高 ​ 编写与调试一个多线程程序比单线程程序困难得多。...---- 线程控制 1.创建多线程Linux下连续创建10个线程,将自定义类对象传到新创建的线程中,并将这些自定义类对象用vector保存 #include #include

    22230

    csharp一个招聘信息采集的程序

    csharp爬虫是一种用于自动化抓取网页内容的程序。它可以通过模拟人类浏览器的行为,自动访问网站并抓取所需的数据。csharp爬虫可以用于各种场景,例如数据挖掘、搜索引擎优化、竞争情报等。...3、创建一个HttpGet请求,请求的URL是"目标网站"。这只是一个示例,你需要根据你的需求修改这个URL。4、发送请求,使用HttpClient的SendAsync方法发送请求。...6、使用HtmlAgilityPack解析HTML,创建一个HtmlDocument实例,然后使用LoadHtml方法加载HTML内容。...注意:这个示例使用了HtmlAgilityPack库,你需要在你的项目中添加对这个库的引用才能运行这个程序。你也可以使用其他库来解析HTML,如HtmlWebParser等。...同时,这个示例只是一个基本的爬虫程序,实际的爬虫程序可能需要处理更多的细节,例如处理重定向、处理JavaScript渲染的页面、处理登录验证等。

    26640

    假如让你一个年会抽奖程序……

    刷微博的时候看到一家互联网公司组织年会,在抽奖的环节中,一群程序员觉得这个抽奖程序有猫腻,纷纷提出质疑,于是 CTO 就带头把程序代码显示出来,一个年会变成了一场代码 Review 会 。。...每个公司的年会应该都会有抽奖环节吧,如果说图省事儿直接让公司员工一个抽奖程序,也是可以的。如果过的再精致点儿,可能会选用更有权威的第三方抽奖程序。...无非是使用或函数从一个范围选取一个随机数,然后匹配到对应这个随机数的幸运儿。...那么问题来了,我所处的环境也是一个大型互联网公司,虽然我这个抽奖程序是凭良心纯随机生成的随机数,但是那天也发生了中奖的人大多都在财务部门,技术部的人一个都没有的狗血结果…所以那次抽奖后就会有很多技术小伙伴提出质疑...至于我程序中每次使用的随机数都是使用程序内置函数生成,所以出现那天分配不均的情况也不是不可能。那么,我们要如何生成一个真正的随机数呢?

    2.3K60
    领券