BootLoader

在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。 Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。[1] 对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。 反过来,大部分Bootloader仍然具有很多共性,某些Bootloader也能够支持多种体系结构的嵌入式系统。例如,U-Boot就同时支持PowerPC、ARM、MIPS和X86等体系结构,支持的板子有上百种。通常,它们都能够自动从存储介质上启动,都能够引导操作系统启动,并且大部分都可以支持串口和以太网接口。

龙生   10 Sep 2017
View Details

Swap分区

Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。 Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。 众所周知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其它程序的干扰。 计算机用户会经常遇这种现象。例如,在使用Windows系统时,可以同时运行多个程序,当你切换到一个很长时间没有理会的程序时,会听到硬盘“哗哗”直响。这是因为这个程序的内存被那些频繁运行的程序给“偷走”了,放到了Swap区中。因此,一旦此程序被放置到前端,它就会从Swap区取回自己的数据,将其放进内存,然后接着运行。

龙生   09 Sep 2017
View Details

有关Linux忘记root密码的解决方法

重启系统,出现系统选择界面时按下向下方向键,防止系统直接启动。 把光标移到第一行,按「e」键编辑启动项。 把光标定到linux16这行,找到 ro ,改为 rw init=/sysroot/bin/bash。 按ctrl+x进入emergency模式。 执行chroot /sysroot/ 切换到原始系统。 输入passwd命令修改密码。 执行touch /.autorelabel 让新密码生效。 ctrl+d,然后reboot。

龙生   09 Sep 2017
View Details

Mac远程桌面链接 Windows2012提示"远程桌面连接无法验证您希望连接的计算机的身份"

Mac远程桌面链接 Windows2012提示"远程桌面连接无法验证您希望连接的计算机的身份" 具体异常如截图: 解决方法: 1. 通过连接管理终端功能连接进入云服务器。 2. 点击任务栏powershell,然后输入命令gpedit.msc,输入完成后回车,回车后会显示本地组策略编辑器。 3. 依次找到【计算机配置】->【管理模板】->【windows组件】->【远程桌面服务】->【远程桌面会话主机】->【安全】->【远程(RDP)连接要求使用指定的安全层】,如下图: 4. 双击【远程(RDP)连接要求使用指定的安全层】,出现下图: 5. 将截图中的未配置,修改为已启用,安全层选择 rdp,最后点击应用确认。 from:http://bbs.qcloud.com/thread-9598-1-1.html

龙生   09 Sep 2017
View Details

Remote Desktop Connection – 远程控制 Windows 桌面[Mac]

贝二狗在众多远程控制术语中挣扎,各种 RDP, VNC, SSH 的概念让他头晕脑涨。他想起来小时候看的一个动画片,刚开始就是墙上一幅画歪了,一哥们儿拿钉子锤子修理这画。然后用什么什么坏,椅子断腿桌子断面再碰到小球砸倒冰箱惊醒小猫连锁反应把房子里能砸碎的都砸碎了。最后钉子进墙墙裂了,整个房子榻了。他本来想做的就是在 Mac 上远程操纵家里的 Windows 杀杀毒。最终还是用了 Remote Desktop Connection,微软官方发布的 Mac 平台远程协助软件。@appinn Remote Desktop Connection 是 Office for Mac 2011 组件之一,微软网站上提供单独的免费下载。它本身就是微软在 Windows 上提供远程协助功能的官方 Mac 客户端。可以同时连接多台 Windows 机器,直接使用 Mac 打印机打印远程文档,甚至可以选择远程声音是在本地 Mac 播放还是远程计算机的喇叭播放。 [教程]使用 Remote Desktop Connection 需要先对 Windows 端进行设置,开启远程协助功能: 以 Windows XP 为例,在桌面“我的电脑”图标上点右键,选弹出菜单最下面的属性;或者通过 控制面板 -> 系统。此时打开系统属性对话框。 在系统属性对话框中选定最右面的标签“远程”(如上图)。勾选“允许用户远程连接到此计算机”,然后点击“选择远程用户”,打开用户选择对话框(如下图),选择可以远程连接的用户。远程协助本质是远程用户实用本机账户名密码进行登录之后操作。如果是管理员权限的帐号无需在此处加入列表,受限账户才需要加入列表。需要注意,为了安全起见,无论管理员还是受限账户,都必须设置密码才能在远程使用。如果是空密码账户,远程用户无法登录。 确定退出用户选择对话框,确定退出系统属性。 在 Mac 上使用 Romote Desktop Connection 非常简单,打开后输入目标机器 IP/计算机名称(如果在同一网域),Connect 即可。如果连接 XP 的话,会显示安全提示,无视它继续 Connect 就好。 RDC for Mac 毕竟是官方出品,质量有保证,操作流畅从不断线。二狗很满意。   from:http://www.appinn.com/remote-desktop-connection-for-mac/

龙生   09 Sep 2017
View Details

Mac苹果电脑怎么卸载软件

首先我们打开Finder,就是我们Dock栏下方的左侧的第一个按钮,我们点击进入。 进入之后我们在左侧菜单中不难发现应用程序这个选项,我们点击进入。 进入之后我们就能看见我们电脑上自己安装的所有程序,我们选择自己想要卸载的软件,点击鼠标右键,选择移动到废纸篓。 如果想要完全卸载,我们右键点击Dock中的废纸篓,点击右键,选择清倒废纸篓,就可以完全清除你想要卸载的软件了。 重点事项 废纸篓的文件清除之后就很难恢复了,所以在清倒之前一定要考虑清除的软件是否是自己不再需要的了。 from:http://jingyan.baidu.com/article/fec4bce25c337af2618d8b34.html

龙生   09 Sep 2017
View Details

TTL

TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。 TTL的作用是限制IP数据包在计算机网络中的存在的时间。TTL的最大值是255,TTL的一个推荐值是64。 虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。 TTL的主要作用是避免IP包在网络中的无限循环和收发,节省了网络资源,并能使IP包的发送者能收到告警消息。 TTL 是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。转发IP数据包时,要求路由器至少将 TTL 减小 1。 TTL值的注册表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255。Windows系统设置后重启才生效。 生存时间,就是一条域名解析记录在DNS服务器中的存留时间。当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器(权威域名服务器)发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器(各地的缓存服务器,也叫递归域名服务器)中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。

龙生   09 Sep 2017
View Details

除了 Python ,这些语言写的机器学习项目也很牛(二)

Python 由于本身的易用优势和强大的工具库储备,成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习,已然是各大项目最偏爱的语言。 其实除了 Python ,也不乏有开发者用其他语言写出优秀的机器学习项目。在上期的文章中(除了 Python ,这些语言写的机器学习项目也很牛(一)),我们已经列了一些其他语言(C、C++、Go、Java、Javascript)值得关注的开源机器学习项目,本期将针对 PHP、Ruby、Objective C、Swift、Scala 进行补全,同时应上期留言要求,在文末列了一些 .NET 平台上的机器学习项目。 1、PHP PHP-ML —— 机器学习库 PHP-ML 是 PHP 的机器学习库,同时包含算法、交叉验证、神经网络、预处理、特征提取等多种特性。要求 PHP 版本 > = 7.0 。 PHP-ML 提供的机器学习算法包括:关联规则学习(Apriori 算法)、分类器(SVC、KNN、贝叶斯)、回归(最小二乘线性回归、支持向量回归)、聚类(KMeans、基于密度的聚类算法)、矩阵运算相关(准确率、混肴矩阵、与分类相关的结论如精确度、召回率、F1 值、支持率)、模型运算管道(Pipeline)、神经网络(多层感知机)等。 2、Ruby Treat ——自然语言处理框架 Treat 是一个自然语言处理和计算语言学的工具包。Treat 项目旨在为 Ruby 构建一个语言和算法均不可知的 NLP 框架,支持文档检索、文本分块、分段和标记化等任务,自然语言解析,词性标注,关键字提取和命名实体识别。 Classifier —— 通用分类器模块 Classifier 是可用贝叶斯算法及其他分类法的通用分类器模块。贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类,具有准确、快速、内存要求适当等特点。 3、Objective C MLPNeuralNet —— 多层感知器 MLPNeuralNet 是适用于 iOS 和 Mac OS X 的快速多层感知器神经网络库。它使用矢量操作和硬件加速(如果可用)构建在苹果加速框架之上,通过训练有素的神经网络预测新的示例。 4、Swift Bender —— 机器学习框架 Bender 是 MetalPerformanceShaders 之上的一个抽象层(abstraction layer),可用于操作神经网络,旨在更轻松地在 iOS 上运行预训练的网络。它可以让你轻松使用卷积、池化、全连接和一些规范化等最常见的层,从而轻松地定义和运行神经网络。 目前 Bender 有一个用于 TensorFlow 的适配器(adapter),其可以加载带有变量的图(graph),并将其「翻译」成 Bender 的层(layer)。 Swift AI —— 深度学习库 Swift AI 是一个完全由 Swift 编写的高性能 AI 和机器学习库,包含用于人工智能和科学应用的常用工具集,支持卷积神经网络、循环神经网络、遗传算法库、快速线性代数库、信号处理库等。这些工具采用先进的并行处理技术,专门针对 iOS 和 OS X 硬件进行了优化,目前支持所有的 Apple 平台,并计划推出 Linux 版本支持。 5、Scala Breeze —— 数值处理库 Breeze 是一个数值处理库,是 […]

龙生   09 Sep 2017
View Details

MVC4 WebAPI(一)

不管是因为什么原因,结果是在新出的MVC中,增加了WebAPI,用于提供REST风格的WebService,个人比较喜欢REST风格的WebService,感觉比SOAP要轻量级一些,而且对客户端的要求也更少,更符合网络数据传输的一般模式,客户端完全摆脱了代理和管道来直接和WebService进行交互,具体的区别可以参见Web 服务编程,REST 与 SOAP

龙生   09 Sep 2017
View Details
1 227 228 229 432