精华内容
下载资源
问答
  • 通过宽带远程控制自己的电脑
    2021-07-26 06:53:57

    办理了宽带后,如果只是用来看看网页、传传信息,其实还没用到带宽的十分之一,这样每个月缴几十元,不是有点可惜吗?这里教您一点有趣的应用,能有效利用您的带宽。免费软件+浏览器,让您能远程操作您的电脑。

    如果在办公室里突然想让家里的电脑“抓”东西,或朋友电脑有问题,但他却远在上海,这时只要有远程遥控软件,这样您不用坐到电脑前也能操作。

    最近微软的Smart Display被炒得很热,其实这种无线屏幕是利用Windows XP的远程桌面功能,将本机的桌面利用内部无线网传到Smart Display上,进而遥控本机电脑,但它必须装有Windows XP、且只能在内部网中一对一联线。

    不过本文教您的这个远程遥控则不限操作系统,不限于内部网络,只需要一条宽带(窄带也行,只是遥控得很痛苦)和安装一个免费软件,您就可以在任何能上网的地方遥控电脑。比如在办公室遥控家里的电脑刻盘,或在网吧遥控电脑抓东西。如果您的电脑常出问题,也可以安装个远程遥控软件,请高手直接从网上帮您修,不用再劳师动众了。是不是很方便呢?那就快来试试吧!(不过是用个软件而已^_^)

    软件名:VNC for Windows 3.3.7

    体积:563k

    操作系统:Windows 98/Me/2000/XP

    性质:免费

    下载地址:http://fileforum.betanews.com/download.php?fid=954971403

    官方网址:http://www.realvnc.com/

    ●两种远程遥控安装方式

    安装方式一:安装在两端的主机上

    这类软件若要达到遥控的目的就得在主控端(Client)和被控端(Server)都装上软件才行。比如在办公室想远程遥控家里的电脑,两台电脑都得装上一样的软件或主控端得使用特定的软件才能联线。有这种设计的软件通常遥控时的传递速度比较快,而且还有特别的功能(如录像),但两边都得装,机动性不算太好。代表软件有pcAnywhere及Remote Administrator。

    安装方式二:只安装在被控一端的主机上

    这类软件只要在被控端装上就行,主控端则用支持JAVA的浏览器来联线,如IE、Netscape等都行,相当方便,几乎任何电脑都能用。不过遥控时的画面传递速度略慢,但与其便利性相比,这点牺牲还是值得的。代表软件有本次示范的VNC和Desktop On-Call、RemotelyAnywhere等。

    ●VNC的设置及使用

    图1

    执行下载的VNC程序,一路按“Next”即可(图1)。

    1.按“开始”→“程序”。

    2.将鼠标移到“RealVNC”。

    3.按“Run VNC Server”。(见图2)

    图2

    应动软件后:(图3)

    图3

    1.在“Password”旁的空格设置联线进来时需输入的密码。

    2.在“Display Name”的地方可以设置联线的端口号。

    3.按“OK”

    说明:在VNC中,预置Auto时的端口号为5800,若自定则从5800累加上去,如设成100,则端口号就是5900。

    ●在外地电脑上的操作:

    1.找台能上网的电脑,输入被控端的电脑IP和设置的端口号。在本例中为“http://211.168.144.146:5800”。

    2.输入刚设置的密码,按“OK”即可。

    然后就能遥控电脑了。

    当然,这款软件的功能还有不少,但用起来都很简单(这也是笔者推荐这款软件的原因之一),如果您有兴趣,可以直接试用,相信您一试即会^_^。

    ●远程遥控时应注意的事项

    1.远程遥控软件安装后,只要联线进来就能看到本机的桌面,因此密码设置是“绝对必要”的,不然轻则您桌面上的动作会被偷看,重则电脑被黑都有可能。

    2.如果您安装远程遥控软件主要是让人帮您修电脑,除非有必要,不然就别打开,免得让“有心人”趁虚而入。有的远程遥控软件在被控制时会发出警告信息,但免费的VNC则无此功能,更得小心。

    3.遥控时若觉得画面颜色很怪,那是因为软件为加快传递速度而降低了色数,属正常情况,有些软件甚至能降到只剩黑白两色,这样能大大加快速度,如果只是遥控电脑抓文件,低色数其实无所谓。

    4.不要试图“遥控”自己的电脑,不然会进入诡秘的“无穷递归”。(很像两面正对着的镜子,一直照着对方的影像)

    (现在已经有了不少远程遥控软件,附录中对此略有介绍。因为附录中介绍的软件注册费用很贵,所以笔者不作重点推荐)

    更多相关内容
  • 前段时间,小米6隆重发布,变焦双摄“拍更美”的标语是否也打动了你呢?在享受小米的拍照乐趣之余,你没有想过,不只小米自身的智能摄像头...首先在小米的应用市场里下载一款叫“向日葵远程控制软件”的APP的主...

    前段时间,小米6隆重发布,变焦双摄“拍人更美”的标语是否也打动了你呢?在享受小米的拍照乐趣之余,你有没有想过,不只小米自身的智能摄像头,通过小米手机连接小米笔记本电脑上摄像头也有妙用?随时可以关心不在身边的宝宝,又或高压的工作中瞅一眼家里的宠物放松心情?家中没人时监控一下家里?如果你有这样的需求,下面这个方法,就可以帮到你。

    首先在小米的应用市场里下载一款叫“向日葵远程控制软件”的APP的主控端,同时在电脑上安装向日葵的客户端,就比如小米Air这样自带摄像头的笔记本电脑,或者是USB摄像头连接在电脑上。文末也会附上软件的下载链接。

    为了可以监控摄像头,我们先要通过向日葵将小米手机与小米Air连接起来。初次使用时,在手机和笔记本上用同一个账号登陆向日葵,账号可以在手机APP里直接注册。

    笔记本的客户端同样登录账号。

    两边都登录成功后,手机主控端会及时地检测出客户端的设备,也就是小米Air,这时你的手机APP就会显示出你笔记本的图标。

    在电脑客户端设置一个访问密码,用于手机端访问验证之用。

    手机主控端点击摄像头图标,可能会遇到杀毒软件提示应用开启摄像头,允许即可,填写刚才的访问密码。

    现在小米Air上的摄像头就出现在了小米手机里了。

    还可以开启录像和调节画面亮度对比度。

    相信无论你是忠实的铲屎官还是新进的爱心妈妈,随时随地可以用手机看到家里的情况一定会让你忙碌的生活增添一份温情,让你的牵挂不止于牵挂。

    除监控之余,还能直接这样远程桌面控制家里电脑,传输文件。如此实用又温情的技巧,你get了吗?

    【声明:CSDN刊登此文出于传递更多信息之目的,并不意味着赞同其观点或论证其描述,如需更多合作请联系:mobile#csdn.net(发邮件时请将#换成@)】  

    展开全文
  • 边缘计算作为云计算的一项重要补充,在构建互联工厂中的作用正越来越受到重视。...边缘计算对数据的本地处理能力提出了很高的要求,传统的PLC控制器已无法胜任这样的工作,因此,一种基于PC的兼具PL...

    边缘计算作为云计算的一项重要补充,在构建互联工厂中的作用正越来越受到重视。边缘计算实现了数据在网络边缘侧的分析、处理与储存,不仅减少了对云端依赖,也提高了数据的安全性。不管是因为云计算本身,还是网络传输受限,或者是担心数据安全,边缘计算是时下构建智能化工厂过程中必须优先考虑的内容之一。边缘计算对数据的本地处理能力提出了很高的要求,传统的PLC控制器已无法胜任这样的工作,因此,一种基于PC的兼具PLC功能的控制器应运而生。这样的控制器可以将PLC控制器、PC、网关,运动控制、I/O数据采集、现场总线协议、机器视觉、设备联网等多领域功能集成于一体,同时实现设备运动控制、数据采集、运算和与云端相连,以及在边缘侧协同远程工业云平台实现智能产线控制等,这样的控制器被称为边缘控制器。

    虽然这是基于PC的控制器,但边缘控制器也不等同于单独的工业控制计算机,它将PLC、PC和运动控制器集成到同一台设备里,兼具数据处理和逻辑控制,两种任务可以同时进行,又互不干扰。

    为了让您对边缘控制器这一新的控制器类型有一个全面深入的了解,今天小编拿到了目前市场上最为典型的一个边缘控制器——研华WISE-5580边缘控制器,下面就通过试用实测,来揭开边缘控制器的神秘面纱。外研华WISE-5580的外部实测外小编这次拿到的是研华新推出的WISE-5000系列中的WISE-5580边缘控制器。整个控制器和无风扇的嵌入式工控机十分相似,通体采用坚固的金属外壳,重量达到了1.6 kg,不过主机的尺寸要比一般的嵌入式工控机小很多,更像是一个中小型PLC的大小,具体尺寸为13.9 x 10 x 8 cm。

    WISE-5580的整体外观设计紧凑,接口布置合理,加上指示灯和散热孔的点缀,体现出一种独有的工业之美。特别是黑色金属外壳让WISE-5580更具质感,拿在手里也是分量十足,除了可以提供物理保护和电磁屏蔽,也拥有优异的散热性能。研华WISE-5580边缘控制器的正面照在主机正面,有9颗状态指示灯, 2个可扩展串口用于连接串口设备,1个HDMI和1个VGA用于外接显示器,4个USB3.0用于外插U盘或者外接USB设备, 2个千兆以太网接口用于与信息化网络、MES、数据库、服务器等连网,也可以用于往下连接IO、伺服和相机等。同时还有两个隐藏式设计的开关按钮和重启按钮。

    电源输入接口设计在机身上侧,这样的设计既十分方便使用电源接线,又远离了正面的所有数据接口,从而不会对数据的传输造成干扰。此电源接口可以同时外接两路24V电源输入,做到冗余设计。研华WISE-5580边缘控制器后侧面照整个WISE-5580控制器采用无风扇设计,散热孔均匀的分布在上下两个侧面,十分符合热空气的流动规律,具备了良好的散热效果。

    在机身背部设计有13根散热齿条、DIN导轨安装槽和3个卡扣,无需使用螺丝,安装和拆卸十分方便。

    主机两侧分别为标准化的PCI Express与EtherCAT通信接口,用户可根据特定需求选配通信与I/O模块。加了扩展模块(左)和EtherCAT I/O接口(右)的WISE-5580机身左侧的PCI Express通信接口最大支持4个扩展,研华提供了带4个USB3.0口的USB扩展模块,带2个PoE供电千兆以太网模块,带2个RS-232/422/485的串口模块,以及无线传输和存储等四个功能模块,用来扩展机器视觉、串口、CAN总线、硬盘及无线网络,其中无线传输和存储模块支持4G / LTE / Wifi / GPS无线通信方式,以ODBC、OPC UA、OPC DA、MQTT协议将设备数据可上传数据库、云平台及MES系统。

    主机身右侧的EtherCAT I/O高速接口可以扩展65535个节点,可满足大部分自动化场合控制需求。插片式I/O模块全部安装在标准DIN导轨上,安装在设备控制柜中时无需额外的钻孔或机械装置,不仅节省了空间,而且允许工业设备跨越边界。内研华WISE-5580的内部实测内作为一款边缘控制器,研华WISE-5580具有三大特点:与PLC相差无几的小巧体积,与IPC相媲美的强大的处理能力,以及集PLC系统和IPC系统于一体而又独立运行的双核分核处理功能。而让这一切成为可能的,是其内部的独特的电路工程设计。除此之外,由于工业现场面临各种复杂的状况,对电子器件的可靠性提出了较高的要求,其中包括了电磁屏蔽设计、电源防浪涌设计、电路可靠性设计以及高速走线设计等。WISE-5580是如何在兼具这些丰富性能的同时,又突出了其自身特点的呢?

    接下来开始我们的拆机实测,对研华WISE-5580的内部设计一探究竟。研华WISE-5580边缘控制器拆机动画WISE-5580的主机外壳由三部分组成,只需要按照正确的顺序,先拆掉抬高设计的那一部分,再拆掉覆盖着诸多接口和三个侧面的那一部分就行了。整个拆解过程十分的简单和顺利,当把外壳的主要两个部分拿掉,就可以看到整个内部结构了。研华WISE-5580边缘控制器内部整体结构从上图可以看出,整个内部结构分为四层,从上到下第1,3层是电路板,第2层是隔热铝板,第4层是散热外壳。两层电路板的通信是通过接插件来完成的,而整个结构的固定是通过分布于四周的4颗螺丝来实现。接下来就开始具体分析每一层上的元件和作用。位于上方第1层的电路板正面照在第1层电路板主要设计有电源电路、数据存储和接口电路。2路主电源电路采用了同一种电源芯片方案,采用了一颗双路电感来减少占用面积。为了最大限度的满足边缘计算对数据存储的要求,板上搭载了一块体积小、速度快支持M.2的128G的固态硬盘,下方还预留了一个mSATA断电保存硬件接口。机身正面看到的所有接口全部位于这块电路板上,无论是数量,还是空间布局都做到了最优化。

    这块电路板的下面是一层隔热铝板,能够有效阻止下面的热量直接辐射到上方,同时也增大了散热面积,还起到了很高的电磁屏蔽作用。位于第3层的电路板背面照重点说下第3层的电路板,主要设计有CPU和内存条、输入输出控制芯片、PCI-E扩展接口、EtherCAT接口等四大部分。先谈控制器的最核心部分,也就是CPU,位于电路板中间位置。根据官方资料,具体可以根据实际应用场景选择英特尔赛扬、i5、i7等系列CPU,实测用的这台WISE-5580搭载的是英特尔赛扬3955U,这是一款双核双线程的处理器。通过分核分系统技术,就可以在第1个核运行可编程逻辑控制器(CODESYS),第2个核用来运行边缘计算(Windows),这种独立核心运行的设计,同时保证Windows开放性与CODESYS实时性,即使Windows系统发生宕机也不会影响PLC的运行。这也是边缘控制器最大的特点之一。

    内存的大小对于处理器性能有很大影响,毕竟各种数据都是要经过内存来送给计算机。在这块电路板上搭载有两个DDR4内存卡槽,对称的分布在电路板的两面上。官方资料中说最大支持到32GB,也就是一个内存卡槽最大支持16GB的内存条。实测的这台控制器上只插有一根8GB内存条,但足以应对小规模的应用场合。

    输入输出控制芯片用来实现软件对硬件的控制,从字面上就可以看出它的重要性。依照上图来讲,CPU正右边的那颗黑色芯片就是它。它的背面就是承担通信中枢的接插件,这样的位置也算是一种最优化的布局。

    PCI-E接口和EtherCAT接口分别位于这块电路板的两侧,包括主控芯片、周围器件和接插件等。I/O数据的处理还算简单,只要排好顺序送给内存就好,所以EtherCAT接口紧挨着内存。PCI-E接口相对来说比较复杂,位置给设计到了另一侧。其实,在工作现场左右两边是互相搭配,协同工作的,研华WISE-5580将两者很好的融合在了一起。研华WISE-5580边缘控制器底部散热层第4层是散热层,也很重要,同样关系到整个系统设计的成败。从图上可以看出,研华WISE-5580控制器采用了嵌入式无风扇设计,直接由外壳来提供散热,减少了因为风扇的不可靠所造成的风险。具体来看,实际用来给CPU导热的铜管镶嵌在底部外壳之中,加宽铜管表面通过导热硅胶直接压在CPU表面之上,从而保证CPU的散热。

    在底部外壳的外侧有很多齿条来增大散热面积,可以很快把内部热量散发到空气中。这种主动散热虽然比不上风扇散带来的效果好,但是在保证散热效果能够满足的情况下,可靠性拥有最大的保障。据官方资料介绍,WISE-5580的工作温度是 -10 ~ 60°C,这与一般的PLC温度范围相仿。实测研华WISE-5580的上电实测实测研华WISE-5580边缘控制器加电开机研华WISE-5580边缘控制器可以两路电源供电,极大保障了电力供应的可靠性。内置了HMI(人机界面),支持VGA与HDMI双显界面,减少了对可视化的附加设备的需求。当我们给这台WISE-5580加上电源,接上显示器、键盘、鼠标等输入输出设备后,开机启动后就可以在Windows界面下对所有任务内容进行可视化的编程和操作。研华WISE-5580边缘控制器系统配置还是那个熟悉的Windows系统界面,在“我的电脑”的属性中可以查看到这台计算机的更多基本信息。界面显示这台计算机的制造商是Advantech(研华),安装的是64位系统,8G内存,搭载英特尔赛扬3955U处理器,主频是2.00GHz。

    前面说到,WISE-5580采用分核分系统技术,使得Windows桌面平台与高实时性和稳定性的CODESYS内核整合在CPU不同的内核中独立运行。其中,Windows内核专注数据处理,CODESYS内核专注逻辑控制,从而实现了在拥有PLC自动化技术的同时,还兼顾信息化与大数据处理能力。而让这一切成为可能的正是CODESYS软件,它是一款基于先进的.NET 架构和 IEC 61131- 3 国际编程标准的软件开发平台。研华WISE-5580边缘控制器的CODESYS编程环境在本次实测用的这台WISE-5580上,已经默认安装了CODESYS软件,并可以根据客户需求,提供不同版本,它可以将任何嵌入式系统或PC机转化为基于IEC 61131-3标准的功能强大的控制器系统,同时降低编程及维护难度,PLC工程师、C/C++高级语言工程师、LabView,Python的用户皆可快速上手。

    另外,借助开放的Windows平台,通过安装上位软件,能够实现将运动控制,机器视觉,数据库联网及MES整合在同一控制系统内,助力设备自动化向设备智能化转型。

    打个比方,要实现一个通过机器视觉实现机械手臂精准定位的动作,可以先将影像识别软件安装到Windows系统上,左侧外加USB 3.0模块或PoE模块来连接工业相机,右侧选配EtherCAT I/O模块来控制机械手臂。如果还想进行预防保养,可以配置采集分析软件在主机上,右侧添加I/O模块来采集机器手状态诊断数据,左侧扩展数据储存模块与无线网络模块,分别用来进行本地存储和重要设备上云,这一切变得简单和轻松。研华WISE-5000系列将众多功能整合到一起实测心得:IIoT离不开一个边缘控制器上面的实测,证实了研华WISE-5580边缘控制器确实是一款体积小巧,设计结构巧妙,运算能力出众,兼具PLC控制和数据处理的创新设备。并且,CODESYS软件在里面起到非常重要作用,赋予了工业计算机逻辑控制的能力,以及一体化编程的能力。

    根据研华WISE-5580的特点,我们不仿总结出一个边缘控制器所具备的四个特点:第一IPC和PLC融合大幅度提高了运营效率和加工节拍。传统的PLC+IPC方案是通过网线来连接的,很多不确定性因素会造成连接中断,比如接插件的松动,或者是现场的电磁干扰。边缘控制器将IPC和PLC融合到一台控制器,乃至是一个CPU中,同时采用分核分系统技术保持相互独立运行,整个系统硬件稳定性大大提高。第二边缘控制器具备足够丰富的接口来连接多种执行部件,支持多种协议,以应对生产现场不同厂商和不同执行部件之间的整合,打通工厂各个环节,解决多厂家集成问题。第三基于IEC 61131-3国际标准编程方式,降低编程及维护难度。面对当前集成机器人、多轴运动控制、CNC、数据库、机器视觉等各种丰富功能的项目,传统的PLC+IPC至少需要两位以上工程师人员,其中一个懂PLC,另一个需要懂高级语言,很容易出现配合程度不够和兼容性问题。边缘控制器允许在标准协议下进行编程,实现互换性和可重用性,降低时间成本和资料成本。第四边缘控制器可以实现运动控制、过程控制、IO采集、无线传输、远程运维、机器视觉、数据库与云计算等多种功能,无缝整合IT与OT,以达到减少人工、提高设备智能化的需求。以上就是本次给大家带来的研华WISE-5580边缘控制器的试用实测,可以看出边缘控制器可以真正帮助设备制造商向下执行机械设备数据收集、检测、控制等任务,向上连接云端平台与资料库,在高速串联下实现IT与OT的整合,真正打通智能制造多个关节,实现设备智能化和产线柔性化。可以说,没有边缘控制器,也就没有所谓的工业物联网,也就实现不了以工业云平台为中心的未来制造。- 完 -

    展开全文
  • 4、进程的描述与控制

    2020-09-19 13:47:41
    文章目录进程管理进程的定义特征进程的状态与转换进程控制块PCB进程控制进程同步经典进程的同步问题进程通信线程的基本概念线程的实现方式 进程管理 进程的定义特征 为了能使程序并发执行,并且可以对并发执行的...

    进程管理

    进程的定义和特征

    为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了"进程"的概念。

    为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,由程序段、数据段和PCB三部分便构成了进程实体(又称进程映像)。

    一般情况下,我们把进程实体就简称为进程,例如所谓创建进程,实质上就是创建进程实体中的PCB;而撤销进程,实质上就是撤销进程的PCB。

    (严格来说,进程实体和进程并不一样,进程实体是静态的,进程则是动态的。)

    我们可以把传统OS中的进程定义为:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

    进程的特征

    进程和程序是两个截然不同的概念,除了进程具有程序所没有的PCB结构外,还具有下面一些特征:

    • 动态性:进程的实质是进程实体的运行过程。因此,动态性就是进程的最基本的特征;
    • 并发性:是指多个进程实体同存于内存中,且能在一段时间内同时运行。而程序(没有建立PCB)是不能参与并发执行的;
    • 独立性:独立性是指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。
    • 异步性:是指进程是按异步方式运行的,即按各自独立的、不可预知的速度向前推进。

    进程的状态与转换

    进程的三种基本状态

    (1)就绪(Ready)状态

    这是指进程已处于准备好运行的状态,即进程已分配到除CPU以外的所有必要资源,只要再获得CPU,便可立即执行。如果系统中有许多处于就绪状态的进程,通常将它们按一定的策略(优先级策略)排成一个队列,称该队列为就绪队列;

    (2)执行(Running)状态

    这是指进程已获得CPU,其程序正在执行的状态。在多处理机系统中,则有多个进程处于执行状态;

    (3)阻塞(Block)状态

    这是指正在执行的进程由于发生某事件(如IO请求,申请缓冲区失败)暂时无法继续执行的状态。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种暂停状态称为阻塞状态。

    通常系统将处于阻塞状态的进程也排成一个队列,称该队列为阻塞队列。

    实际上,在较大的系统中,为了减少队列操作的开销,提高系统效率,根据阻塞原因的不同,会设置多个阻塞队列。

    三种基本状态的转换

    在这里插入图片描述

    为了满足进程控制块对数据及操作的完整性,通常在系统中又为进程引入了两种常见的状态:创建状态和终止状态。

    (4)创建状态

    创建进程是一个很复杂的过程,如首先由进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息;然后为该进程分配运行时所必须的资源;最后,把该进程转入就绪状态并插入就绪队列之中。但是如果此时进程所需的资源无法得到满足,比如系统尚无足够的内存使进程无法装入其中,此时创建工作尚未完成,进程不能被调度运行,于是把此时进程所处的状态称为创建状态。

    (5)终止状态

    首先是等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统。

    挂起操作

    与挂起操作对应的是激活操作。

    引入挂起原语Suspend和激活原语Active后,在它们的作用下,进程将可能发生以下几种状态的转换:

    • 活动就绪 -> 静止就绪。当进程处于未被挂起的就绪状态,称为活动就绪状态,此时进程可以接受调度。当用挂起原语Suspend将该进程挂起后,该进程变转变为静止就绪状态,不再被调度执行;
    • 活动阻塞 -> 静止阻塞。当进程处于未被挂起的阻塞状态,称为活动阻塞状态。当用Suspend原语将它挂起后,进程便转变为静止阻塞状态。处于该状态的进程在其所期待的事件出现后,它将从静止阻塞变为静止就绪状态;
    • 静止就绪 -> 活动就绪。处于静止就绪状态的进程若用激活原语Active激活后,该进程转变为活动就绪状态;
    • 静止阻塞 -> 活动阻塞。处于静止阻塞状态的进程若用激活原语Active激活后,该进程转变为活动阻塞状态。

    在这里插入图片描述

    进程控制块PCB

    PCB的作用是使一个程序成为能在多道程序环境下独立运行的基本单位,一个能与其他进程并发执行的进程。

    • 作为独立运行基本单位的标志;
    • 能实现间断性运行方式;
    • 提供进程管理所需要的信息;
    • 提供进程调度所需要的信息;
    • 实现与其他进程的同步与通信;

    在进程控制块中,主要包括下述四个方面的信息。

    • 进程标识符
    • 处理机状态
      • 当进程被切换时,处理机状态信息都必须保存在相应的PCB中,以便在该进程重新执行时能再从断点继续执行;
    • 进程调度信息
    • 进程控制信息

    进程控制块的组织方式

    在一个系统中,通常可拥有数十个、数百个、甚至数千个PCB。

    目前常用的组织方式:

    • 线性方式
      • 所有的PCB都组织在一张线性表中;
    • 链接方式
      • 具有相同状态进程的PCB链接成一个队列
    • 索引方式

    进程控制

    操作系统内核

    进程控制是进程管理中最基本的功能,主要包括创建新进程、终止已完成的进程、置为阻塞状态、状态转换等功能。

    进程控制一般是由OS的内核中的原语来实现的。

    通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度等),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核。

    相对应的是,为了防止OS本身及关键数据(如PCB等)遭受应用程序的破坏,通常也将处理机的运行状态分成系统态和用户态两种。

    系统态,又称管态,也称为内核态。它具有较高的特权,能执行一切指令,访问所有寄存器和存储区。

    用户态,又称目态,它是具有较低特权的执行状态,仅能执行规定的指令,访问指定的寄存器和存储区。

    一般情况下,应用程序只能在用户态运行,不能去执行OS指令及访问OS区域。

    大部分OS内核都包含了以下两大方面的功能:

    1、支撑功能

    • 中断处理
    • 时钟管理
      • 在时间片轮转调度中,每当时间片用完时,便由时钟管理产生一个中断信号,促使调度程序重新调度。
    • 原语操作
      • 所谓原语(Primitive),就是由若干条指令组成的,用于完成一定功能的一个过程。它与一般过程的区别在于:它们是"原子操作"。所谓原子操作是指,一个操作中的所有动作要么全做,要么全不做。是一个不可分割的基本单位。
      • 因此,原语在执行过程中不允许被打断。原子操作在系统态下执行,常驻内存。
      • 在内核中存在许多原语,如用于实现进程同步的原语。

    2、资源管理功能

    • 进程管理
    • 存储器管理
    • 设备管理

    进程的创建

    在OS中,允许一个进程创建另外一个进程,通常把创建进程的进程称为父进程,把被创建的进程称为子进程。

    子进程可以继续创建更多的孙进程,由此便形成了一个进程的层次结构。

    子进程可以继承父进程所拥有的资源,当子进程被撤销时,应将其从父进程那里获得的资源归还给父进程,此外,在撤销父进程时,也必须同时撤销其所有的子进程。

    为了标识进程之间的家族关系,在PCB中设置了家族关系表项。

    进程图

    用一条由进程Pi指向进程Pj的有向边来描述它们之间的父子关系。

    在系统中每当出现了创建新进程的请求后,OS便调用进程创建原语Creat按下述步骤创建一个新进程:

    • 申请空白PCB;
    • 为新进程分配其运行所需的资源;
    • 初始化进程控制块(PCB)
      • 初始化标识信息,将系统分配的标识符和父进程标识符填入新PCB中;
      • 初始化处理机状态信息,程序计数器指向程序的入口地址;
      • 初始化处理机控制信息,将进程的状态设置为就绪状态或者静止就绪状态,对于优先级,通过是将它设置为最低优先级,除非用户显式提出高优先级要求;
    • 如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列

    进程的终止

    (1)正常结束

    (2)异常结束

    常见的异常事件:

    • 越界错:程序所访问的存储区,已越出该进程的区域;
    • 保护错:进程试图去访问一个不允许访问的资源或文件;
    • 非法指令;
    • 运行超时;
    • 等待超时;
    • 算术错误;
    • IO故障;

    (3)外界干预

    终止过程:

    • 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读取该进程的状态;
    • 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新运行调度;
    • 若该进程还有子孙进程,还应将其所有子孙进程也予以终止,以防它们成为不可控的进程;
    • 归还资源给父进程或OS;
    • 将被终止进程PCB从所在队列或链表中移除;

    进程阻塞与唤醒

    有下述几类事件会引起进程阻塞或被唤醒:

    • 向系统请求共享资源失败:例如进程请求使用打印机,由于系统已经将打印机分配给其他进程,已无可以分配的打印机,这时进程只能被阻塞;在其他进程释放出打印机后,请求进程才被唤醒;
    • 等待某种操作的完成:当进程启动某种操作后,如果该进程必须在该操作完成之后才可以继续执行,则应先将该进程阻塞起来,以等待操作完成;IO操作;在IO完成后,由中断处理程序将该进程唤醒;
    • 新数据尚未到达,对于相互合作的进程,如果一个进程需要先获得另一进程提供的数据才能对该数据进行处理,只要其所需的数据尚未到达,进程便只有阻塞;一旦进程A把数据输入完毕,便可去唤醒进程B;
    • 等待新任务的到达,例如在网络环境中的发送进程,其主要任务是发送数据包,若已有的数据包已全部发送完毕,而又无新的数据包发送,这是发送进程将把自己阻塞起来;仅当有新的数据包到达时,才将发送进程唤醒。

    进程阻塞过程:

    如果发生了上述事件,进程便通过调用阻塞原语block将自己阻塞,由此可见,阻塞是进程自身的一种主动行为。

    进程控制块中的执行改为阻塞,并将PCB插入阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞队列。

    保留被阻塞进程的处理机状态。

    进程唤醒过程:

    当被阻塞进程所期待的事件发生时,比如数据到达,IO完成,则由有关进程(比如提供数据的进程)调用唤醒原语wakeup,将等待该事件的进程唤醒。

    把被阻塞进程从等待该事件的阻塞队列中移出,将其PCB的状态由阻塞改为就绪,然后将该PCB插入就绪队列。

    注意:block原语和wakeup原语是一对作用刚好相反的原语,在使用他们时,必须成对使用。

    即,如果在某进程中调用了阻塞原语,则必须在与之合作的进程中安排一条相应的唤醒原语,以便能唤醒被阻塞进程,否则,阻塞进程将会因不能被唤醒而永久的处于阻塞状态。

    进程同步

    基本概念:对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则共享系统资源。

    1、临界资源

    许多硬件资源,如打印机,磁带机,都属于临界资源,诸进程间应采取互斥方式,实现对这种资源的共享。

    2、临界区

    在每个进程中访问临界资源的那段代码称为临界区。

    while (true) {
    	进入区
    	临界区
    	退出区
    	剩余区
    }
    

    3、同步机制应遵循的规则

    • 空闲让进:当无进程处于临界区,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以便有效的利用资源;
    • 忙则等待:当已有进程进入临界区时,表明临界资源正在被访问,因为其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问;
    • 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入死等状态;
    • 让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入忙等状态。

    4、硬件同步机制

    • 关中断:进程在临界区执行期间,计算机系统不响应中断,从而不会引发调度,也就不会发生进程或线程切换;
    • 利用Test-and-Set指令实现互斥
    • 利用Swap指令

    5、信号量机制

    信号量其实就是一个变量(可以是一个整数、也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量。

    原语是一种特殊的程序段,其执行只能一气呵成,不可被中断,原语是由关中断/开中断指令实现的。

    用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而方便的实现了进程互斥、进程同步。

    一对原语:wait(S)原语和signal(S)原语,可以把原语理解为我们的函数,函数名分别为wait和signal,括号中的信号量S就是函数调用时传入的一个参数。

    wait、signal原语简称P、V操作,因此,常常把wait(S)、signal(S)两个操作分别写为P(S)、V(S)。

    6、整型信号量

    用一个整数型的变量作为信号量,用来表示系统中某种资源的数量。

    在这里插入图片描述

    在这里插入图片描述

    在整型信号量机制中的wait操作,只要是信号量<=0,就会不断得测试,因此,该机制不满足"让权等待"原则,会发生"忙等"。

    7、记录型信号量

    在信号量机制中,除了需要一个用于代表资源数目的整型变量vlaue外,还应增加一个进程链表指针list,用于链接上述的所有等待进程。

    在这里插入图片描述

    对于signal中的if(S.value <= 0)的理解:

    当释放了一个资源后,S.value <= 0,说明在该信号量链表中仍有等待该资源的进程被阻塞,所以还应调用wakeup原语。

    假设S.value初始值为1,P1线程执行wait,进入进入区,S.value = 0,P2线程执行wait,S.value = -1,进入阻塞链表,P1线程执行完毕,执行signal,S.value = 0,if (S.value <= 0) ,则需要唤醒P2线程。if (S.value < 0)返回false,P2线程使用资源。

    8、利用信号量机制实现进程互斥

    为了使多个进程能互斥地访问某临界资源,只需为该资源设置一个互斥信号量mutex,并设其初始值为1,然后将各个进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操作之间即可。

    设mutex为互斥信号量,其初值为1,取值范围(-1,0,1),当mutex=1时,表示两个进程都未进入需要互斥的临界区;当mutex = 0时,表示有一个进程进入临界区运行,另外一个必须等待,挂入阻塞队列;当mutex = -1,表示有一个进程正在临界区运行,另一个因等待而阻塞在信号量队列中,需要被当前已在临界区运行的进程退出时唤醒。

    semaphore mutex = 1;
    Pa() {
        while (1) {
            wait(mutex);
            临界区;
            signal(mutex);
            剩余区;
        }
    }
    
    Pb() {
        while (1) {
            wait(mutex);
            临界区;
            signal(mutex);
            剩余区;
        }
    }
    

    经典进程的同步问题

    1、生产者消费者问题

    利用记录型信号量解决生产者消费者问题

    假定在生产者和消费者之间的公用缓冲池中具有n个缓冲区,这时可以利用互斥信号量mutex实现诸进程对缓冲池的互斥使用;利用信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量;

    只要缓冲区未满,生产者便可将消息送入缓冲池;只要缓冲池未空,消费者便可从缓冲池中取走一个消息。

    在这里插入图片描述

    在这里插入图片描述

    P = wait

    V = signal

    P(mutex) 和 V(mutex) 实现进程的互斥访问。

    P(empty) P(full) V(empty) V(full) 实现进程的同步访问。

    不可颠倒上面的顺序。实现互斥的P操作必须在实现同步的P操作之后。

    两个V操作的顺序可以交换。

    2、哲学家进餐问题

    在这里插入图片描述

    假如五位哲学家同时饥饿而各自拿起左边的筷子时,就会使五个信号量chopstick均为0,当他们再试图去拿右边的筷子时,都将因为无筷子可拿而无限期地等待。

    对于这样的死锁问题,可采取以下几种解决办法:

    • 至多只允许有四位哲学家同时去拿左边的筷子,最终能保证至少有一位哲学家能够进餐,并在用毕后能释放出他用过的两只筷子,从而使更多的哲学家进餐;
    • 仅当哲学家的左右两只筷子都可用时,才允许他拿起筷子;

    在这里插入图片描述

    上面的方法:当两边筷子都可用时,也不一定能拿到筷子。

    哲学家问题的关键在于解决进程死锁。

    这些进程之间只存在互斥关系,但是与之前接触到的互斥关系不同的是,每个进程都需要同时持有两个临界资源,因此就有"死锁"的隐患。

    3、读者-写者问题

    在这里插入图片描述

    为实现Reader和Writer进程间在读/写时的互斥而设置了一个互斥信号量wmutex,另外再设置一个整型变量readcount表示正在读的进程 数目,又因为readcount是一个可被多个Reader进程访问的访问的临界资源,因此,也应该为它设置一个互斥信号量rmutex。

    semaphore rmutex = 1, wmutex = 1;
    int readcount = 0;
    void reader() {
    	do {
    		wait(rmutex);
    		if (readcount == 0) 
    			wait(wmutex);
    			//当第一个读进程进来时,应该上锁,以防止写进程进来
    		readcount++;
    		signal(rmutex);
    		//多个读进程访问,只可以上一把锁,同时只能有一个进程修改readcount的值
    		...
    		read operation
    		...
    		wait(rmutex);
    		readcount--;
    		if (readcount == 0) 
    			//当还有读线程时,暂时不能放开锁
    			signal(wmutex);
    		signal(rmutex);
    	} while (true);
    }
    
    void writer() {
    	do {
    		wait(wmutex);
    		write operation;
    		signal(wmutex);
    	} while (true);
    }
    

    进程通信

    进程通信是指进程之间的信息交换。由于进程的互斥和同步,需要在进程间交换一定的信息,故有人也将它们归为进程通信。但是只能把它们称为低级进程通信。

    进程通信的类型

    (1)共享存储器系统

    在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区,进程之间能够通过这些空间进行通信。

    • 基于共享数据结构的通信方式

    如在生产者-消费者问题中的有界缓冲区,通信效率低下,属于低级通信;

    • 基于共享存储区的通信方式

    为了传输大量数据,在内存中划出了一块共享存储区域,诸进程可通过对该共享区的读写交换信息,实现高级通信。

    (2)管道通信系统

    所谓"管道",是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名pipe文件。

    向管道(共享文件)提供输入的发送进程(写进程)以字符流形式将大量的数据送入管道;而接受管道输出的接收进程(读进程)则从管道中接收(读)数据。

    在这里插入图片描述

    由于发送进程和接收进程是利用管道进程通信的;故又称管道通信。

    管道只能采用半双工通信,某一时间段只能实现单向的传输。

    管道机制必须提供以下三方面的协调能力:

    • 互斥:一方在读写时,另一方必须等待;
    • 同步:当输入进程把一定数量的数据写入pipe时,便去睡眠等待,直到读进程取走数据;
    • 确定对方是否存在

    (3)消息传递系统

    在该机制中,进程不必借助任何共享存储区或数据结构,而是以格式化的消息为单位,将通信的数据封装在消息中,并利用操作系统的一组通信命令(原语)在进程之间进程消息传递。

    在计算机网络中,消息又称为报文,在微内核操作系统中,微内核与服务器之间的通信无一例外都是采用了消息传递机制。

    • 直接通信方式:发送进程利用OS原语,直接把消息发送给目标进程;
    • 间接通信方式:发送进程和接收进程,都通过共享中间实体(称为邮箱)的方式进行消息的发送和接收,完成进程间的通信。

    (4)客户机-服务器系统

    前面所述的共享内存、消息传递等技术,虽然也可以用于实现不同计算机间进程的双向通信,但客户机-服务器系统的通信机制,在网络环境的各种应用领域已成为当前主流的通信实现机制。

    • 套接字

    一个套接字就是一个通信标识类型的数据结构,包含了通信目的的地址,通信使用的端口号,通信网络的传输层协议,进程所在的网络地址,以及为客户服务器程序提供的不同系统调用,是进程通信和网络通信的基本构件。

    文件型;

    网络型;

    通信双方的进程运行在不同主机的网络环境下,被分配了一对套接字,一个属于接收进程(服务端),一个属于发送进程(客户端)。

    一般地,发送进程发出连接请求,随机申请一个套接字,主机为之分配一个端口,与该套接字绑定,不再分配给其他进程。接收进程拥有全局公认的套接字和指定的端口(如ftp服务器监听21端口,http服务器监听80端口),并通过监听端口等待客户请求。

    • 远程过程调用
    • 远程方法调用

    远程过程调用(Remote Procedure Call)是一个通信协议,用于通过网络连接的系统。

    该协议允许运行于一台主机(本地)系统上的进程调用另一台主机(远程)系统上的进程,而对程序员表现为常规的过程调用。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称为远程方法调用。

    为了使远程过程调用看上去和本地过程调用一样,RPC引入了一个存根(stub)的概念。

    消息传递通信的实现方式

    • 直接消息传递系统
    • 信箱通信

    直接消息传递系统的实例:消息缓冲队列通信机制。

    线程的基本概念

    如果说在OS中引入进程的目的是为了使多个程序能并发执行,那么,在OS中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。

    进程的两个基本属性:

    • 拥有资源的独立单位
    • 可独立调度和分派的基本单位

    程序并发执行所需的时空开销:

    • 创建进程
    • 撤销进程
    • 进程切换

    线程—作为调度和分派的基本单位。

    线程与进程的比较

    由于线程具有许多传统进程所具有的特征,所以又称之为轻型进程。

    (1)调度的基本单位

    在传统OS中,每次调度时都需要进行上下文切换,开销较大。引入线程后,切换代价远低于进程。在同一进程中,线程的切换不会引入进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,必然就会引入进程的切换;

    (2)并发性

    在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行。同样,不同进程的线程也能并发执行。

    例如,在网页浏览器中,一个线程来显示图像或文本,另一个线程用于从网络上接收数据。

    (3)拥有资源

    进程可以拥有资源,但是线程本身并不拥有系统资源,而是仅有一点必不可少的资源。比如,在每个线程中都应具有一个用于控制线程运行的线程控制块TCB、用于指示被执行指令序列的程序计数器、虚拟机栈(局部变量表、操作数栈、返回地址)。

    线程除了拥有自己的少量资源外,还允许多个线程共享该进程所拥有的资源。

    (4)独立性

    在同一进程中的不同线程之间的独立性比不同进程之间的独立性低得多。

    (5)系统开销

    在创建或撤销进程时,OS为此付出的开销,明显大于线程创建或撤销所付出的代价。

    类似的,线程的切换代价也远比进程切换的代价低。

    线程控制块TCB

    线程控制块通常包含这样几项:

    (1)线程标识符

    (2)一组寄存器,程序计数器PC等

    (3)线程运行状态

    (4)优先级

    (5)线程专有存储区

    (6)堆栈指针:每个线程设置一个堆栈,用来保存局部变量以及返回地址等,相应的,在TCB中,也要设置两个指向堆栈的指针:指向用户自己堆栈的指针和执行核心栈的指针,前者是当程序运行在用户态时,使用用户自己的用户栈来保存局部变量和返回地址,后者是指当线程运行在核心态时使用系统的核心栈。

    线程的实现方式

    1、内核支持线程KST(Kernel Supported Threads)

    在OS中的所有进程,无论是系统进程还是用户进程,都是在操作系统内核的支持下运行的,是与内核紧密相关的。而内核支持线程KST同样也是在内核的支持下运行的,它们的创建、阻塞、撤销和切换,也都是在内核空间实现的。

    为了对内核线程进行控制和管理,在内核空间也为每一个内核线程设置了一个线程控制块。

    缺点:

    对于用户的线程切换而言,其模式切换的开销较大,在同一个进程中,从一个线程切换到另一个线程,需要从用户态转到核心态进行,这是因为用户进程的线程在用户态运行,而线程调度和管理在内核实现,系统开销较大。

    在这里插入图片描述

    2、用户级线程ULT(User Level Threads)

    用户级线程是在用户空间实现的,对线程的创建、撤销、同步和通信等功能,都无需内核的支持,即用户级线程是与内核无关的。

    在一个系统中的用户级线程的数目可以达到数百个至数千个。由于这些线程的任务控制块都是设置在用户空间,而线程所执行的操作也无需内核的帮助,因而内核完全不知道用户级线程的存在。

    注意:对于设置了用户级线程的系统,其调度仍然是以进程为单位进行的。在采用轮转调度算法时,各个进程轮流执行一个时间片,假如A进程中包含了一个用户级线程,B进程中包含了100个用户级线程,这样进程A中线程的运行时间将是进程B中各线程运行时间的100倍,

    对于设置内核级线程的系统,调度则是以线程为单位。

    在这里插入图片描述

    3、组合方式

    由于用户级线程和内核支持线程连接方式的不同,从而形成了三种不同的模型:多对一模型、一对一模型和多对多模型。

    • 多对一模型

    多个用户线程映射到一个内核支持线程。这些用户线程一般属于一个进程,运行在该进程的用户空间,对这些线程的调度和管理也是在该进程的用户空间中完成。仅当用户线程需要访问内核时,才将其映射到一个内核控制线程,但每次只允许一个线程进程映射。

    缺点:如果一个线程在访问内核时发生阻塞,则整个进程都会被阻塞。此外,在任一时刻,只有一个线程能够访问内核,多个线程不能同时在处理机上运行。

    • 一对一模型

    一个用户级线程映射到一个内核支持线程。

    优点:当一个线程阻塞时,允许调度另一线程运行。

    缺点:每创建一个用户线程,相应地就要创建一个内核线程,开销较大。

    • 多对多模型

    许多用户线程映射到同样数量或者更少数量的内核线程上。

    在这里插入图片描述

    展开全文
  • 各个 PE 同步执行来自 CU 的操作命令,但是并不一定每个操作非得所有 PE 参加,CU 将对 PE 实行屏蔽控制,只有那些未屏蔽的活跃 PE 才可参加操作。 CU 还控制互连网络 IN,使各个 PE 之间通过 IN ,实现相互...
  • 彻底清除当前体系结构的方法导致当前网络的巨变,并冒着引进新的攻击的可能。这些攻击的范围从新...更通常的是,我们认为在网络效率用户隐私间应该一个折衷。基于缓存的隐私攻击的应对策略需要仔细考虑这个权衡。
  • 计算机硬件性能指标参考

    万次阅读 多人点赞 2019-02-22 11:39:19
    中央处理器CPU 1.主频  主频也叫时钟频率,单位是MHz(或...至今,没有一条确定的公式能够实现主频实际的运算速度两者之间的数值关系,即使是两大处理器厂家Intel英特尔AMD,在这点上也存在着很大的争议,从Int...
  • 对于莫一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,...
  • 几种常用单片机之间的通信方式 ...这种方法一般用于单片机硬件UART且不需与外界进行串行通信或采用双UART单片机的场合。 ②采用片内SPI接口或I2C总线模块串行通信形式。SPI/I2C接口具有硬件简单、软件...
  • 你可以把这篇文章当作技术文档,也可以当作技术科普文章随便看一下,Whatever,Just by yourself。...设备:win10笔记本电脑 树莓派3B+ 设备参数如下: SoC(系统芯片):BCM2837B0 CPU(中央...
  • 我一个朋友是那种名副其实的APP狂魔,最近的一次心血来潮就就下了4-50个修图特效类APP,在下只能表示大写的服...虽然没有像朋友那样的“专业”,但还是斗胆推荐几个觉得不错的APP吧~ 1、铲屎官福利!——猫叫...
  • 也就是说,G1G2发送给对方的任何消息是可以放弃的,也就是说G1G2可能因为各种意外情况,导致无法成功进行同步,分布式系统能容忍这种情况。 CAP 三者不可能同时满足论证 假设确实存在三者能同时满足的系统 ...
  • 缺乏全局时钟 既然各个计算机之间是依赖于交换信息来进行相互通信,很难定义两件事件的先后顺序,缺乏全局 始终控制序列 故障总会发生 组成分布式的计算机,都有可能在某一时刻突然间崩掉。分的计算机越多,可能崩...
  • 现代C语言技术1

    2021-09-16 20:10:59
    CUNIX是在20世纪70年代由贝尔实验室的设计,而贝尔一项与美国政府达成的协议:贝尔将不会把自身的研究扩张到软件领域,所以UNIX免费发放给学者进行研究、重建;UNIX商标则在数家公司之间专卖。在这个过程...
  • “刺杀”腾讯云

    2021-02-16 18:00:00
    来源| 浅黑科技(ID:qianheikeji)文| 史中财富的地方,就无数血红的眼睛闪着觊觎的光。我们今天的主角腾讯云,就恰好如此。我说,腾讯云的系统很像一座“城池”。如果身处...
  • React Native之原理浅析

    2021-01-12 11:20:02
    你写的所有JSJSX代码都会JS Engine来执行, 没有JS Engine的参与,你是无法享受ReactJS给原生应用开发带来的便利的。在iOS上,默认的就是JavaScriptCore, iOS 7之后的设备支持. iOS 不允许用自己的JS Engine....
  • 缺乏全局时钟 既然各个计算机之间是依赖于交换信息来进行相互通信,很难定义两件事件的先后顺序,缺乏全局始终控制序列 故障总会发生 组成分布式的计算机,都有可能在某一时刻突然间崩掉。分的计算机越多,可能崩掉...
  • ZN-188EDG网络智能型电工实验装置 一、功能 1、网络智能型电工实验装置可提供实验所需的交流电源、低压直流电源、可调恒流源...4、能完成"电机控制”、"继电接触控制"及"电力拖动"等课程实验。 二、技术性能 1、输入电
  • 网络***的基础教程

    2019-09-18 07:03:12
    一台电脑,平时用来上上网,玩玩游戏,偶尔也敲点公文进去,你认为它挺安全的,但一天,你的朋友突然告诉你,他你的上网帐号密码,你相信吗?――不要不信,这种方法挺多的,假如你用的是WINDOWS,假如你...
  • 任务执行模式(懒人,图源于网络,谢作图之) ansible系统由控制主机对管节点的操作方式可分为两类,即ad-hocplaybook。 ad-hoc模式使用单个模块,支持批量执行单条命令。 playbook模式是ansible的主要管理...
  • 机交互专题报告

    万次阅读 2015-12-14 16:15:34
    机交互专题报告   (2013-12-06 19:57:10) 转载▼   分类: 寻找牛股 机交互专题报告 2013年9月7日 来源:齐鲁证券 ...机交互变革将是继个人计算
  • 这种方法一般用于单片机硬件 UART 且不需与外界进行串行通信或采用双 UART 单片机的场合。 ②采用片内 SPI 接口或 I2C 总线模块串行通信形式。SPI/I2C 接口具有硬件简单、软件编程容易等特点,但目前大多数单片机...
  • 物联网概论知识点

    万次阅读 多人点赞 2019-06-06 22:50:14
    传送器、接收器微处理器通常都被封装在一起,又统称为阅读器(Reader),所以工业界经常将RFID系统分为为阅读器、天线标签三大组件。 阅读器 是RFID系统最重要也是最复杂的一个组件。因其工作模式一般是主动向...
  • 1.因特网是什么:五层协议规范的一系列软硬件组成的让应用程序间通信的世界范围内计算机网络的集合。 计算机网络作用:资源共享(硬件如打印机、软件)、通讯(文字图片)、网络管理集中化。 官方发布的一系列的...
  • 机器学习(ML)、深度学习(DL)图像处理(opencv)专用英语词典 百度翻译 http://fanyi.baidu.com/ A AAN (Active Appearance Model)主动外观模型 Adam(adaptive moment estimation,适应性矩估计),Adam是一...
  • Linux实用教程(第三版)

    万次阅读 多人点赞 2019-08-27 22:55:59
    1.2 Linux系统的特点组成 1.3 Linux版本介绍 1.4 Red Hat Linux系统概述 1.1 Linux系统简介 1.1.1 什么是Linux 1.1.2 Linux系统的产生 1.1.3 Linux系统应用领域 1.1.1什么是Linux     ...
  • 乾天驭爪——智能空中作业机器人

    千次阅读 多人点赞 2019-08-01 01:59:00
    乾天驭爪——智能空中作业机器人1.2 研究意义1.2.1景区垃圾清理1.2.2核废料处理1.2.3抢险救援1.3 方案设计及创新点第二章 电路与通信部分实现2.1 无人机主控制电路部分2.1.1 大疆妙算2.1.2 云台电路2.1.3 无人机图传...

空空如也

空空如也

1 2 3 4 5 6
收藏数 116
精华内容 46
关键字:

远程控制电脑,主控电脑和被控电脑两边都要有人吗

友情链接: 2865327.rar