• 如今上网的渠道是越来越多了,不再局限于PC互联网端了,如今使用的手机上网,IPAD,IPHONE等等也作为了主流,除了上网的客户端变得多样外,还有用户的操作系统也变得多样,虽然windows还是主流,但是现在还有比较...

    如今上网的渠道是越来越多了,不再局限于PC互联网端了,如今使用的手机上网,IPAD,IPHONE等等也作为了主流,除了上网的客户端变得多样外,还有用户的操作系统也变得多样,虽然windows还是主流,但是现在还有比较专业的设计人员用的是mac,另外手机操作系统 android 也是作为手机主流操作系统来供用户来访问的。

    既然上网的渠道变得多样化,用户使用的操作系统和设备也多了起来,这些终端的信息对于我们用户来说并没哪么重要,我们只要可以用来上网就行了,体验好就可以,但这些信息对于专业的SEO人员或者是数据分析师来说,却是不可缺少的,因为只有通过了解用户通过什么方式,什么渠道进入到我们的产品站点或者是 产品APP,当整个数据都一目明了的时候,我们就可以进行对产品进行有效的广告投放,当然这个只是简单的获取访问的操作系统和IOS的设备,更详细的还可以进行获取访问人数的年龄,地域,性别等等,这里就不再进行更为详细的介绍了。

    那么下面仅是一个简单的PHP判断用户访问的操作系统,以及IOS设备的PHP实例函数,其中集成了 windows nt,mac,ipod,ipad等主流系统和IOS设备,可以根据自己的情况进行修改,将其函数直接包含到 php 页面中即可返回相应信息。

    function getOS()
    {
    $agent = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
    
    if(strpos($agent, ‘windows nt’)) {
    $platform = ‘windows';
    } elseif(strpos($agent, ‘macintosh’)) {
    $platform = ‘mac';
    } elseif(strpos($agent, ‘ipod’)) {
    $platform = ‘ipod';
    } elseif(strpos($agent, ‘ipad’)) {
    $platform = ‘ipad';
    } elseif(strpos($agent, ‘iphone’)) {
    $platform = ‘iphone';
    } elseif (strpos($agent, ‘android’)) {
    $platform = ‘android';
    } elseif(strpos($agent, ‘unix’)) {
    $platform = ‘unix';
    } elseif(strpos($agent, ‘linux’)) {
    $platform = ‘linux';
    } else {
    $platform = ‘other';
    }
    
    return $platform;
    }

    展开全文
  • 如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类型和大家做一些分享。...

    如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类型和大家做一些分享。
    (1)php获取服务器端的操作系统类型
    这个时候可以使用php系统自带的常量 PHP_OS 或者系统函数php_uname('s')关于这两者返回的值可能的情况基本有如下几种情况:

    • CYGWIN_NT-5.1
    • Darwin
    • FreeBSD
    • HP-UX
    • IRIX64
    • Linux
    • NetBSD
    • OpenBSD
    • SunOS
    • Unix
    • WIN32
    • WINNT
    • Windows
    • CYGWIN_NT-5.1
    • IRIX64
    • SunOS
    • HP-UX
    • OpenBSD

    不过根据具体情况读者还是自行打印出来结果看看最好,也许获得的结果不在上述之列。

    (2)php获取客户端的操作系统类型,这里分享一个函数,比网上流传的那些判断更加精准,而且没有bug,函数代码如下:

    function getOS(){ 
     $os=''; 
     $Agent=$_SERVER['HTTP_USER_AGENT']; 
     if (eregi('win',$Agent)&&strpos($Agent, '95')){ 
      $os='Windows 95'; 
     }elseif(eregi('win 9x',$Agent)&&strpos($Agent, '4.90')){ 
      $os='Windows ME'; 
     }elseif(eregi('win',$Agent)&&ereg('98',$Agent)){ 
      $os='Windows 98'; 
     }elseif(eregi('win',$Agent)&&eregi('nt 5.0',$Agent)){ 
      $os='Windows 2000'; 
     }elseif(eregi('win',$Agent)&&eregi('nt 6.0',$Agent)){ 
      $os='Windows Vista'; 
     }elseif(eregi('win',$Agent)&&eregi('nt 6.1',$Agent)){ 
      $os='Windows 7'; 
     }elseif(eregi('win',$Agent)&&eregi('nt 5.1',$Agent)){ 
      $os='Windows XP'; 
     }elseif(eregi('win',$Agent)&&eregi('nt',$Agent)){ 
      $os='Windows NT'; 
     }elseif(eregi('win',$Agent)&&ereg('32',$Agent)){ 
      $os='Windows 32'; 
     }elseif(eregi('linux',$Agent)){ 
      $os='Linux'; 
     }elseif(eregi('unix',$Agent)){ 
      $os='Unix'; 
     }else if(eregi('sun',$Agent)&&eregi('os',$Agent)){ 
      $os='SunOS'; 
     }elseif(eregi('ibm',$Agent)&&eregi('os',$Agent)){ 
      $os='IBM OS/2'; 
     }elseif(eregi('Mac',$Agent)&&eregi('PC',$Agent)){ 
      $os='Macintosh'; 
     }elseif(eregi('PowerPC',$Agent)){ 
      $os='PowerPC'; 
     }elseif(eregi('AIX',$Agent)){ 
      $os='AIX'; 
     }elseif(eregi('HPUX',$Agent)){ 
      $os='HPUX'; 
     }elseif(eregi('NetBSD',$Agent)){ 
      $os='NetBSD'; 
     }elseif(eregi('BSD',$Agent)){ 
      $os='BSD'; 
     }elseif(ereg('OSF1',$Agent)){ 
      $os='OSF1'; 
     }elseif(ereg('IRIX',$Agent)){ 
      $os='IRIX'; 
     }elseif(eregi('FreeBSD',$Agent)){ 
      $os='FreeBSD'; 
     }elseif($os==''){ 
      $os='Unknown'; 
     } 
     return $os; 
    }

    根据服务器端还是客户端来决定采取的办法,希望通过这篇文章大家知道如何使用php获取当前操作系统类型。

    展开全文
  • 前言 操作系统是物联网时代的战略制高点,今天 PC 和手机时代的操作系统霸主未必能在物联网时代延续霸业。操作系统产业的规律是,当垄断已经形成,后来者就很难颠覆,只有等待下一次产业浪潮。如今,一个全新的、...

    前言

      操作系统是物联网时代的战略制高点,今天 PC 和手机时代的操作系统霸主未必能在物联网时代延续霸业。操作系统产业的规律是,当垄断已经形成,后来者就很难颠覆,只有等待下一次产业浪潮。如今,一个全新的、充满想象空间的操作系统市场机会正在开启。
      如此关键的产业环节必然是兵家必争之地。ARM、谷歌、微软、华为、阿里、海尔等国内外著名的 IT 企业纷纷推出物联网操作系统,整个产业呈现出群雄逐鹿的壮观景象。传统的嵌入式系统公司也不甘示弱,纷纷通过开源和并购策略推出面向物联网软件平台,比如 Intel、风河、芯科和 Micrium。在一轮新的产业浪潮中,国内创业公司也走在风口浪尖上,他们纷纷推出自己的物联网操作系统,比如庆科、Ruff 和 RT-thread。
      回溯物联网操作系统的发展历程,2014年是个重要的、标志性的起点。正是从这一年开始,ARM、谷歌、微软等国际巨头陆续登场,形形色色物联网操作系统进入我们的视野,时隔3年,让我们一起来看看这些物联网操作系统的情况和应用前景吧。
      

    ARM Mbed OS

    这里写图片描述

      mbed OS 是 ARM 公司专门为 IoT 设计的一个操作系统平台,它支持所有基于 Cortex M 系列的控制器,mbed OS 是开源的操作系统,详情源代码请看:https://github.com/ARMmbed/mbed-os,更多介绍请看官网:https://mbed.com
      简单来说,Mbed 是一个开发平台,一个基于 ARM cortex M 系列的单片机开发平台。
      Mbed 提供 C/C++ SDK,因此使用者可以专注于应用程序的设计,而不用过多关注底层硬件,这使得它用起来有点像 Arduino。

    AndroidIoT/Brillo

    这里写图片描述

      Android Things 是谷歌为 Google Brillo 更改名称后的新版系统,后者是谷歌在2015年宣布的一款物联网操作系统。尽管 Brillo 的核心是 Android 系统,但是它的开发和部署明显不同于常规 Android 开发。Brillo 把 C++ 作为主要开发环境,而 Android Things 则面向所有 Java 开发者,不管开发者有没有移动开发经验。
      Android Things 整合了物联网设备通讯平台 Weave,Weave SDK 将嵌入到设备中进行本地和远程通讯。Weave Server 是用来处理设备注册、命令传送、状态存储以及与谷歌助手等谷歌服务整合的云服务。
      从硬件资源的角度来看,Android Things 属于土豪级的系统,动辄上百 MB 的内存显然不适合单片机,这也正常,因为它的主要竞争对手其实是 Windows 10 IoT。
      顺便说一下谷歌秘密研发而又众所周知的 Fuchsia 系统,它没有基于 Linux 内核,而是基于一种叫 Magenta 的内核,是一种轻量级的内核,适用于嵌入式系统。虽然 Android 占了移动设备端的大半江山,但 Android 仍然存在不少问题,比如:碎片化问题严重,在大屏幕设备上表现糟糕,以及被很多用户诟病的卡顿与体验问题。虽然卡顿的本质原因是很多无良应用的后台互相唤醒,无节制的权限、内存使用等,但是这也恰恰反映了 Android 的底层架构设计是有瑕疵的。所以谷歌想着干脆抛弃 Linux,开发自己的 Fuchsia,同时还避开了 GPL。按照谷歌的性格,还真不是不可能,看看 Java 和 Kotlin 就知道了。我等码农只能寄希望于 Fuchsia 能像它的中文名那样,未来能大红大紫,造福人类吧。

    Windows 10 IoT Core

    这里写图片描述

      Windows 10 IoT 是面向各种智能设备的 Windows 10 版本系列,涵盖了从小的行业网关到大的更复杂的设备(如销售点终端和 ATM),种类繁多。结合最新的 Microsoft 开发工具和 Azure IoT 服务,合作伙伴可以收集、存储和处理数据,从而打造可行的商业智能和有效的业务结果。在构建基于 Windows 10 IoT 的解决方案后,合作伙伴将在利用一系列 Microsoft 技术提供端到端的解决方案时发现更多机会。
      由于 Windows 10 for IoT 是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力,如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用 Visual Studio 和 Azure 物联网服务,针对 Windows 从事开发工作的人会被整套的 Windows 10 for IoT 方案吸引过去。

    WatchOS

    这里写图片描述

      说了那么多巨头,怎么少得了苹果公司呢,苹果在桌面端有 OS X,在移动端有 iOS。虽然苹果目前还没有在物联网市场扮演重要的角色,但苹果已利用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助 BlackBerry QNX)和苹果手表。

    Ubuntu Core 16

    这里写图片描述

      Ubuntu 已经向外界透露了它们对于物联网的最新想法,那就是让 Linux 成为让物联网更智能和可扩展的核心。Snappy Ubuntu Core 是面向智能设备的最新平台,其承诺可以运行存储在本地或依赖于云端的相同软件。显然,后者的最大好处就是可以让使用者避开频繁的定期升级。
      Ubuntu Core 团队意识到,“联网设备”的数量将会激增。虽然手机和计算机的定期维护和更新已深入人心,但是对于洗衣机、温控器、以及智能开关来说,大家却很容易忽略掉它们。
      此外,在频发的黑客攻击面前,联网设备的安全性也需要慎重考虑。如果没有最新的安全补丁和固件修复,那么必将会给联网设备的使用者留下巨大的隐患。
      更重要的是,Ubuntu Core 既可以在设备上、也可以依赖云端而运行。并且无论他们运行于 ARM 或 x86 平台,开发者都会得到相同的 API 和安全更新。
      截至目前,Ubuntu 母公司 Canonical 已经拥有了21家合作伙伴,我们希望这一数字可以在今年迎来更高的增长。

    网址:http://www.ubuntu-china.cn/internet-of-things/
    镜像下载:http://releases.ubuntu.com/ubuntu-core/16/

    μCLinux

      μClinux 是一种优秀的嵌入式Linux版本,其全称为 micro-control Linux,从字面意思看是指微控制 Linux。同标准的 Linux 相比,μClinux 的内核非常小,但是它仍然继承了 Linux 操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的 API,以及 TCP/IP 网络协议等。因为没有 MMU 内存管理单元,所以其多任务的实现需要一定技巧。
      与 Linux 一样,μClinux 操作系统将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。
      μClinux 最大特点在于针对无 MMU 处理器设计,可以利用功能强大的 Linux 资源,因此适合开发对事件要求不高的小容量、低成本的各类产品,特别适用于开发与网络应用密切相关的嵌入式设备或者 PDA 设备。
      下载地址:http://www.uclinux.org/pub/uClinux/ 或者 https://sourceforge.net/projects/uclinux/

    QNX

      QNX是一个分布式、嵌入式、可规模扩展的硬实时操作系统。它遵循POSⅨ.1 (程序接口)和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(实时扩展)。它诞生于1980年,距今已37年的历史。
      QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。
      QNX是业界公认的X86平台上最好的嵌入式实时操作系统之一。它具有独一无二的微内核实时平台,建立在微内核和完全地址空间保护基础之上,实时、稳定、可靠,已经完成到PowerPC、MIPS、ARM等内核的移植,成为在国内广泛应用的嵌入式实时操作系统。虽然QNX本身并不属于UNIX,但由于其提供了POSIX的支持,使得多数传统UNIX程序在微量修改(甚至不需修改)后即可在QNX上面编译与运行。
      在具有高可靠性内核的基础上,QNX的创新设计使它同样具有很高的效率。QNX最为引人注目的地方是,它是UNⅨ的同胞异构体,保持了和UNⅨ的高度相似性,绝大多数UNⅨ或LINUX应用程序可以在QNX下直接编译生成。这意味着为数众多的稳定成熟的UNⅨ、LINUX应用可以直接移植到QNX这个更加稳定高效的实时嵌入式平台上来。

    TRON

      TRON 是一项开放式的实时操作系统内核设计项目,它是”The Real-time Operating system Nucleus”(实时操作系统内核)的缩写。该项目由东京大学的坂村健教授于1984年发起,宗旨是为全社会的需要开发一套理想的计算机结构和网络。
      担任日本东京大学(University of Tokyo)教授的坂村一直是个跳脱框架的思想家、大胆敢言,并热烈支持下一代运算架构;他的大部分学术生命都投入于开发TRON,以及在日本推广普及、无所不在的运算之概念。坂村表示,他所构想的“智慧物联网(Intelligent Object Network)”──类似于当红的物联网──可追溯至1987年他所开发的TRON目标之一。
      TRON 在国内的知名度不高,但其实它的应用非常广,有兴趣的可以搜索相关文章进行了解,比如《TRON 伴随生活的另一个操作系统世界》。

    μT/OS

    这里写图片描述

      大连悠龙软件科技有限公司从2008年开始借鉴谷歌在 Android 上的成功商业模式,以 μT-Kernel 规范为基础,2009年底在世界上第一个研发出支持 Cortex M3 和 μT-Kernel 规范的实时操作系统内核,后来逐渐加上 Linux 上的成熟轻量级开源中间件,推出了中国人自己的物联网开源实时操作系统——μTenux,在 μTenux 中遵循 μT-Kernel 规范的内核被命名为 μT/OS。μTenux 支持 CortexM0/3/4、ARMV4T、ARMV5E 等多种32位内核微控制器,在2010年和2011年陆续成为 ATMEL 和 ARM 公司全球操作系统战略合作伙伴。
      近期 uT/OS V3.0 启动了,支持 ST 全系列 Nucleo 板子,支持 STM32 Cube 库,支持动态下载程序,增加安全 API。
      Github 地址:https://github.com/TenuxOS

    μCOS-II/μCOS-III

    这里写图片描述

      相信国内做嵌入式开发的应该都听过 μCOS,μCOS 在国内的应用也非常广泛,这得益于其代码的良好风格和开放性,以及配套的中间件和文档的完整性,并且在北京麦克泰公司及国内一些嵌入式专家的支持下,出版了很多关于 μCOS 的中文书籍。
      μC/OS-II 的前身是 μC/OS,最早出自于1992 年美国嵌入式系统专家Jean J.Labrosse 在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把 μC/OS 的源码发布在该杂志的 BBS 上。μC/OS-II 是在 μC-OS 的基础上发展起来的,是用 C 语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-II 能管理 64 个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。
      μC/OS-II 中断处理比较简单。一个中断向量上只能挂一个中断服务子程序 ISR,而且用户代码必须都在 ISR 中完成。ISR 需要做的事情越多,中断延时也就越长,内核所能支持的最大嵌套深度为 255。
      Micrium 宣布在它的嵌入式产品中增加 μC/OS-MMU 和μC/OS-MPU 两款产品。这两种产品增加了嵌入式系统中的关键内存函数。μC/OS-MMU 通过为多个独立的应用提供时间和空间的保护,为带有内存管理单元(MMU)的中央处理器提供了内存保护功能。μC/OS-MPU通过保护任务的内存防止对未被授权的系统内存的访问,破坏内存的内容,为带有内存保护单元的CPU提供了保护机制。
      关于 μCOS-II 和 μCOS-III 的区别和性能对比,可以搜索相关文章进行了解,比如《UCOS-II和UCOS-III的性能对比》。
      2016 年,为了强化自身嵌入式物联网设计方案,Silicon Labs 宣布收购物联网(IoT)即时操作系统(RTOS)软件供应商Micrium,来增进物联网嵌入式解决方案的完整性。

    FreeRTOS

    这里写图片描述

      FreeRTOS 是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
      FreeRTOS 的特点包括:

    • 用户可配置内核功能
    • 多平台的支持
    • 提供一个高层次的信任代码的完整性
    • 目标代码小,简单易用
    • 遵循MISRA-C标准的编程规范
    • 强大的执行跟踪功能
    • 堆栈溢出检测
    • 没有限制的任务数量
    • 没有限制的任务优先级
    • 多个任务可以分配相同的优先权
    • 队列,二进制信号量,计数信号灯和递归通信和同步的任务
    • 优先级继承
    • 免费开源的源代码

    FreeRTOS 的创始人是 Richard Barry,他编写了大量的移植代码和配套文档,我们可以从 FreeRTOS 官网(www.freertos.org)获取相关的学习资料和源代码。
      SafeRTOS 便是基于 FreeRTOS 而来,前者是经过安全认证的 RTOS,因此对于 FreeRTOS 的安全性也有了信心。

    RT-Thread(国产)

    这里写图片描述

      RT-Thread 是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread 也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread 具备一个 IoT OS 平台所需的所有关键组件,例如 GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过两千万台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。
      RT-Thread 拥有良好的软件生态,支持市面上所有主流的编译工具如 GCC、Keil、IAR等,工具链完善、友好,支持各类标准接口,如 POSIX、CMSIS、C++ 应用环境、Javascript 执行环境等,方便开发者移植各类应用程序。商用支持所有主流 MCU 架构,如 ARM Cortex-M/R/A, MIPS, X86, Xtensa, C-Sky, RISC-V,几乎支持市场上所有主流的 MCU 和 Wi-Fi 芯片。
      RT-Thread 实时操作系统遵循 GPLv2+ 许可证,实时操作系统内核及所有开源组件可以免费在商业产品中使用,不需要公布应用程序源码,没有潜在商业风险。
      官方网站:http://www.rt-thread.org/

    Nucleus OS

    这里写图片描述

      Nucleus 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用 ANSIC 写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,NucleusPLUS 是一组 C 函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的 RAM 中或直接烧录到目标板的 ROM 中执行。
      Nucleus 是 Mentor Graphics 公司开发的一种嵌入式操作系统。这家公司声称,其软件目前在30多亿个设备上运行,这是个相当庞大的安装群。该操作系统为众多嵌入式架构提供了有力的支持,在汽车、医疗、公用事业、工业和消费类电子产品等行业垂直领域大受欢迎。共享单车 Bluegogo 用的就是 Nucleus OS。
      官网地址:https://www.mentor.com/embedded-software/nucleus/

    NuttX

      NuttX 是一个实时嵌入式操作系统(Embedded RTOS),它很小巧,在微控制器环境中使用。Nuttx完全可扩展,可从从小型(8位)至中型嵌入式(32位)系统。它的设计目的还在于完全符合POSIX标准,完全实时,并完全开放。
      NuttX 的第一个版本由 Gregory Nutt 于 2007 年在宽松的 BSD 许可证下发布。
      我是在四轴飞行器的论坛上第一次听到 NuttX 的,NuttX 支持 Allwinner、Atmel、Freescale、MicroChip、nuvoTon、NXP、Hitachi、STMicroelectronics、Texas Instruments 等多款微控制器和板卡,对文件系统和网络有良好的支持,还提供一个类似 bash 的 shell。
      官方网站:http://www.nuttx.org
      Wiki:http://www.nuttx.org/doku.php?id=wiki
      下载:http://sourceforge.net/projects/nuttx

    SylixOS

      SylixOS 是一款嵌入式硬实时操作系统,同其类似的操作系统,全球比较知名的还有 VxWorks(主要应用于航空航天、军事与工业自动化领域)、RTEMS(起源于美国国防部导弹与火箭控制实时系统)、ThreadX(主要应用于航空航天与数码通讯)等。
      从全球范围上看,SylixOS 作为实时操作系统的后来者,在设计思路上借鉴了众多实时操作系统的设计思想,其中就包括 RTEMS、VxWorks、ThreadX 等,使得具体性能参数上达到或超过了众多实时操作系统的水平,成为国内实时操作系统的最优秀代表之一。
      SylixOS 的主要特点有:

    • 兼容IEEE 1003(ISO/IEC 9945)操作系统接口规范
    • 兼容POSIX 1003.1b(ISO/IEC 9945-1)实时编程的标准
    • 优秀的实时性能(任务调度与切换、中断响应算法都是O(1)时间复杂度算法)
    • 支持无限多任务
    • 支持进程、线程、协程三种多任务模型
    • 支持优先级继承,防止优先级翻转
    • 极其稳定的内核,内核CPU占用率低
    • 支持紧耦合同构多处理器(SMP)
    • 支持标准I/O、多路I/O复用与异步I/O接口
    • 支持多种新型异步事件同步化接口,例如:signalfd、timerfd、hstimerfd、eventfd等
    • 支持众多标准文件系统:FAT、YAFFS、ROOTFS、PROCFS、NFS、ROMFS等
    • 支持文件记录锁,可为各种类型实时数据库提供支持(SQL、NoSQL、In-Mem DB)
    • 支持动态应用程序装载、动态链接库以及内核模块
    • 支持标准TCP/IPv4/v6双网络协议栈
    • 支持AF_UNIX、AF_PACKET、AF_INET、AF_INET6协议域
      集成众多网络工具,例如:FTP、TFTP、NAT、PING、TELNET、NFS等
    • 支持众多标准设备抽象,如:TTY、BLOCK、DMA、ATA、GRAPH、RTC、PIPE等
    • 支持多种工业设备或总线模型,如:CAN、I2C、SPI、USB、PCI、SDIO等
    • 提供内核行为跟踪器方便调试
    • 可支持众多图形界面系统,例如:Qt、ftk、ucGUI等

        官方网站:http://www.sylixos.com/
        代码下载:http://git.sylixos.com/cgit/
        相关文档:http://wiki.sylixos.com/

    liteOS

    这里写图片描述

      华为物联网操作系统 Huawei LiteOS 是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统。本项目属于华为物联网操作系统 Huawei LiteOS 基础内核源码,现有代码支持任务调度,内存管理,中断机制,队列管理,事件管理,IPC机制,时间管理,软定时器以及双向链表等常用数据结构。
      Huawei LiteOS 的代码将以 BSD 3-Clause License,除非华为另选其他许可证(“可适用的许可证”)。接收者可以访问 http://opensource.org/licenses/BSD-3-Clause 查看该许可证的详细内容。
      Lite OS 目前世界上最轻量级的物联网操作系统,其系统体积轻巧到10KB级,具备零配置、自组网、跨平台的能力,可广泛应用于智能家居、穿戴式、工业等领域。由于 LiteOS 实行开源,合作伙伴便可以快速构建自己的物联网产品,这将让智能硬件的开发变得更加简单,从而加快实现万物的互联互通。Lite OS 的模式与牛津大学研究人员发明的 Contiki 系统、加州大学伯克利分校发明的 TinyOS 相似,同样具备轻量化、开源的特性。
      LiteOS 操作系统具有能耗最低,体积最小、响应最快的特点,已推出全开放开源社区,提供芯片、模块和开源硬件板,如海思的 PLC 芯片 HCT3911、媒体芯片 3798M/C、IPCamera 芯片 Hi3516A,以及 LTE-M 芯片等(开发者也可以选择第三方芯片,如STM32等)。
      LiteOS 主要应用于智能家居、穿戴式、车联网、智能抄表、工业互联网等 IoT 领域的智能硬件上,数据采集、实时控制等是其典型使用环境。
      Huawei LiteOS 快速入门:http://developer.huawei.com/ict/cn/site-iot/article/liteos-start/
      代码下载:https://github.com/LITEOS/LiteOS_Kernel  

    AliOS/YunOS

    这里写图片描述

      据了解,新的阿里巴巴操作系统事业部将在 IoT 领域持续增加投入,面向汽车、IoT 终端、IoT 芯片和工业领域研发物联网操作系统,并整合原 YunOS 移动端业务。过去的 YunOS 即进化为 AliOS。
      YunOS 基于 Linux 研发,搭载自主研发的核心操作系统功能和组件,支持 HTML5 生态和独创的 CloudCard 应用环境,增强了云端服务能力。
      针对此次操作系统升级,阿里内部人士表示,此轮动作主要是为整体品牌升级。之前互联网汽车业务、物联网业务、手机业务等都各有叫法,现在统一为 AliOS,同时明确重点,整合原有 YunOS移 动端业务,定位物联网操作系统,重点研发汽车操作系统、IoT 等领域。
      阿里巴巴集团资深副总裁、AliOS 总裁胡晓明则表示:“阿里集团将持续深耕汽车操作系统领域,携手斑马网络和更多汽车全产业链的合作伙伴,共同推动汽车行业的智能化转型。今天,不智能的手机已经成了古董。未来,不智能的汽车也将成为古董。汽车是 AliOS 驱动万物智能的开始,我们将定义一个不同于 PC 和移动时代的物联网操作系统。”
      前不久,阿里巴巴也兑现了承诺,将AliOS-Things 开放出来了,github 地址:https://github.com/alibaba/AliOS-Things

    MiCO

    这里写图片描述

      MiCO IoT OS 由上海庆科联合阿里智能云于2014年7月发布,是国内首款真正意义上的物联网操作系统。简单的说它是基于 MCU 的全实时物联网操作系统,是面向智能硬件设计、运行在微控制器上的高度可移植的操作系统和中间件开发平台,已被广泛应用于智能家电、照明、医疗、安防、娱乐等物联网应用市场。
      MiCO 的全称是:Micro-controller based Internet Connectivity Operating system。是基于微控制器的互联网接入操作系统。 开发者可以在各种微控制器平台上基于 MiCO 来设计接入互联网的创新智能产品,实现人,物互联。
      MiCO 是针对智能硬件优化设计而运行在微控制器上高度可移植的实时操作系统,包含了各种软件中间件,从而降低智能硬件开发成本,提高开发效率是国内首款物联网操作系统。MiCO 拥有完整的解决方案,包括了建议的无线网络配置、智能硬件的初次设置、快速无线网络接入、本地设备与服务发现、身份认证等组件。这些都能够降低研发投入和维护的成本,缩短研发周期。
      MiCO 物联网工程师开发服务平台:http://mico.io/

    Ruff

    这里写图片描述

      Ruff 是一个支持 JavaScript 开发应用的物联网操作系统,为软件开发者提供开放、高效、敏捷的物联网应用开发平台,让 IoT 应用开发更简单。
      Ruff 对硬件进行了抽象,使用了基于事件驱动、异步 I/O 的模型,使硬件开发变得轻量而且高效。除了使用 JavaScript 作为开发语言,它还拥有自己的软件仓库,从模块到驱动一应俱全。提高软件兼容性、降低硬件开发门槛。
      整个 Ruff 开发体系包括 Ruff OS、Ruff SDK、Ruff 软件仓库、Ruff Kit 开发套件。 只要您有软件开发经验,就可以用 Ruff 开发硬件应用。
      Ruff 的特点有:

    • JavaScript 编程——采用开发者众多的唯一全栈语言作为编程语言
    • 硬件抽象——调用程序库即可操作硬件,降低开发入门门槛
    • 跨平台——忽略板卡差异,同一份应用代码可以运行在不同板卡上
    • 高效便捷开发——告别交叉编译、烧写板卡,PC 上完成测试,一键部署

    官方网站:https://ruff.io/zh-cn/

    Zephyr

    这里写图片描述

       Linux 基金会宣布了一个微内核项目——Zephyr,由 Intel 主导, 风河提供技术。Zephyr 微内核将被用于开发针对物联网设备的实时操作系统(RTOS)。Zephyr 项目得到了英特尔、 NXP 半导体、Synopsys 和 UbiquiOS 等公司的支持,英特尔子公司 Wind River 向 Zephyr 项目捐赠了它的 Rocket RTOS 内核。
      Wind River 的 Rocket RTOS 将转变成基于 Zephyr 内核的下游商业发行版。Zephyr 微内核能运行在只有 10KB RAM 的32位微控制器上,相比之下基于Linux的微控制器项目 uClinux 需要200KB RAM。
      Zephyr 项目在设备和通信协议栈的两个层次提供安全特性,除此之外,社区也对安全问题严肃看待,计划成立专门安全工作组并委派一位安全维护者。
      官方网站:https://www.zephyrproject.org/

    Ostro

    这里写图片描述

      Ostro 操作系统是特别为物联网建造的操作系统,开发者可以马上用,节省了很多时间,功能也非常完善,包括覆盖全面的连接标准,支持包含蓝牙、WiFi 和 NFC 等连接方式,并且支持多种如 IoTivity 的设备对设备互联互通标准;包含安全启动、强制访问控制、加密标准和软件安全更新协议等安全措施;先进的设备管理以及直观的开发工具。
      是一套基于 Linux 并且为物联网智能设备特别量身订做的开源操作系统,它可以为任意数量的物联网使用案例特别定制功能,包含 Linux 参考设计、软件包安装和管理机制。除此之外,它的开发工具可以让设备上的连接潜力扩展到最大。Ostro 项目不但提供管理众多设备的工具,最重要的是,它能保障物联网世界安全无虞。
      Ostro 操作系统的适应性非常强,既可直接用于受支持的设备,也可以按照需求进行定制,而且开发环境提供了多种语言选择(Native (C/C++) 和 Node.js),可以轻松找到新设备的驱动程序,并充分利用 Linux 社区的所有资源。最后,它还提供了从引导/内核到中间件和应用的自上而下的安全性选项。
      Ostro 操作系统包含易用的工具,让开发和原型制作都变得容易。它利用 Yocto 项目的工具组环境来进行操作系统和应用包的配置,开发者可以先创建出一个理想的配置再根据需求修改。当使用基于 Linux 的开发工具时,对于既有的 Linux 和安卓开发者,完全不需要额外的学习过程,开发者可以直接用交互编译工具来生成程序。
      官方网站:https://ostroproject.org/

    TinyOS

    这里写图片描述

      Tiny OS 是 UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,操作系统基于构件(component-based)的架构使得快速的更新成为可能,而这又减小了受传感网络存储器限制的代码长度。Tiny OS 是一个具备较高专业性,专门为低功耗无线设备设计的操作系统,主要应用于传感器网络、普适计算、个人局域网、智能家居和智能测量等领域。
      Tiny OS的如下特性决定了其在传感器网络中的广泛应用,使其在物联网中占据了举足轻重的地位。

    • 相对于主流操作系统成百上千MB的庞大体积来说,Tiny
      OS显得十分迷你,只需要几KB的内存空间和几十KB的编码空间就可以运行的起来,而且功耗较低,特别适合传感器这种受内存、功耗限制的设备。
    • Tiny
      OS本身提供了一系列的组件,包括:网络协议、分布式服务器、传感器驱动及数据识别工具等,使用者可以通过简单方便的编制程序将多个组件连接起来,用来获取和处理传感器的数据并通过无线电来传输信息。
    • Tiny OS在构建无线传感器网络时,通过一个基地控制台控制各个传感器子节点,聚集和处理各子节点采集到的信息。Tiny
      OS只要在控制台发出管理信息,然后由各个节点通过无线网络互相传递,最后达到协同一致的目的。

    更多请看:http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page

    eCOS(GNU)

    这里写图片描述

      eCos(embedded Configurable operating system),中文翻译为嵌入式可配置操作系统或嵌入式可配置实时操作系统。适合于深度嵌入式应用,主要应用对象包括消费电子、电信、车载设备、手持设备以及其他一些低成本和便携式应用。eCos 是一种开放源代码软件,无需支付任何版税。
      它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。最大特点是配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用 eCos 提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。
      eCos 使用了分层式中断处理机制,把中断处理分为传统的 ISR 和滞后中断服务程序 DSR。类似于 μClinux 的处理机制,这种机制可以在中断允许时运行 DSR,因此在处理较低优先级中断时允许高优先级的中断和处理。为了极大地缩短中断延时,ISR 应当可以快速运行。如果中断引起的服务量少,则 ISR 可以单独处理中断;如果中断服务复杂,则 ISR 只屏蔽中断源,然后交由 DSR 处理。
      官方网站:http://ecos.sourceware.org/

    Contiki

      Contiki 系统的名字来自于托尔·海尔达尔的康提基号,由牛津大学研究人员发明。
      Contiki 是一个适用于有内存的嵌入式系统的开源的、高可移植的、支持网络的多任务操作系统。包括一个多任务核心、TCP/IP 堆栈、程序集以及低能耗的无线通讯堆栈。Contiki 采用 C 语言开发的非常小型的嵌入式操作系统,运行只需要几K的内存。
      Contiki 拥有出色的 TCP/IP 网络支持,包括IPv4和IPv6,还有 6Lowpan 报文压缩、RPL路由、CoAP应用层,已经成为无线传感器网络和物联网感知层低功耗无线组网协议研发和实验的主要平台,其中6Lowpan已经成为IETF规范,也被zigbee SEP2.0标准以及ISA100.11a标准所采纳。
      感兴趣的可以看一下雷锋网的这篇报道《Contiki:鲜为人知的物联网系统》。


      当然,除了上面介绍的这些嵌入式/物联网操作系统,或者说 RTOS 之外,还有许许多多的系统,有机会再慢慢介绍咯……

    展开全文
  • Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核。内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等。    既然Linux只是一个内核...

    什么是Linux?
      
      也许很多人会不屑的说,Linux不就是个操作系统么。错!Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核。内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等。
      
      既然Linux只是一个内核。那么我们通常所说的Linux操作系统又是什么?我们通常所说的Linux,指 GNU/Linux ,即采用Linux内核的GNU操作系统。是的,操作系统的实际名称是GNU。什么是GNU?GNU代表GNU’s Not Unix。可以说是一个操作系统又可以说是一种规范。比如,众所周知的PHP,原名为Personal HomePage(个人主页),根据GNU的软件命名规则,PHP现已更名为PHP: Hypertext Preprocessor(超文本预处理程序)。
      
      谁编写/创造了Linux?
      
      Linux最早由Linus Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及GNU项目,并不断的编写创建GNU程序(程序的许可方式均为GPL: General Public License)。在不断的有程序员和开发者加入到GNU组织中后,变造就了今天我们所看到的Linux,或称GNU/Linux。
      
      什么是Linux发行版?
      
      正如之前所说的,Linux只是一个内核。然而,一个完整的操作系统不仅仅是内核而已。所以,许多个人、组织和企业,开发了基于GNU/Linux的Linux发行版。这其中最著名的便是Red Hat公司的Red Hat系列以及社区(community)组织的Debian系列。
      
      下面我就简单得介绍一下目前比较著名、流行的Linux发行版本。部分资料来源:DistroWatch.com
      
      Mandriva

     
                                       linux操作系统的分类及解释

     

    Mandriva原名Mandrake,最早由Ga?l Duval创建并在1998年7月发布。记得前两年国内刚开始普及Linux时,Mandrake非常流行。说起Mandrake的历史,其实最早Mandrake的开发者是基于Redhat进行开发的。Redhat默认采用GNOME桌面系统,而Mandrake将之改为KDE。而由于当时的Linux普遍比较难安装,不适合第一次接触Linux的新手,所以Mandrake还简化了安装系统。我想这也是当时Mandrake在国内如此红火的原因之一。Mandrake在易用性方面的确是下了不少功夫,包括默认情况下的硬件检测等。
      
      Mandrake的开发完全透明化,包括“cooker”。当系统有了新的测试版本后,便可以在cooker上找到。之前Mandrake的新版本的发布速度很快,但从9.0之后便开始减缓。估计是希望能够延长版本的生命力以确保稳定和安全性。
      
      优点:友好的操作界面,图形配置工具,庞大的社区技术支持,NTFS分区大小变更
      缺点:部分版本bug较多,最新版本只先发布给Mandrake俱乐部的成员
      软件包管理系统:urpmi (RPM)
      免费下载:FTP即时发布下载,ISO在版本发布后数星期内提供
      官方主页:http://www.mandrivalinux.com/
      
      Red Hat

     

                                     linux操作系统的分类及解释

     

    国内,乃至是全世界的Linux用户所最熟悉、最耳闻能详的发行版想必就是Red Hat了。Red Hat最早由Bob Young和Marc Ewing在1995年创建。而公司在最近才开始真正步入盈利时代,归功于收费的Red Hat Enterprise Linux(RHEL,Red Hat的企业版)。而正统的Red Hat版本早已停止技术支持,最后一版是Red Hat 9.0。于是,目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。Fedora Core 1发布于2003年年末,而FC的定位便是桌面用户。FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅六个月。目前最新版本为FC 3,而FC4也预定将于今年6月发布。这也是为什么服务器上一般不推荐采用Fedora Core。
      
      适用于服务器的版本是Red Hat Enterprise Linux,而由于这是个收费的操作系统。于是,国内外许多企业或空间商选择CentOS。CentOS可以算是RHEL的克隆版,但它最大的好处是免费!菜鸟油目前的服务器便采用的CentOS 3.4。

     优点:拥有数量庞大的用户,优秀的社区技术支持,许多创新
      缺点:免费版(Fedora Core)版本生命周期太短,多媒体支持不佳
      软件包管理系统:up2date (RPM), YUM (RPM)
      免费下载:是
      官方主页:http://www.redhat.com/
      
      SUSE

     

                                     linux操作系统的分类及解释

     

    SUSE是德国最著名的Linux发行版,在全世界范围中也享有较高的声誉。SUSE自主开发的软件包管理系统YaST也大受好评。SUSE于2003年年末被Novell收购。
      
      SUSE之后的发布显得比较混乱,比如9.0版本是收费的,而10.0版本(也许由于各种压力)又免费发布。这使得一部分用户感到困惑,也转而使用其它发行版本。但是,瑕不掩瑜,SUSE仍然是一个非常专业、优秀的发行版。
      
      优点:专业,易用的YaST软件包管理系统
      缺点:FTP发布通常要比零售版晚1~3个月
      软件包管理系统:YaST (RPM), 第三方APT (RPM) 软件库(repository)
      免费下载:取决于版本
      官方主页:http://www.suse.com/
      
      Debian GNU/Linux

     

                                           linux操作系统的分类及解释

     

    Debian是菜鸟油服务器之前所采用的操作系统。Debian最早由Ian Murdock于1993年创建。可以算是迄今为止,最遵循GNU规范的Linux系统。Debian系统分为三个版本分支(branch):stable, testing 和 unstable。截至2005年5月,这三个版本分支分别对应的具体版本为:Woody, Sarge 和 Sid。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而Woody一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。菜鸟油之前所采用的是Debian Sarge。
      
      为何有如此多的用户痴迷于Debian呢(包括笔者在内)?apt-get / dpkg是原因之一。dpkg是Debian系列特有的软件包管理工具,它被誉为所有Linux软件包管理工具(比如RPM)最强大的!配合apt-get,在Debian上安装、升级、删除和管理软件变得异常容易。许多Debian的用户都开玩笑的说,Debian将他们养懒了,因为只要简单得敲一下”apt-get upgrade && apt-get update”,机器上所有的软件就会自动更新了……
      
      优点:遵循GNU规范,100%免费,优秀的网络和社区资源,强大的apt-get
      缺点:安装相对不易,stable分支的软件极度过时
      软件包管理系统:APT (DEB)
      免费下载:是
      官方主页:http://www.debian.org/
      
      Ubuntu

     

                                linux操作系统的分类及解释

     

    笔者的桌面电脑便使用的Ubuntu。依照笔者的理解,简单而言,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux操作系统。:) Ubuntu是一个相对较新的发行版,但是,它的出现可能改变了许多潜在用户对Linux的看法。也许,从前人们会认为Linux难以安装、难以使用,但是,Ubuntu出现后,这些都成为了历史。Ubuntu基于Debian Sid,所以这也就是笔者所说的,Ubuntu拥有Debian的所有优点,包括apt-get。然而,不仅如此而已,Ubuntu默认采用的GNOME桌面系统也将Ubuntu的界面装饰的简易而不失华丽。当然,如果你是一个KDE的拥护者的话,Kubuntu同样适合你!
      
      Ubuntu的安装非常的人性化,只要按照提示一步一步进行,安装和Windows同样简便!并且,Ubuntu被誉为对硬件支持最好最全面的Linux发行版之一,许多在其他发行版上无法使用,或者默认配置时无法使用的硬件,在Ubuntu上轻松搞定。并且,Ubuntu采用自行加强的内核(kernel),安全性方面更上一层楼。并且,Ubuntu默认不能直接root登陆,必须从第一个创建的用户通过su或sudo来获取root权限(这也许不太方便,但无疑增加了安全性,避免用户由于粗心而损坏系统)。Ubuntu的版本周期为六个月,弥补了Debian更新缓慢的不足。优点:人气颇高的论坛提供优秀的资源和技术支持,固定的版本更新周期和技术支持,可从Debian Woody直接升级
      缺点:还未建立成熟的商业模式
      软件包管理系统:APT (DEB)
      免费下载:是
      官方主页:http://www.ubuntulinux.org/

    Gentoo

     

                                     linux操作系统的分类及解释

     

    Gentoo最初由Daniel Robbins(前Stampede Linux和FreeBSD的开发者之一)创建。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统——portage。(Ports和Portage都是用于在线更新软件的系统,类似apt-get,但还是有很大不同)Gentoo的首个稳定版本发布于2002年。
      
      Gentoo的出名是因为其高度的自定制性:因为它是一个基于源代码的(source-based)发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用Gentoo的用户都选择自己手动编译。这也是为什么Gentoo适合比较有Linux使用经验的老手使用的原因。但是要注意的是,由于编译软件需要消耗大量的时间,所以如果你所有的软件都自己编译,并安装KDE桌面系统等比较大的软件包,可能需要几天时间才能编译完……
      
      优点:高度的可定制性,完整的使用手册,媲美Ports的Portage系统,适合“臭美”的高手使用^^
      缺点:编译耗时多,安装缓慢
      软件包管理系统:Portage (SRC)
      免费下载:是
      官方主页:http://www.gentoo.org/
      
      Slackware

     

                                    linux操作系统的分类及解释

     

    Slackware由Patrick Volkerding创建于1992年。算起来应当是历史最悠久的Linux发行版。曾经Slackware非常的流行,但是当Linux越来越普及,用户的技术层面越来越广(更多的新手)后,Slackware渐渐的被新来的人们所遗忘。在其他主流发行版强调易用性的时候,Slackware依然固执的追求最原始的效率——所有的配置均还是要通过配置文件来进行。
      
      尽管如此,Slackware仍然深入人心(大部分都是比较有经验的Linux老手)。Slackware稳定、安全,所以仍然有大批的忠实用户。由于Slackware尽量采用原版的软件包而不进行任何修改,所以制造新bug的几率便低了很多。Slackware的版本更新周期较长(大约1年),但是新版本的软件仍然不间断的提供给用户下载。
      
      优点:非常稳定、安全,高度坚持UNIX的规范
      缺点:所有的配置均通过编辑文件来进行,自动硬件检测能力较差
      软件包管理系统:Slackware Package Management (TGZ)
      免费下载:是
      官方主页:http://www.slackware.com/
      
      Knoppix

     

                                      linux操作系统的分类及解释

     

    由德国的Klaus Knopper开发的Knoppix,是一个基于Debian的发行版。Knoppix严格算起来是一款LiveCD Linux,所谓的LiveCD就是整个操作系统都在一张光盘上,只要开机从光盘启动,就能拥有一个完整的Linux系统!无需安装!当然,Knoppix也能够非常轻松的安装到硬盘上。其强大的硬件检测能力、系统修复能力、即时压缩传输技术,都令人大加称赞。可以说,在LiveCD界,Knoppix是无人能及的!
      
      优点:无需安装可直接运行于CD上,优秀的硬件检测能力,可作为系统急救盘使用
      缺点:LiveCD由于光盘的数据读取速度限制导致性能大幅下降
      软件包管理系统:APT (DEB)
      免费下载:是
      官方主页:http://www.knoppix.com/
      
      MEPIS

     

                                      linux操作系统的分类及解释

     

    MEPIS由Warren Woodford在2003年建立。MEPIS虽然刚建立不久,但是迅速的传播在Linux用户间。简单来说,MEPIS是一个集合了Debian Sid和Knoppix的产物。用户即能将之当作LiveCD使用,也能使用常规的图形界面进行安装。
      
      MEPIS默认集成安装了Java Runtime Environment、Flash插件、nVidia加速驱动等许多常用的程序。用户可以非常轻松的安装完系统后就直接开始使用,而不用到处寻找资料如何下载、如何安装、如何配置这些软件。这不仅给Linux新手带来了便捷,也给老手们节约了相当多的时间。

     优点:LiveCD与常规安装两用,优秀的硬件检测能力,预装了许多实用的软件
      缺点:建立时间不长,默认的界面有些寒酸
      软件包管理系统:APT (DEB)
      免费下载:是
      官方主页:http://www.mepis.org/
      
      Xandros

     

                                         linux操作系统的分类及解释

     

    Xandros建立在已经成为历史的Corel Linux之上。当初Corel Linux的公司由于财政上的困难,被迫终止了Corel Linux的开发,而Xandros适时的将Corel Linux部门买下,于2002年10月推出全新的Xandros Desktop。
      
      Xandros的卖点在于极其简单的安装和使用,所以它的市场定位是那些没有任何Linux使用经验的新手,或是习惯使用Windows的用户。Xandros的标准版和增强版都是商业软件,分别售价$40和$99美元。不过你仍然可以在这里下载到免费的公开发行版。
      
      优点:适合完全没有经验的新手,安装完以后就能立即投入使用,自带非常不错的工具
      缺点:商业软件
      软件包管理系统:Xandros Networks (DEB) 或 APT (DEB) (可选,但不提供技术支持)
      免费下载:公开发行版
      官方主页:http://www.xandros.com/
      
      FreeBSD

     

                                        linux操作系统的分类及解释

     

    首先要强调的是:FreeBSD不是一个Linux系统!可是,为什么笔者要介绍FreeBSD呢?因为FreeBSD的用户也相当多,其许多特性都与Linux相类似。事实上,Linux和BSD(Berkeley Software Distribution)均是UNIX的演化分支。并且,Linux中相当多的特性和功能(比如用于配置DNS的Bind软件)都是取自于BSD的。而FreeBSD便是BSD家族中最出名,用户数量最多的一个发行版。MEZOC之前所采用的便是FreeBSD系统。
      
      FreeBSD建立于1993年,拥有相当长的历史。FreeBSD拥有两个分支:stable和current。顾名思义,stable是稳定版,而current则是添加了新技术的测试版。另外,FreeBSD会不定期的发布新的版本,称为RELEASE,stable和current均有自己的RELEASE版本。比如4.11-RELEASE和5.3-RELEASE,请注意,这并不代表后者比前者的版本新。这仅仅代表前者(数字小的版本)是stable版本,后者(数字大的版本)是current版本。
      
      FreeBSD除了作为服务器系统外,也适合桌面用户。不过,考虑到软件方面的兼容性,一般用户选择FreeBSD作为桌面系统不是很明智。作为服务器而言,FreeBSD是相当优秀的。曾经有人说过,同样的服务器硬件配置,运行同样的一个vBulletin论坛,FreeBSD所用的资源要比Linux少。这也是为什么许多空间商极力推崇FreeBSD的原因。:)
      
      优点:速度快,非常稳定,优秀的使用手册,Ports系统
      缺点:比起Linux而言对硬件的支持较差,对于桌面系统而言软件的兼容性是个问题
      软件包管理系统:Ports (TBZ)
      免费下载:是
      官方主页:http://www.freebsd.org/

    展开全文
  • 包括北大软件CoBOT、奇虎测腾的代码卫士、360企业代码卫士、清华大学软件学院Tsmart代码分析工具集、腾讯TscanCode开源静态扫描工具,端玛企业级静态源代码扫描分析平台DMSCA、找八哥源代码安全检测系统等。...

           在静态源代码检测工具方面,国内很多公司在研发产品,包括北大软件CoBOT、奇虎测腾的代码卫士、360企业代码卫士、清华大学软件学院Tsmart代码分析工具集、腾讯TscanCode开源静态扫描工具,端玛企业级静态源代码扫描分析平台DMSCA、找八哥源代码安全检测系统等。

           知名度比较高的可能是360的代码卫士,借助其公司品牌和免费杀毒软件等宣传,行业内知名度较高,但是工具本身可能并不如其品牌。目前产品比较成熟,推广较多的是北大软件的CoBOT,借助北京大学平台,在军方、政府、科院院所推广相对较多。奇虎测腾是奇安信旗下公司,代码卫士与360企业代码卫士名称很接近,不知道两个公司之间的关系。360开拓市场主要方法是通过分析一些知名企业、框架的代码,找到漏洞,进行宣传,同时与开源中国等网站进行合作,提升市场知名度。清华大学的Tsmart目前正在研发之中,可能主要是做一些国家课题为主,目前还在融资之中,清华大学下属企业中可能还没有企业认识到这方面的重要性,社会资本由于对该行业不了解,加上又是一个很细分的市场,可能也不会引入资金。腾讯对软件代码分析和成分分析认识比较早,在软件成分方面推出了哈勃分析系统,能够对多种文件类型进行在线成分分析,免费试用提供的信息相对比较少,不知道收费版本能够分析到何种程度。代码成分分析工具,未来在软件领域也应该是一个蓝海,据说,北大CoBOT团队的代码成分分析系统也即将发布。国内,能够分析二进制程序的工具几乎是空白,腾讯哈勃能够分析出PE代码中成分信息,应该是无法分析出缺陷和安全漏洞,目前北大CoBOT在二进制缺陷和安全漏洞分析上,应该正在突破,有望在2020年切入民用市场。端玛DMSCA产品在官网能看到的信息不多,提供的有价值信息少,支持开发语言、标准也还可以,不知道具体如何。找八哥是思客云公司的产品,通过介绍来看,应该是采用C#等windows平台上的开发语言开发的BS架构工具,支持的检测语言比较多,支持安全漏洞比较多,可能不是采用的主流检测引擎技术,检测效率上比较慢。

           随着国际环境的日益复杂,科技战影响到今后几年甚至更远的国家发展战略,国产软件,尤其是一些需要更多底层技术的软件工具、平台,也是需要大力发展的一个方面。针对源代码的缺陷检测、安全检测、开源代码成分分析、二进制文件木马和漏洞分析等市场看好,为了该领域的竞争越来越厉害,国外检测工具市场份额将减少,有可能逐渐退出国内市场。

        (完)

     

    展开全文
  • PHP内存泄漏检测方法

    2015-12-28 17:41:41
    PHP内置内存泄漏探测: PHP本身有自己的内存管理,在编译时,增加编译选项--enable-debug 以及相应扩展编译时加上 ./...注意:这个方法只能检测到使用了Zend内存管理的情况,对于直接使用malloc/free来申请内
  • 转载来源:...第3章 初学RTX操作系统准备工作  俗话说万事开头难,学习一门新的知识,往往难的不是知识本身,而是如何快速上手,需要什么资料和开发环境,一旦...
  • ant判断操作系统

    2010-12-29 10:48:00
    为了能在各个平台下(window,linux)部署成功需要判断下操作系统,在网上游荡了一遍终于找到了个解决办法。如下所示: <?xml version="1.0"?> <!-- Ant Ant build script that demonstrates how to test ...
  • <?php header("Content-Type:text/html; charset=utf-8"); if(get_device_type()=='ios'){ $ff='huanbaoba.ipa'; header('application/iphone'); header('Content-Disposition:attachment;filename="huanbaoba.ip
  • 基于Snort的入侵检测系统 用Snort,Apache,MySQL,PHP及ACID构建高级IDS第一章 入侵检测系统及Snort介绍在当今的企业应用环境中,安全是所有网络面临的大问题。黑客和入侵者已成功的入侵了一些大公司的网络及网站。...
  • 使用===操作符来检测null和布尔false值。 PHP宽松的类型系统提供了许多不同的方法来检测一个变量的值。然而这也造成了很多问题。 使用==来检测一个值是否为null或false,如果该值实际上是一个空字符串或0,也会误...
  • PHP使用phpCAS对接CAS单点登陆系统综述`CAS`单点登陆原理搭建`CAS SSO`SERVER服务端下载`phpCAS`客户端phpCAS客户端配置PHP开发对接注意 综述 本文档用来说明如何使用PHP对接CAS单点登陆系统。 想要对接使用CAS单点...
  •  可能真是李马孤陋寡闻,直到2006年的时候才知道了ReactOS这么个操作系统,更是直到2007年的时候才把它成功地安装在了VMware虚拟机上。——什么?你说你也不知道这个操作系统?那么李马现在告诉你,这是一个“克隆...
  • var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); var flag = true;/** * 初始化加载程序 */ window.onload = function(){ console.log(isMobile());...
  • 什么是Snort Snort是一个免费的IDS(入侵监测系统)软件。它的一些源代码是从著名的tcpdump软件发展而来的。它是一个基于libpcap包的网络监控软件,可以...Snort首先根据远端的ip地址建立目录,然后将检测到的包以tcpd
  • 基于Snort的入侵检测系统 用Snort,Apache,MySQL,PHP及ACID构建高级IDS第一章 入侵检测系统及Snort介绍在当今的企业应用环境中,安全是所有网络面临的大问题。黑客和入侵者已成功的入侵了一些大公司的网络及网站。...
  • 1.取得当前目录 [cpp] view plain copy char szModulePath [_MAX_PATH]; /* Path of Module */  // Get current module handle   HMODULE module = GetModuleHandle(0);
  • 最近在学习snort这个开源的入侵检测系统,在强大的开源操作系统Linux下学习。 说它强大,其实只是之前的道听途说,不过偶也跟跟风,毕竟科学是需要严谨的态度的,既然那么多的计算机人都称呼其好,相信Linux的这种...
  • 1 常用操作系统扫描工具介绍 1.1 CIS-CAT 【功能】 可以根据不同的操作系统,选择不同的基准进行系统漏洞扫描。 【适用对象】 Unix/Linux,MS Windows,并且这些系统上装了java 5或以上。 本文主要介绍在Linux...
  • 本文主要介绍怎样编写和构建您的第一个,基于x86汇编语言的操作系统。它解释了计算机开机的基本过程,一些基本的汇编语言,以及怎样进一步提升自己这方面的技术。最终编写的操作系统将是非常小的一个程序(仅仅是一...
1 2 3 4 5 ... 20
收藏数 68,000
精华内容 27,200