• 如果你想判断当前的系统类型,那么可以使用 PHP_OS 常量。例如如下代码:<?php echo PHP_OS;输出: WINNT那么我们可以这样:define('IS_WIN',strstr(PHP_OS, 'WIN') ? 1 : 0 );//(在tp3.2中看到就顺便拿上来了)定义...

    如果你想判断当前的系统类型,那么可以使用 PHP_OS 常量。

    例如如下代码:

    <?php
    
        echo PHP_OS;

    输出:
    WINNT

    那么我们可以这样:

    define('IS_WIN',strstr(PHP_OS, 'WIN') ? 1 : 0 );//(在tp3.2中看到就顺便拿上来了)

    定义一个常量IS_WIN,来判断系统类型,这样我们就可以方便了很多。

    strstr(PHP_OS, 'WIN') ? 1 : 0

    使用strstr函数查找PHP_OS常量里面是否存在win,如果存在那么IS_WIN的值就为1,不存在就为0(在这里我们使用了三目运算符)

    这样我们在接下来的代码里就可以使用 IS_WIN 来判断系统了。

    展开全文
  • 如今上网的渠道是越来越多了,不再局限于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获取客户端浏览器以及操作系统信息是通过客户端浏览器传递过来的useragent信息进行判定的,因为客户端useragent信息可以伪造,所以通过PHP获取到的浏览器以及操作系统信息只能作为参考,如下代码还有待丰富的地方...

    PHP获取客户端浏览器以及操作系统信息是通过客户端浏览器传递过来的useragent信息进行判定的,因为客户端useragent信息可以伪造,所以通过PHP获取到的浏览器以及操作系统信息只能作为参考,如下代码还有待丰富的地方。

    PHP中可以直接通过读取超全局数组$_SERVER['HTTP_USER_AGENT']进行正则匹配即可获取到相应的浏览和操作系统信息。说白了,就是对php的pcre兼容的正则表达式的理解。

    一、获取客户端浏览器信息,包括版本号

        /**
         * 获取客户端浏览器信息 添加win10 edge浏览器判断
         * @param  null
         * @author  Jea杨
         * @return string 
         */
        function get_broswer(){
        	 $sys = $_SERVER['HTTP_USER_AGENT'];  //获取用户代理字符串
             if (stripos($sys, "Firefox/") > 0) {
                 preg_match("/Firefox\/([^;)]+)+/i", $sys, $b);
                 $exp[0] = "Firefox";
                 $exp[1] = $b[1];  //获取火狐浏览器的版本号
             } elseif (stripos($sys, "Maxthon") > 0) {
                 preg_match("/Maxthon\/([\d\.]+)/", $sys, $aoyou);
                 $exp[0] = "傲游";
                 $exp[1] = $aoyou[1];
             } elseif (stripos($sys, "MSIE") > 0) {
                 preg_match("/MSIE\s+([^;)]+)+/i", $sys, $ie);
                 $exp[0] = "IE";
                 $exp[1] = $ie[1];  //获取IE的版本号
             } elseif (stripos($sys, "OPR") > 0) {
        		     preg_match("/OPR\/([\d\.]+)/", $sys, $opera);
                 $exp[0] = "Opera";
                 $exp[1] = $opera[1];  
             } elseif(stripos($sys, "Edge") > 0) {
                 //win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配
                 preg_match("/Edge\/([\d\.]+)/", $sys, $Edge);
                 $exp[0] = "Edge";
                 $exp[1] = $Edge[1];
             } elseif (stripos($sys, "Chrome") > 0) {
        		     preg_match("/Chrome\/([\d\.]+)/", $sys, $google);
                 $exp[0] = "Chrome";
                 $exp[1] = $google[1];  //获取google chrome的版本号
             } elseif(stripos($sys,'rv:')>0 && stripos($sys,'Gecko')>0){
                 preg_match("/rv:([\d\.]+)/", $sys, $IE);
        		     $exp[0] = "IE";
                 $exp[1] = $IE[1];
             }else {
        		$exp[0] = "未知浏览器";
                $exp[1] = ""; 
        	 }
             return $exp[0].'('.$exp[1].')';
        }

    二、获取客户端操作系统信息,包括粗略的版本信息

        /**
         * 获取客户端操作系统信息包括win10
         * @param  null
         * @author  Jea杨
         * @return string 
         */
        function get_os(){
        $agent = $_SERVER['HTTP_USER_AGENT'];
            $os = false;
         
            if (preg_match('/win/i', $agent) && strpos($agent, '95'))
            {
              $os = 'Windows 95';
            }
            else if (preg_match('/win 9x/i', $agent) && strpos($agent, '4.90'))
            {
              $os = 'Windows ME';
            }
            else if (preg_match('/win/i', $agent) && preg_match('/98/i', $agent))
            {
              $os = 'Windows 98';
            }
            else if (preg_match('/win/i', $agent) && preg_match('/nt 6.0/i', $agent))
            {
              $os = 'Windows Vista';
            }
            else if (preg_match('/win/i', $agent) && preg_match('/nt 6.1/i', $agent))
            {
              $os = 'Windows 7';
            }
        	  else if (preg_match('/win/i', $agent) && preg_match('/nt 6.2/i', $agent))
            {
              $os = 'Windows 8';
            }else if(preg_match('/win/i', $agent) && preg_match('/nt 10.0/i', $agent))
            {
              $os = 'Windows 10';#添加win10判断
            }else if (preg_match('/win/i', $agent) && preg_match('/nt 5.1/i', $agent))
            {
              $os = 'Windows XP';
            }
            else if (preg_match('/win/i', $agent) && preg_match('/nt 5/i', $agent))
            {
              $os = 'Windows 2000';
            }
            else if (preg_match('/win/i', $agent) && preg_match('/nt/i', $agent))
            {
              $os = 'Windows NT';
            }
            else if (preg_match('/win/i', $agent) && preg_match('/32/i', $agent))
            {
              $os = 'Windows 32';
            }
            else if (preg_match('/linux/i', $agent))
            {
              $os = 'Linux';
            }
            else if (preg_match('/unix/i', $agent))
            {
              $os = 'Unix';
            }
            else if (preg_match('/sun/i', $agent) && preg_match('/os/i', $agent))
            {
              $os = 'SunOS';
            }
            else if (preg_match('/ibm/i', $agent) && preg_match('/os/i', $agent))
            {
              $os = 'IBM OS/2';
            }
            else if (preg_match('/Mac/i', $agent) && preg_match('/PC/i', $agent))
            {
              $os = 'Macintosh';
            }
            else if (preg_match('/PowerPC/i', $agent))
            {
              $os = 'PowerPC';
            }
            else if (preg_match('/AIX/i', $agent))
            {
              $os = 'AIX';
            }
            else if (preg_match('/HPUX/i', $agent))
            {
              $os = 'HPUX';
            }
            else if (preg_match('/NetBSD/i', $agent))
            {
              $os = 'NetBSD';
            }
            else if (preg_match('/BSD/i', $agent))
            {
              $os = 'BSD';
            }
            else if (preg_match('/OSF1/i', $agent))
            {
              $os = 'OSF1';
            }
            else if (preg_match('/IRIX/i', $agent))
            {
              $os = 'IRIX';
            }
            else if (preg_match('/FreeBSD/i', $agent))
            {
              $os = 'FreeBSD';
            }
            else if (preg_match('/teleport/i', $agent))
            {
              $os = 'teleport';
            }
            else if (preg_match('/flashget/i', $agent))
            {
              $os = 'flashget';
            }
            else if (preg_match('/webzip/i', $agent))
            {
              $os = 'webzip';
            }
            else if (preg_match('/offline/i', $agent))
            {
              $os = 'offline';
            }
            else
            {
              $os = '未知操作系统';
            }
            return $os;  
        }
    原文地址:《最新PHP获取客户端浏览以及操作系统信息

    展开全文
  • 银河麒麟操作系统

    2019-10-29 20:14:13
    银河麒麟操作系统支持以x86、x86_64、PowerPC、SPARC为代表的国际主流CPU和以飞腾为代表的国产CPU,并已经广泛应用于国防、军工、政务、电力、航天、金融、电信、教育、大中型企业等行业或领...

    1. 简介

    银河麒麟操作系统与优麒麟操作系统一样,是由天津麒麟信息技术有限公司开发和维护的两款操作系统,二者均可从优麒麟网站(http://www.ubuntukylin.com)免费下载安装。银河麒麟操作系统支持以x86、x86_64、PowerPC、SPARC为代表的国际主流CPU和以飞腾为代表的国产CPU,并已经广泛应用于国防、军工、政务、电力、航天、金融、电信、教育、大中型企业等行业或领域。

    银河麒麟操作系统支持 QtCreator、Eclipse等集成开发环境;支持C/C++、Java、Python、Perl、PHP、Tcl/Tk、Shell、go等编程语言;支持Oracle、DB2、MariaDB、MySQL等国际主流数据库,以及达梦、金仓、神通、南大通用、上容等国产数据库;支持Java EE、Weblogic、WebSphere、Tuxedo、JBOSS、Tomcat国际主流中间件,以及东方通、中创、金蝶等国产中间件。

    2. 产品系列

    银河麒麟操作系统支持台式机、服务器、笔记本、集群、超级计算机等。图1是一台“银河麒麟操作系统+银河飞腾CPU”的笔记本电脑,它的下方是“银河麒麟操作系统+银河飞腾CPU”的服务器。 在笔记本电脑中,打开了QtCreator、Eclipse两个集成开发环境。银河麒麟操作系统支持x86机器,用户可以方便地从优麒麟网站免费下载安装。

    图1 “银河麒麟操作系统+银河飞腾CPU”的笔记本电脑和服务器

    3. 桌面环境

    3.1 “开始”菜单

    银河麒麟操作系统的桌面环境如图2所示,其风格与Windows非常类似。

    图2  银河麒麟操作系统的桌面

    左下角为“开始”按钮,点开后如图3所示。“常用软件”是用户最近使用的软件,“所有软件”如图4所示,“控制面板”如图5所示。

    图3  “开始”菜单

    图4列出了银河麒麟操作系统默认安装的所有软件,用户还可以从软件中心下载安装其他软件,或自行安装所需软件。

    图4  所有软件

    图5列出了控制面板的功能。

    图5  控制面板

     

    3.2 Firefox网页浏览器

    图6为使用Firefox网页浏览器访问天津麒麟信息技术有限公司的界面。

    图6  Firefox网页浏览器

    3.3 文件浏览器

    图7是使用文件浏览器访问用户HOME目录的示意图。从图中可以看到,文件浏览器与Windows下的资源管理器非常相像。图中的RTI-1.3NGv6-20180514-release-kylin-ftsp2.tar.gz表示“银河麒麟操作系统+银河飞腾CPU”的KY-RTI软件,RTI-1.3NGv6-20180515-release-Linux-x86_64.tar.gz表示“银河麒麟操作系统+x86_64 CPU”的KY-RTI软件。RTI-1.3NGv6作为解压之后的目录,可广泛应用于HLA/RTI仿真项目。

    图7  文件浏览器

    3.4 右下角按钮

    图8列出了右下角各个按钮的功能。

    图8  右下角按钮功能

     

    4. WPS办公桌面环境

    银河麒麟操作系统缺省配置了WPS办公软件,包括:WPS文字、WPS演示、WPS表格,支持搜狗拼音输入法。

    图9  WPS办公软件

    4.1 WPS文字

    “WPS文字”兼容Windows操作系统下的Microsoft Office Word,图10是该软件打开一个.docx文件的示意图。

    图10  WPS文字

     

    图11是该软件能打开的文件类型。

    图11  “WPS文字”的文件类型

    4.2 WPS演示

    “WPS演示”兼容Windows操作系统下的Microsoft Office PowerPoint。

     

    图12  WPS演示

     

    4.3 WPS表格

    “WPS表格”兼容Windows操作系统下的Microsoft Office Excel。

    图13  WPS表格

     

    5. HLA/RTI仿真软件KY-RTI

    麒麟HLA/RTI软件“KY-RTI”遵循DMSO HLA1.3标准,是在早期RTI-1.3NGv6基础上研发的适用于最新操作系统和CPU架构的新一代HLA/RTI软件。KY-RTI的目录结构、include头文件、lib库文件与早期的RTI-1.3NGv6保持一致,极大地方便了用户将早期的仿真应用移植到新一代机器上,也方便用户开发最新的仿真应用。因此,KY-RTI的根目录名仍然按照传统习惯称之为RTI-1.3NGv6,但与早期的版本相比,具有本质的不同。

     

    KY-RTI支持C++, Qt, Java, VC++, VC#等程序设计语言,与早期的RTI相比,KY-RTI具有更高的性能和更好的稳定性。

    图14  KY-RTI目录结构

    麒麟KY-RTI分布仿真技术:前 言

    麒麟KY-RTI分布仿真技术:第一章 简介

    麒麟KY-RTI分布仿真技术:第二章 系统安装

    麒麟KY-RTI分布仿真技术:第三章 KY-OMT对象模型模板工具

    麒麟KY-RTI分布仿真技术:第四章 C++程序设计

    麒麟KY-RTI分布仿真技术:第五章 Qt程序设计

    麒麟KY-RTI分布仿真技术:第六章 Java程序设计

    麒麟KY-RTI分布仿真技术:第七章 Visual C++程序设计

    麒麟KY-RTI分布仿真技术:第八章 Visual C#程序设计

    麒麟KY-RTI分布仿真技术:第九章 综合演示

    麒麟KY-RTI分布仿真技术:附录1 分组聊天(HLA数据分发管理的应用

    麒麟KY-RTI分布仿真技术:附录2 大联邦(构建1000个成员的HLA/RTI仿真系统)

    麒麟KY-RTI分布仿真技术:附录3 国产化(操作系统+CPUs)

     

     

    展开全文
  • 前言 操作系统是物联网时代的战略制高点,今天 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 之外,还有许许多多的系统,有机会再慢慢介绍咯……

    展开全文
  • AI即人工智能的又一波浪潮来了。机器学习,深度学习,神经网络,语音识别,图像识别.........其中很重要的一点就是我们拥有了计算机操作系统,从DOS到Windows,从各种Unix到各种Linux,从Symbian...
  • windows, macOS,linux是当今主流三大操作系统,普通用户一般是选择windows或macOS, linux主要是占据服务器领域市场。这三个操作系统给人的感觉是:windows经济适用,档次较低; macOS高端大气上档次; Linux是极客专用...
  • <?php header("Content-type: text/html; charset=utf-8"); error_reporting(0);//关闭所有的错误信息,不会显示,如果清除掉,会将错误的日志写入到log中 ini_set('log_errors','on'); //开启外部保存的错误...
  • 随着计算机技术的发展,技术越来越先进了,具有强劲3D运算的显示卡和大容量低价内存的到来,要进入第三代操作系统开发了。 以DOS和unix命令行的操作系统为代表的第一代操作系统,以Windows和X Windows等为代表的第...
  • 操作系统是业务运营依赖的基础,用户构建基础架构时,需要依赖它的可靠性和安全性;在云业务、虚拟机、物理硬件中部署应用程序时,需要让应用程序易于管理和控制;在运行应用程序时,希望实现高性能;同时要能够维护...
  • 前言最近在学习PHP和Mysql,就一边看书,一边敲着代码尝试完成一个简易用户管理系统,只是实现了一些很简单的操作,虽然有点low(自动屏蔽大牛哈哈),但觉得还是总结一下吧,可以加深下印象,里面有加了一些自己的...
  • 但是,华人制作的操作系统就只有这么几个商业化的或者科研计划的操作系统么?其实远不是这样。在民间,已经有大量的操作系统人才在积蓄着自己的力量,已经有优秀的作品发布了出来,这里面既包括了
  • 目录 1 UNIX 由来 2 Linux 由来 3 Windows与Linux的主要区别 ...首先,不管是Windows操作系统、Linux系统还是苹果的Mac OS操作系统,甚至包括操作系统的鼻祖UNIX操作系统,最早都是用C语言编写的。 UNIX 诞生...
  • Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核。内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如文件管理、虚拟内存、设备I/O等。    既然Linux只是一个内核...
  • 比如说一个教师登录后台对学生成绩的增删改都要记录下来是哪个教师什么时间对哪个学生执行了什么操作,求大神指点一下思路,和数据库表的搭建,谢谢
  • 也许很多朋友对国产操作系统仍然不了解,觉得国产操作系统缺乏可用软件,根本无法满足工作生活的基本需求,其实不然。近年来,在开发者的努力下,已经有越来越多的常用软件能够在国产操作系统上使用,至于一些...
  • 如今,各大电商热衷于造节,电商节越来越多,没有一款成熟且强大的多店铺网上商城系统作为后盾支持,你该如何应对如排山倒海而来的抢购订单?...下面,小编通过当下市场主打的三款多用户商城系统Shopex、商淘B2B2...
  • 1、采用PHP与Mysql数据库,完成用户注册程序,注册表单项可自由指定,尽量包含所有表单... 2、采用PHP与Mysql数据库,完成用户登录功能。 步骤如下: (1)数据库设计: users.sql: set default_storage_engin
  • PHP利用UA头获取手机平台及系统版本号。
  • php图书借阅管理系统,支持图书借阅,还书,图书预约,图书信息管理系统主要实现对图书信息进行分类、分类统计管理,并对图书的基本信息进行管理,以便用户可以快速找到需要的资源。在本系统中,用户可以添加、修改...
1 2 3 4 5 ... 20
收藏数 241,332
精华内容 96,532