1st 6月1日

原创 2016年06月01日 21:51:23

6月1日 研究ゼミ と李さん

先輩のパソコンが中國人造るOS、ubuntu kylinです。初めて聞いた、見た。
三時から五時まで、先輩はプロジェクトとがを教えました。しっかり人と思うでした。最初分からないもの(OS、Virtual Machineのだ)がたくさんですけど、プロジェクトに関しての構想がはっきりになりました。
以下は中国語てノートです。

【日本语大变难】【扑街】【以上。】

笔记与资料调查汇总

项目来源与概念
由之前毕业的学长x2制作,李桑参与win部分开发。vmOS是可封装的多虚拟机多操作系统的宿主程序与应用间的系统(暂且这样叫),目的想使用户感觉不到多虚拟机多操作系统的运行。把各个子操作系统的应用显式放在宿主操作系统上,和宿主操作系统的应用平起平坐。使用时与其他应用一样触发,被触发的应用找到对应的虚拟机并检查是否开启,由虚拟机找到对应的操作系统并检查是否开启,将应用内容放入内存并运行。利用切图方法将虚拟机中对应应用的界面绘制在宿主系统的显示上,通过捕获输入和鼠标行为等将结果返回给虚拟机的操作系统达到无缝桌面的效果。

原理:
1:虚拟机通过软件模拟硬件系统功能,提供运行其他操作系统及其上软件的环境,使多个操作系统可以同时运行在一台物理机上。虚拟机本身作为一个软件在宿主操作系统中运行,其上运行的软件在宿主机分配的内存中运行(存疑),达到隔离虚拟机中操作系统及其上操作与宿主系统隔离的效果,保证安全性。
2:为什么需要多个操作系统?因为每个操作系统实现的触发进程、使用的标准等导致一些机制(接口)不一样,不同应用、软件(如编译器和)需在不同的操作系统下才能运行,故多个操作系统需借助虚拟机安装在同一台物理机上。
3:物理显示原理 : 需显示的数据从总线(Bus)进入GPU(Graphics Processing Unit,图形处理器),经过后续步骤到达显示器输出。Linux系统的显示由Xorg(X11而来)实现,并不注重UI;实现显示分两部分,用套接字传输(vmOS的传输使用TCP/IP借用)。Windows系统对于UI要求很高,但其显示相关调用似乎都属于外设驱动(不在系统中,打游戏需要下载DirectX之类的)。
4:
内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序
用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取
linux操作系统中存在kernal模式与user模式,两种模式可由CPU进行转换。CPU根据程序在用户态下的调用情况决定是否进入内核态(系统调用)。一般使用user模式,以限制程序的调用能力。user模式的逻辑空间包括kernal空间,user空间和包括中断向量表IVT在内的位于首地址附近的一些控制信息,而kernal空间和首地址空间可与物理内存一一对应(在虚拟机中发现宿主分配给某linux虚拟机的空间的地址和位移量可以与此系统中的这两个空间一一对应)。
关于kernal空间称作静态空间,其中存放的是一般不进行直接调用的命令(与物理地址对应),而是等待user的调用。

实现:
linux用户态下,宿主OS上开启等待server,虚拟机上配置线程client。二者用TCP/IP协议交换数据。
server:接受来自位图区域的输入,调用显示驱动绘制应用窗口。
client:把需打印的应用数据放到当前操作系统的kernal内存,把此部分内存传入一个分享内存空间,供server调用。

效果:
桌面绘制方面实现有标题的窗口和右键菜单窗口的输出。

问题:
延迟严重,无缝桌面的画面比虚拟机中的画面慢2-3倍。
部分功能无法实现,如同一应用的提示框出现后只能在提示框进行操作而应用其他部分不能操作,提示框闪烁等。
错误多,会因中途中止程序出错。
输入的编码会出错。

最初开发时的问题:
进程间同步等。

学习:理解VB中如何实现无缝桌面。
VirtualBox-5.0.20 源码阅读。现在已grep到win相关和linux相关的桌面绘制文件关键词如下。
VBoxSeamless dwStyle draganddrop WINNT vboxvideo

相关方面需了解/自学安排:
x86内容了解学习。
操作系统的网页继续学习。
编程相关的算法与源码阅读同步进行。

LINUX和windows的区别:http://iask.sina.com.cn/b/1716534.html
内核态kernel mode和用户态user mode: http://www.cnblogs.com/zemliu/p/3695503.html

版权声明:转载请联系wx:domina000. 感谢支持 举报

相关文章推荐

1st 6月1日

6月1日 研究ゼミ と李さん先輩のパソコンが中國人造るOS、ubuntu kylinです。初めて聞いた、見た。 三時から五時まで、先輩はプロジェクトとがを教えました。しっかり人と思うでした。最...
  • haya1
  • haya1
  • 2016-06-01 21:51
  • 275

6月20日

距离期末考试还有十天!!!!!!!!!! 感觉到一股杀气。。。。。。 超声波: 额,,, 有四个口:Vcc/Trig/Echo/GND 当然啦,Vcc 和 GND 依旧是电源两枚 Trig...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

6月18日

字符串函数:

领证

前言:坐在“女朋友”公司的办公室内,我通过她同事的电脑准备写下这篇博文。也许今天是个特别值得庆贺和纪念的日子,其实她已经不再是我的女朋友了,而是我的“老婆”大人。就jiu在zai今jin天tian,一...

Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月1日-1月6日)

Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月1日-1月6日)本周Windows 8开发学习资源更新浅析微软Win 8系统激活的各种问题cometwoWindow...
  • jv9
  • jv9
  • 2013-01-06 22:59
  • 1268

2015年1月6日回顾

1、上午主要修复了web的上传头像功能,问题在于后端逻辑那个地方,对于路径的认识含糊不清,相对路径是相对于workdir的,而web项目下的所有.py动态处理请求都是uwsgi处理的,而uwsgi的工...

2013年9月1日、Come On|Maven初步认识

结束了2天的断网时间、有开始了新的生活、看看课表、有2门考试课、ERP和电子商务、课程还算轻松、 怎么利用课余时间做一些对自己更有益的事、成了现在目标和重点、 不能再像从前一样、随遇而安、随波逐流、跟...

1月20日

自己真拿自己没办法,在学校的时候总怪时间少,当真正有一大把的时间时,我又这样无所事事,我也不知道自己这个样子对不对,总是在强迫自己参加这一场追逐。     一直在说acm可实际上我没有在这方面投入太...

为什么编程时间从1970年1月1日开始?

最初计算机操作系统是32位,而时间也是用32位表示。 System.out.println(Integer.MAX_VALUE); 2147483647 Integer在JAVA内用32位表示,因此3...

讲题(1st)(1)

Tarjan算法强连通分量(scc) 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)