ring

Windows10(14316) Linux子系统分析

☆樱花仙子☆ 提交于 2020-04-23 10:31:17
0.背景 在build 2016大会上,微软宣布windows10 中将原生支持bash,并且号称在windows中加入了一个Linux子系统(Windows Subsystem for Linux),而不是一个虚拟机。而后在发布的win10 14316(x64)更新上就开启了bash功能,但32位版本没有bash。 笔者随即下载了14316想体验一下windows上执行bash命令,并且想了解这个Linux子系统机制的实现。 一.介绍 首先打开system32\bash.exe后,随便输入一个ls命令,通过procmon发现有进程访问了C:\Users\xxxxx\AppData\Local\lxss\rootfs\bin\ls文件。 随即发现了linux根目录挂载在C:\Users\xxxxx\AppData\Local\lxss\rootfs,可以看到目录结构和ubuntu基本一致。 反过来看到访问ls这个elf文件的进程比较奇怪,procmon无法显示进程名字,而且挂上调试器还会发现这个进程对象内不仅没有名字,也没有section,peb等信息。 二. Pico Process 这种没有名字的进程称为pico process,也就是ELF的宿主进程。关于picoprocess介绍: http://research.microsoft.com/en-us/projects

64位内核开发第一讲,驱动框架.

冷暖自知 提交于 2020-04-21 07:35:37
#驱动框架介绍 ##1.应用程序3环到0环的框架 ###1.1 3环到0环的驱动框架. 首先是我们的3环API API -> 封装数据跟命令 ->调用kerner32或者ntdll的函数 ->进行封装,传送给IRP结构体 ->调用驱动 这里接触了一个新的概念.IRP .IRP结构体其实是3环的数据以及命令.进行封装传送到0环的时候.保存在这个结构体里面. 0环通过读取进而调用0环的 NT函数来执行. 如我们调用ReadFile.那么会直接调用我们写的驱动的派遣函数 DispathRead 其中有0x1B(27)个分发派遣函数. 以及一个DriverUnLoad函数. 我们的数据都存放在 IRP中.我们如果要完成例程,那么就设置IRP中的. IOstatus即可.我们的驱动是分层驱动.如果不设置.他还会调用其它的驱动. ###1.2 NT驱动框架 上面我们说了,3环的API会调用0环.其中数据以及命令信息会放在IRP结构体中. 那么如果我们调用 CreateFile. 那么则会产生一个IRP_MJ_CREATE 我们内核层则会调用DispathCreate()来进行设置. 如下: Nt模型,函数 消息 DriverEntry 单线程环境,程序入口点. DispatchCreate IRP_MJ_CREATE DispatchRead IRP_MJ_READ DispatchWrite

2020年编程语言排行榜!

假如想象 提交于 2020-04-18 23:35:01
小伙伴们,大家好,今天给大家分享的是全球最受欢迎的编程语言,到2020年4月18日。看看你用的语言上榜了吗? 最受欢迎的前20名 其他编程语言 未来可能受欢迎的语言(排名不分先后,使用字母排序) (Visual) FoxPro, ABC, ActionScript, Alice, Arc, ATLAS, Awk, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Forth, Hack, Icon, Inform, Io, J, Korn shell, Ladder Logic, LiveCode, Maple, Mercury, MQL4, NATURAL, Object Pascal, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, Programming Without Coding Technology, Pure Data, Q, Red, Ring, S, Smalltalk, Solidity, SPARK, Tcl, Vala/Genie, Verilog, VHDL, Whitespace 长期以来受欢迎的编程语言 编程语言名人堂 ps.由权威机构 TIOBE 发布。 今天的推荐不知道大家喜欢吗

2020年编程语言排行榜!

浪尽此生 提交于 2020-04-18 14:38:47
2020年编程语言排行榜! 小伙伴们,大家好,今天给大家分享的是全球最受欢迎的编程语言,到2020年4月18日。看看你用的语言上榜了吗? 最受欢迎的前20名 其他编程语言 未来可能受欢迎的语言(排名不分先后,使用字母排序) (Visual) FoxPro, ABC, ActionScript, Alice, Arc, ATLAS, Awk, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Forth, Hack, Icon, Inform, Io, J, Korn shell, Ladder Logic, LiveCode, Maple, Mercury, MQL4, NATURAL, Object Pascal, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, Programming Without Coding Technology, Pure Data, Q, Red, Ring, S, Smalltalk, Solidity, SPARK, Tcl, Vala/Genie, Verilog, VHDL, Whitespace 长期以来受欢迎的编程语言 编程语言名人堂 ps.由权威机构 TIOBE 发布。

2020年编程语言排行榜!

老子叫甜甜 提交于 2020-04-18 14:38:23
小伙伴们,大家好,今天给大家分享的是全球最受欢迎的编程语言,到2020年4月18日。看看你用的语言上榜了吗? 最受欢迎的前20名 其他编程语言 未来可能受欢迎的语言(排名不分先后,使用字母排序) (Visual) FoxPro, ABC, ActionScript, Alice, Arc, ATLAS, Awk, bc, Bourne shell, C shell, CL (OS/400), Clojure, Common Lisp, Crystal, cT, Elixir, Forth, Hack, Icon, Inform, Io, J, Korn shell, Ladder Logic, LiveCode, Maple, Mercury, MQL4, NATURAL, Object Pascal, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, Programming Without Coding Technology, Pure Data, Q, Red, Ring, S, Smalltalk, Solidity, SPARK, Tcl, Vala/Genie, Verilog, VHDL, Whitespace 长期以来受欢迎的编程语言 编程语言名人堂 ps.由权威机构 TIOBE 发布。 今天的推荐不知道大家喜欢吗

SQLSERVER数据库死锁与优化杂谈

走远了吗. 提交于 2020-04-17 20:28:38
死锁杂谈 当数据库死锁时,SqlServer会释放一个优先级较低的锁,让另一个事务运行;所以,即时去捕捉数据库死锁,是挺不容易的。 如果,数据库死锁比较长时间,那么死锁是可以被捕捉的。 可以用SqlServer活动监视器来查看,哪些进程锁了数据库。 首先打开SqlServer活动监视器,然后可以看到,界面里有进程,查看资源,数据文件I/O,最近消耗大量资源的查询四项。 四项显示内容如下: 进程:在进程里可以看到哪些进程被阻塞,查看属性【阻塞者】可以看到,【阻塞者】的会话ID。 等待资源:等待资源里有一些锁,可以看看那些锁累计等待时间较多。 数据文件I/O:数据文件I/O记录一些数据库MDF,LDF的读写速度。 最近消耗大量资源的查询:记录一些消耗资源较大的SQL查询。 查询进程里被死锁的会话ID,然后执行下面的SQL,进行解锁。 declare @spid int Set @spid = 518 --锁表进程会话ID declare @sql varchar(1000) set @sql='kill '+cast(@spid as varchar) exec(@sql) 也可以用下面SQL语句查询死锁进程,这样查询死锁进程,定位比较快。 select request_session_id spid, OBJECT_NAME(resource_associated_entity_id

Camera tuning 基础知识点

蓝咒 提交于 2020-04-08 10:58:27
相关知识点总结: 一、模组及工艺相关知识 ①模组的组成 1)模组的基本组成。(AF&FF) 2)镜头----镜头的发展历史,镜头相关参数解析,镜头的选型依据,优劣判断。(MTF,DOF,Focus,AF,P&G....) 3)sensor----sensor的发展历史,技术演进,sensor本身特性参数解析,主流sensor厂工艺技术解析,分析各大sensor厂之间的差异,优缺点,同时能从某几颗sensor来分析。(了解带有PD的sensor) 1’sensor硬件电路设计部分要了解。 2’驱动相关部分,MIPI时序,sensor hts,vts,pclk,等的配置要了解。 4)AF driver 了解,如何控制driver ic,如何设置dumping,ring时间等。 5)了解模组硬件layout,走线,电子元器件,连机器等设计缺陷对于图像质量的影响。 ②模组的组装工艺,优劣。了解模组设计上的其他工艺,OIS等。 ③了解模组厂是如何测试最终的模组是否满足需要,测试方法,测试标准。 ④学习模组厂对于模组差异性的控制,golden,limit,normal选择依据,otp写入参数等。 ⑤综合考虑模组选型参考依据,以及模组最终确定选型之后,所能成像的影响质量和其他模组的对比。 二、图像及色彩处理基本理论和算法 ①色彩的基本理论。 ②ISP流程分析。 ③3A的基本算法原理。

Openstack Mitaka安装手顺(9)对象存储服务

社会主义新天地 提交于 2020-04-06 06:06:54
9、对象存储服务 9.1、安装并配置控制器节点 9.1.1、创建服务凭证和API端点 9.1.1.1、获得 admin 凭证来获取只有管理员能执行的命令的访问权限: $ . admin-openrc 9.1.1.2、要创建身份认证服务的凭证,完成这些步骤: 创建 swift 用户: $ openstack user create --domain default --password-prompt swift 设置密码:P@ssw0rd 给 swift 用户添加 admin 角色: $ openstack role add --project service --user swift admin 注解:这个命令执行后没有输出。 创建 swift 服务条目: $ openstack service create --name swift --description "OpenStack Object Storage" object-store 9.1.1.3、创建对象存储服务 API 端点: $ openstack endpoint create --region RegionOne object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s $ openstack endpoint create -

同态加密入门教程

大兔子大兔子 提交于 2020-04-05 17:49:05
在这篇文章中,我们将了解同态加密的基本概念,介绍常用的同态加密开发库,学习同态加密应用开发的一般步骤,了解如何在Web应用中添加同态加密支持。 <!--more--> 区块链开发教程链接: 以太坊 | 比特币 | EOS | Tendermint | Hyperledger Fabric | Omni/USDT | Ripple 1、同态加密概述 同态加密改变了隐私保护的游戏规则,它允许直接操作加密数据而无需先进行解密。这一概念可以追溯到RSA加密 —— RSA也具备有限的同态加密功能。不过同态加密很长时间都局限在学术界,直到2009年Craig Gentry的论文发表后,才涌现了大量的同态加密库。 现在已经有很多可用的同态加密库了。下面列出了一些比较流行的同态加密开发包以及它们支持的方案类型,当然这个清单是不完整的: Microsoft SEAL: BFV, CKKS (C++) HElib: BGV (with GHS), CKKS (C++) PALISADE: BFV, BGV, CKKS, FHEW (C++) TFHE: Ring-variant of GSW (C++) HEAAN: CKKS (with bootstrapping) (C++) 为你的web'应用找到合适的同态加密开发包以及方案类型需要进行大量的研究工作: 这些不同的同态加密实现代码有什么区别?

wrap-cors middleware not working with system.components

[亡魂溺海] 提交于 2020-03-25 21:51:22
问题 I have the following system.components middleware config, in which I'm using the ring.middleware wrap-cors, to allow for redirects to an external server: (defn config [] {:http-port (Integer. (or (env :port) 5000)) :middleware [[wrap-defaults api-defaults] wrap-with-logger wrap-gzip ignore-trailing-slash [wrap-reload {:dir "../../src"}] [wrap-trace :header :ui] wrap-params wrap-keyword-params wrap-cookies [wrap-cors :access-control-allow-headers #{"accept" "accept-encoding" "accept-language"