GNU计划之GNUstep

本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗漏或未能一一列举原文出处还望见谅与指出,另文章内容如有不妥之处还望指教,万分感谢。

GNU是什么 ?

先看看官方解释

GNU是一个自由软件操作系统—就是说,它尊重其使用者的自由。GNU操作系统包括GNU软件包(专门由GNU工程发布的程序)和由第三方发布的自由软件。GNU的开发使你能够使用电脑而无需安装可能会侵害你自由的软件。

从官方解释可以看出,GNU是一个操作系统,它由GNU软件包和第三方自由软件构成。理查德 · 斯托曼 在 1983年发起GNU计划,其目标是建立完全自由的操作系统GNU,取代Unix。在1985年创建自由软件基金会(FSF)。在1989年发布GPL许可协议保护和传播由FSF发布的自由软件。众所周知,一个完整的通用操作系统至少需要内核、编译套件和sHeLL。它最初的内核组件Hurd的开发工作开始于1990年,Hurd是以卡内基梅隆大学 的微内核Mach 3.0为的基础的重要内核组件,目的是在GNU系统中取代非自由的Unix内核部分。Hurd的目标是从功能、安全性和稳定性上全面超越传统 Unix 内核。由于目标过于远大,该项目目前(9012年)仍处于开发测试阶段,问题很多、无法稳定运行。斯托曼评价该项目说由于早期设计的太过于复杂,内部通信及其繁琐,开发和调试麻烦的很,而且参与该项目的人太少,导致项目进展缓慢。1991年10月,林纳斯·托瓦兹发布了他的玩具内核源代码(Freeminix-like kernel sources for 386-AT)。这是他在学习Minix操作系统源码的过程中耗时六个月写出来的POSIX不完整兼容的内核,将GNU的基础软件Gcc和Bash成功的移植到了上面。这之后大量用户参与开发,并在1994年使用GPL协议发布了Linux 1.0内核。看 Linux 的官方解释

Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance.

运行于Bochs中的 Linux0.12.jpg

从此,GNU计划和Linux天衣无缝的、互相弥补的就结合在了一起,成为了完全自由并且完整的操作系统——GNU/Linux。RedHat等以GNU/Linux作为产业的大厂随即出现,大力发展了GNU/Linux,使其变得越来越实用,逐渐取代了Unix操作系统的位置。

GNUstep

  • GNUstep 提供 GNUstep Make 来简化编译 Objective-C 程序· GNUstep Make 提供类似 Makefile 的功能, 称为 GNUmakefile. 与 Makefile 相比比, GNUmakefile 简单许多·

简单来说, GNUstep 是实作 OpenStep 界面的开放软体 (Open Source) 计划, 目标为提供跨平台的物件导向程式开发环境

综合上述, GNUstep 实作 OpenStep 介面, 该介面已在商业市场上使用多年, 目前并演进成 MacOS X 的 Cocoa 环境. GNUstep 包含四个主要部份, 统称为核心 (Core):

那么重点来了,对于IOS开发中使用Objective-C语言的开发者来说:

  • GNUstep将Cocoa的OC库重新开源实现了一遍
  • 虽然GNUstep不是苹果官方源码,但还是具有一定的参考价值 !!
  • 由于Cocoa 框架中有很多代码实现是不开源的,开发者如果想了解底层实现没有很好的办法,现在GNUstep就可以辅助开发者了解其实现原理

源码地址:http://www.gnustep.org/resources/downloads.php

下载方法@2x.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 相信很多人看到了这个标题就会产生疑问,这篇文章到底要讲什么东西?在回答这个问题之前,我先提出几个问题? 什么是li...
    浩杰ee阅读 1,710评论 0 6
  • 姓名:杨谊 学号:16130120200 【嵌牛导读】 GNU就是GNU's Not Unix的缩写。目前的l...
    luckyoungo_o阅读 1,233评论 0 2
  • Unix起源 Linux 的源头要追溯到最古老的UNIX。1969年,Bell实验室的Ken Thompson开始...
    平谦阅读 3,741评论 0 2
  • GNU 是“GNU's Not Unix !”(GNU并非Unix !)的首字母递归缩写;它是g发音的单音节字,就...
    小哥_xiaoge阅读 452评论 0 0
  • 本文只梳理大致的脉络,不做详尽的叙述。 一、计算机的发明 世上本无路,走的人多了,就有了路。世上本无计算机,琢磨的...
    刘军民阅读 14,109评论 28 121