自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件和芯片来改变世界

  • 博客(20)
  • 资源 (33)
  • 论坛 (34)
  • 收藏
  • 关注

原创 reactos操作系统实现(50)

 当运行到内核函数Phase1Initialization里,就是进行内核第一阶段初始化了,这时在这个函数又调用函数Phase1InitializationDiscard进行复杂的处理,在这里有一个重要的步骤,就是打开内核应用程序smss.exe来运行。具体代码如下:#001  /* Update progress bar */#002      InbvUpdateProgressB

2009-07-25 22:56:00 2159

原创 reactos操作系统实现(49)

前面已经介绍怎么样从ISOBOOT里加载SETUPLDR.SYS,下面来分析一下这个程序与一般硬盘引导程序freeldr.sys有什么区别。在文件freeldr.c里是这样这样调用安装函数的:#001  VOID BootMain(LPSTR CmdLine)#002  {#003       CmdLineParse(CmdLine);#004  #005      

2009-07-24 22:40:00 1931

原创 reactos操作系统实现(48)

 每当安装到一个全新的电脑时,都需要使用安装程序来把系统安装到电脑的硬盘里面,这个过程其实是一个极其重要的过程,如果用户不容易安装系统的话,那么这个系统也是很难使用的系统,不利于系统广泛使用和推广。下面就来了解Reactos是怎么实现整个安装过程的。当使用make bootcd的编译命令时,就是编译一个可以启动并安装系统的光盘文件。这个光盘文件,就是使用上面介绍的ISOBOOT的方式实现系

2009-07-23 23:18:00 2757

原创 reactos操作系统实现(47)

当光盘变成记录数据以后,就开始使用光盘来分发操作系统了。毕竟光盘有着储存数据量大,成本便宜的优势。下面就来分析Reactos是怎么样通过光盘的格式来引导操作系统的。现今的计算机BIOS,会在开机时根据El Torito规格,查找光盘上的开机代码。若该光盘具有开机代码,则BIOS会指配一个磁盘驱动器代号给该光驱。磁盘驱动器代号通常为80(模拟硬盘)或是00(模拟软盘)等。借由模拟成硬盘或软盘

2009-07-22 20:14:00 3015

原创 reactos操作系统实现(46)

在线程调度里可以看到,需要调用函数KiSwapContext来进行运行环境切换,由于每个CPU都是只能运行一个线程,而多个线程在运行过程中被中断了,那么就需要保存CPU所有寄存器,以便下一次恢复线程时可以接续运行。现在就来分析这个函数是怎么样实现这些工作的,代码如下:#001  /*++#002   * KiSwapContext #003   *#004   *    T

2009-07-21 21:27:00 2306 4

原创 reactos操作系统实现(45)

怎么样从一个延迟就绪队列里选择合适的线程运行呢?下面就来分析这段代码,如下:#001  //#002  // This routine scans for an appropriateready thread to select at the#003  // given priority and for the given CPU.#004  //#005  FORCE

2009-07-20 21:46:00 1638

原创 reactos操作系统实现(44)

前面分析了怎么样把一个线程放到延迟就绪队列,接着下来的问题就是这些在就绪队列里的线程什么时候开始运行呢?又是怎么样把就绪队列的线程取出来运行的呢?线程调度的触发事件有以下四种:1) 线程进入就绪状态,如一个刚创建的线程,或者一个刚结束的线程。2) 线程的时间片用完。3) 线程调用系统服务发生等待,或者被系统改变其优先级。4) 线程改变自己运行的处理器。 先来分析第一种情

2009-07-19 12:05:00 2564 1

原创 reactos操作系统实现(43)

前面介绍放到延迟队列是单核的版本,下面来学习多核的版本,代码如下:#001  //#002  // This routine makes the thread deferredready on the boot CPU.#003  //#004  FORCEINLINE#005  VOID#006  KiInsertDeferredReadyList(IN PKTH

2009-07-19 00:43:00 3237

原创 reactos操作系统实现(42)

接着下来,就需要分析函数KiReadyThread的作用了。根据线程状态来判断是否可以放入延迟队列,还是设置它为转换状态,代码如下:#001  VOID#002  NTAPI#003  KiReadyThread(IN PKTHREAD Thread)#004  { 获取当前线程的进程对象。#005      INPKPROCESS Process = Thre

2009-07-15 21:27:00 4629 2

原创 reactos操作系统实现(41)

当线程初始化成功后,是怎么样放到推迟就绪队列的呢?通过下面这几个函数的分析,就会了解这个问题了。从以前的分析可以知道是调用函数KeReadyThread来执行的,这个函数的代码如下:#001  VOID#002  NTAPI#003  KeReadyThread(IN PKTHREAD Thread)#004  {这里参数Thread就是刚刚创建的线程。 #005 

2009-07-14 22:14:00 2101

原创 reactos操作系统实现(40)

 由于Reactos的调度单位是线程,所以它的状态机就是基于线程的。比如进程A有5个线程,进程B有2个线程,总共就是12个线程来进行调度,也就是把CPU的时间分成12等份。线程总共状态如下:#001  //#002  // Thread States#003  //#004  typedef enum _KTHREAD_STATE#005  {#006      Ini

2009-07-13 22:18:00 2202

原创 谈谈软件开发人员基本要求

美国次贷危机引发的世界金融危机,使全球经济发展面临严峻挑战,对我国就业环境也造成相当程度的冲击。据悉, 2008年10月以后,与金融紧密关联的证劵、保险、投资、理财等服务业大幅萎缩,同时,沿海地区劳动密集型企业、出口导向型企业更是受到了严重影响,社会就业压力高涨。而对2009年应届毕业生来说,就业压力达到历史新高,不少人甚至认为大学生重回知青时代,应该上山下乡。 面对这么困难的环境,有

2009-07-12 12:55:00 9554 27

原创 reactos操作系统实现(39)

到底一个线程是怎么样创建的呢?又是怎么样放到就绪队列呢?#001  NTSTATUS#002  NTAPI#003  PspCreateThread(OUT PHANDLE ThreadHandle,#004                  IN ACCESS_MASK DesiredAccess,#005                  IN POBJECT_

2009-07-12 11:49:00 5250 1

原创 reactos操作系统实现(38)

由于Reactos是以线程为最小的调度单位,如果仅仅创建进程的数据结构,不足以运行进程的任务,每个进程至少需要一个线程才可以运行,下面就来分析系统进程的线程创建,代码如下:#195      /* Setup the systeminitialization thread */#196      Status = PsCreateSystemThread(&SysThreadHan

2009-07-11 00:20:00 1893 1

原创 reactos操作系统实现(37)

下面来继续分析创建进程函数,过程如下:保存工作集数据。#070      /* Save working set data */#071      MinWs = PsMinimumWorkingSet;#072      MaxWs = PsMaximumWorkingSet;#073   创建一个进程对象。#074      /* Create the Ob

2009-07-09 23:46:00 2894 1

原创 reactos操作系统实现(36)

前面分析了进程管理器的初始化工作,主要就是把进程管理器的列表、对象初始化,还有第一和第二阶段的初始化工作。接着下来,我们来分析一下进程创建函数,看看进程在Reactos里是怎么样创建的,需要调用什么函数来创建进程,还有应用程序是怎么样调用API函数来创建进程的。可以从前面分析的代码里,看到创建第二个进程代码如下:#196      Status = PsCreateSystemThread

2009-07-08 23:03:00 1712 1

原创 reactos操作系统实现(35)

初始化活动的进程列表。#076      /* Initialize the ActiveProcess List */#077     InitializeListHead(&PsActiveProcessHead);#078     KeInitializeGuardedMutex(&PspActiveProcessMutex);#079   获取空闲的

2009-07-06 20:54:00 2288

原创 reactos操作系统实现(34)

现在就来分析第一阶段的进程管理器初始化函数PspInitPhase0,如下:#001  BOOLEAN#002  NTAPI#003  PspInitPhase0(INPLOADER_PARAMETER_BLOCK LoaderBlock)#004  {#005      NTSTATUS Status;#006      OBJECT_ATTRIBUTESOb

2009-07-05 14:16:00 2538 2

原创 reactos操作系统实现(33)

当Reactos在系统初始化时,就会调用进程管理初始化函数PsInitSystem来进行初始化。只有把进程管理初始化后,才可以创建进程,这样才可运行各种各样的任务。下面就来分析进程管理器初始化函数:#001  BOOLEAN#002  NTAPI#003  PsInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)#004  {在参

2009-07-02 20:50:00 1822 1

原创 reactos操作系统实现(32)

这个函数主要功能就是实现访问不存在的页面。#001  NTSTATUS#002  NTAPI#003  MmNotPresentFault(KPROCESSOR_MODE Mode,#004                             ULONG_PTR Address,#005                             BOOLEAN FromMdl

2009-07-01 21:19:00 3207 3

C++读写json文件

https://github.com/nlohmann/json 最好用的C++读写json库

2017-12-09

python抓取天气并分析 实例源码

Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报,原理是根据url找到网站截取相应的数据展现。 python抓取广州天气并分析 实例源码

2017-08-28

国产8051模拟器

一款国产的8051模拟器(全部源代码) 本软件是一款8051模拟器,他的特点是可以模拟多处理器平台,在简单的多工作区间的界面上可以很方便的模拟8051处理器, 最重要的是这个单片机系统可以完全由你自己订制,你甚至可以随意创建自己的多单片机系统,什么SMP 基于串行总线的分布式系统,集群式系统,只要你能想到的,都可以办到,充分发挥你的想象力。现在1.0版本已经基本体现出了这种思想,在以后的版本中将使这一特性变的 更加强大!

2016-09-10

python web py入门配套源代码

python web py入门- 实现论坛,开发技术:后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS。

2018-02-23

milang 1.0.5

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-08-03

milang 1.0.4

本项目主要开发 学习 讨论小语 milang 编程语言 它是以python语法为基础 然后改进它语法 增加直接生成机器码 混合C++的优点 增加基于寄存器的虚拟机实现

2014-07-13

milang 1.0.3

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。

2014-06-07

Milang 1.0.2

本项目主要开发、学习、讨论小语(milang)编程语言,它是以python语法为基础,然后改进它语法、增加直接生成机器码,混合C++的优点,增加基于寄存器的虚拟机实现。 代码下载和上传见: https://code.csdn.net/caimouse/milang

2014-06-02

milang开发工具

组合了notepad和python 3.4的开发工具,可以集编辑和运行、结果查看为一体。

2014-05-24

svm_hog_data.rar

使用到LineSVC里进行机器学习的训练数据,用来训练手写识别。 配套专栏文章使用,https://blog.csdn.net/caimouse/article/details/104599920。

2020-03-02

实现numpy的C++库扩展

使用C++来扩展numpy里的数据计算,这时就需要使用numpy的扩展库功能了,下面就来提供一个使用C++编写numpy扩展库的模板,这样大家就要减少很多弯路,减少跌入坑里的成本。这个扩展库的模板是从mahotas库里抽取出来的,经过最大化的简化,这样更加容易理解,更方便学习。

2019-11-24

STM32F407VET6工程模板

玩转STM32里文章配置的代码,这里学习的第一个工程代码,可以作为后继开发的模板工程。

2019-03-14

webpy演示例子1

webpy演示例子1, 用于配套文章相关资源。python web py入门(9)- 论坛首页的模板中模板 前面已经提到一个模板中可以套用另外一个模板,现在就来看看这个论坛基本布局模板是怎么样的?

2018-02-21

胶囊模型的代码

胶囊模型的代码在以下论文中使用: “Dynamic Routing between Capsules” by Sara Sabour, Nickolas Frosst, Geoffrey E. Hinton. 要求 TensorFlow ( 访问 http://www.tensorflow.org 了解如何安装和升级) NumPy (详见http://www.numpy.org/) GPU

2018-02-02

wix3.11版本安装工具

wix3.11版本安装工具

2017-06-19

WiX3.10版本安装工具

WiX3.10版本安装工具

2017-06-19

GOOGLE的TPU论文

GOOGLE公开TPU的论文

2017-04-06

深度强化学习论文

DQN的论文

2017-03-17

书《深度学习》

2015年,深度学习三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在最新的《Nature》杂志首次合作的发表综述文章《Deep Learning》。本文为该综述文章的中文译文,深入浅出地介绍了深度学习的基本原理,核心优势和未来展望。

2017-03-13

手写识别的训练数据

MNIST训练数据

2017-03-10

俄罗斯方块游戏开发

俄罗斯方块游戏开发培训里的可执行文件,让大家可以查看相关的结果。以便是否参加培训。

2016-11-30

duilib界面库20161116

更新为VC2015编译的duilib,持续重构代码,使用最新的C++14的语法。

2016-11-16

duilib界面库20161017

duilib 界面库

2016-10-17

duilib界面库

duilib界面库,长期维护的界面库,在WIN10和VS2012上编译和开发、测试通过。

2016-10-10

mysql开发管理工具

mysql数据库的开发管理工具。

2016-07-12

mysql-5.5.50-64

windows下的64位MYSQL的版本。

2016-07-10

python-3.4.4

python 3.4的32位的windows版本

2016-07-01

tinyxml2配套源码

在软件开发过程中,为了使软件有灵活的配置,特别像界面这样的配置,同时为了减轻重复开发的任务,需要把客户的个性化需求可以通过配置文件来修改,比如像界面的颜色配置,就可通过配置文件来修改,这时就可以采用XML文件来保存和修改这些参数配置。在不同软件之间进行通讯时,也可以采用XML协议来进行数据交换,特别像WEB服务的调用时,采用传送XML格式是基本的数据交换方式。基于这些任务的需求,需要软件开发人员会在C++里使用xml格式。

2016-06-27

protoc2.5执行文件

protoc执行文件

2016-06-24

protobuf 2.5

protobuf 2.5库代码和工具

2016-06-24

selenium的浏览器驱动

目前有很多的银行网站,还是以IE为标准的浏览器,因此这里主要采用IE为测试的例子,在这里可以下载不同版本的浏览器驱动,可以是32位的,也可以是64位的,根据自己的需要下载不同的版本。在本文章里,下载的是2.35.3版本:IEDriverServer.exe,把它放在目录f:\temp\里面。

2016-06-14

WIX制作C#应用程序安装包

WIX制作C#应用程序安装包

2016-05-26

pythoncn-3.4.3

1. 使用VS2012编译。 2. 修改在VC11.0的库下运行pythonw.exe出错误的BUG。

2015-05-04

caimouse的留言板

发表于 2020-01-02 最后回复 2020-05-14

开发大联盟,VC人员开放大聚会

发表于 2001-11-05 最后回复 2012-05-23

C++编译器源程序学习!!!!!!!!!!!!!!!!!1

发表于 2003-12-26 最后回复 2004-01-07

FastBT下载 1.0.3.66版 2003.12.25 放分 一小时结.

发表于 2003-12-26 最后回复 2003-12-26

发布最新版本FastBT 1.0.1.27 高兴放分

发表于 2003-11-21 最后回复 2003-12-10

有没有分析过传奇网络通迅?

发表于 2003-07-10 最后回复 2003-11-28

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-09-01

Visual Studio.net 2003 7cd 下载

发表于 2003-08-27 最后回复 2003-08-28

怎么样实现在资源管理器多一个盘号?

发表于 2003-07-24 最后回复 2003-07-31

深圳治安真差,我差点就被打死了!

发表于 2003-05-12 最后回复 2003-05-23

开放源码的P2P文件共享研究Gnucleus

发表于 2002-07-24 最后回复 2003-05-06

怎么样实现从播放器播放的声音录下来?

发表于 2003-03-11 最后回复 2003-03-19

QQ死机的BUG?不信你就试试了。

发表于 2003-02-20 最后回复 2003-02-26

大家把自己有的技能交流一下

发表于 2003-01-24 最后回复 2003-01-28

有不有程序员取这么好有GF啊?

发表于 2003-01-15 最后回复 2003-01-24

在C++BUILDER里怎么调试进入PASCAL?

发表于 2003-01-08 最后回复 2003-01-08

猜谜语送分

发表于 2003-01-07 最后回复 2003-01-07

操作系统源码分析网

发表于 2002-12-17 最后回复 2003-01-03

有人写过硬盘驱动程序吗?

发表于 2002-12-16 最后回复 2002-12-17

怎么样才能写出一个像TObject类CObject来?

发表于 2002-12-04 最后回复 2002-12-11

有空来我cbuilder论坛

发表于 2002-11-21 最后回复 2002-12-04

有空来我VC论坛

发表于 2002-11-25 最后回复 2002-11-26

开发DOS的操作系统,作为实时操作系统

发表于 2001-10-29 最后回复 2002-02-17

在局部网内用UDP通过代理服务器连接外面的人,怎么样用VC写通过代理呢?

发表于 2001-09-24 最后回复 2002-02-05

UDP 代理问题?

发表于 2002-01-24 最后回复 2002-01-24

怎么样设置像ICQ或OICQ这样服务器?

发表于 2001-12-29 最后回复 2001-12-29

我的钱哪去了?

发表于 2001-12-17 最后回复 2001-12-17

在VC中这个错误为什么出现的?

发表于 2001-11-30 最后回复 2001-12-13

谁能说出ICQ目录下各个DLL文件用处?给高分!!!!

发表于 2001-11-27 最后回复 2001-11-27

怎么样更新CLISTBOX

发表于 2001-11-14 最后回复 2001-11-14

谁有空就用C写个DOS操作系出来?XP可没有DOS啊

发表于 2001-10-26 最后回复 2001-11-13

为什么国内没有人写出像<<深入浅出MFC>>这样的好书

发表于 2001-11-08 最后回复 2001-11-08

用C++能写DOS操系统吗?

发表于 2001-10-31 最后回复 2001-10-31

我们能不能把NASM的使用手册译成中文吗

发表于 2001-10-30 最后回复 2001-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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