GNU計(jì)劃之GNUstep

本文源自本人的學(xué)習(xí)記錄整理與理解,其中參考閱讀了部分優(yōu)秀的博客和書籍,盡量以通俗簡單的語句轉(zhuǎn)述。引用到的地方如有遺漏或未能一一列舉原文出處還望見諒與指出,另文章內(nèi)容如有不妥之處還望指教,萬分感謝。

GNU是什么 ?

先看看官方解釋

GNU是一個(gè)自由軟件操作系統(tǒng)—就是說,它尊重其使用者的自由。GNU操作系統(tǒng)包括GNU軟件包(專門由GNU工程發(fā)布的程序)和由第三方發(fā)布的自由軟件。GNU的開發(fā)使你能夠使用電腦而無需安裝可能會侵害你自由的軟件。

從官方解釋可以看出,GNU是一個(gè)操作系統(tǒng),它由GNU軟件包和第三方自由軟件構(gòu)成。理查德 · 斯托曼 在 1983年發(fā)起GNU計(jì)劃,其目標(biāo)是建立完全自由的操作系統(tǒng)GNU,取代Unix。在1985年創(chuàng)建自由軟件基金會(FSF)。在1989年發(fā)布GPL許可協(xié)議保護(hù)和傳播由FSF發(fā)布的自由軟件。眾所周知,一個(gè)完整的通用操作系統(tǒng)至少需要內(nèi)核、編譯套件和sHeLL。它最初的內(nèi)核組件Hurd的開發(fā)工作開始于1990年,Hurd是以卡內(nèi)基梅隆大學(xué) 的微內(nèi)核Mach 3.0為的基礎(chǔ)的重要內(nèi)核組件,目的是在GNU系統(tǒng)中取代非自由的Unix內(nèi)核部分。Hurd的目標(biāo)是從功能、安全性和穩(wěn)定性上全面超越傳統(tǒng) Unix 內(nèi)核。由于目標(biāo)過于遠(yuǎn)大,該項(xiàng)目目前(9012年)仍處于開發(fā)測試階段,問題很多、無法穩(wěn)定運(yùn)行。斯托曼評價(jià)該項(xiàng)目說由于早期設(shè)計(jì)的太過于復(fù)雜,內(nèi)部通信及其繁瑣,開發(fā)和調(diào)試麻煩的很,而且參與該項(xiàng)目的人太少,導(dǎo)致項(xiàng)目進(jìn)展緩慢。1991年10月,林納斯·托瓦茲發(fā)布了他的玩具內(nèi)核源代碼(Freeminix-like kernel sources for 386-AT)。這是他在學(xué)習(xí)Minix操作系統(tǒng)源碼的過程中耗時(shí)六個(gè)月寫出來的POSIX不完整兼容的內(nèi)核,將GNU的基礎(chǔ)軟件Gcc和Bash成功的移植到了上面。這之后大量用戶參與開發(fā),并在1994年使用GPL協(xié)議發(fā)布了Linux 1.0內(nèi)核???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.

運(yùn)行于Bochs中的 Linux0.12.jpg

從此,GNU計(jì)劃和Linux天衣無縫的、互相彌補(bǔ)的就結(jié)合在了一起,成為了完全自由并且完整的操作系統(tǒng)——GNU/Linux。RedHat等以GNU/Linux作為產(chǎn)業(yè)的大廠隨即出現(xiàn),大力發(fā)展了GNU/Linux,使其變得越來越實(shí)用,逐漸取代了Unix操作系統(tǒng)的位置。

GNUstep

  • GNUstep 提供 GNUstep Make 來簡化編譯 Objective-C 程序· GNUstep Make 提供類似 Makefile 的功能, 稱為 GNUmakefile. 與 Makefile 相比比, GNUmakefile 簡單許多·

簡單來說, GNUstep 是實(shí)作 OpenStep 界面的開放軟體 (Open Source) 計(jì)劃, 目標(biāo)為提供跨平臺的物件導(dǎo)向程式開發(fā)環(huán)境。

綜合上述, GNUstep 實(shí)作 OpenStep 介面, 該介面已在商業(yè)市場上使用多年, 目前并演進(jìn)成 MacOS X 的 Cocoa 環(huán)境. GNUstep 包含四個(gè)主要部份, 統(tǒng)稱為核心 (Core):

那么重點(diǎn)來了,對于IOS開發(fā)中使用Objective-C語言的開發(fā)者來說:

  • GNUstep將Cocoa的OC庫重新開源實(shí)現(xiàn)了一遍
  • 雖然GNUstep不是蘋果官方源碼,但還是具有一定的參考價(jià)值 !!
  • 由于Cocoa 框架中有很多代碼實(shí)現(xiàn)是不開源的,開發(fā)者如果想了解底層實(shí)現(xiàn)沒有很好的辦法,現(xiàn)在GNUstep就可以輔助開發(fā)者了解其實(shí)現(xiàn)原理。

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

下載方法@2x.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 相信很多人看到了這個(gè)標(biāo)題就會產(chǎn)生疑問,這篇文章到底要講什么東西?在回答這個(gè)問題之前,我先提出幾個(gè)問題? 什么是li...
    浩杰ee閱讀 1,764評論 0 6
  • 姓名:楊誼 學(xué)號:16130120200 【嵌牛導(dǎo)讀】 GNU就是GNU's Not Unix的縮寫。目前的l...
    luckyoungo_o閱讀 1,457評論 0 2
  • Unix起源 Linux 的源頭要追溯到最古老的UNIX。1969年,Bell實(shí)驗(yàn)室的Ken Thompson開始...
    平謙閱讀 4,204評論 0 2
  • GNU 是“GNU's Not Unix !”(GNU并非Unix !)的首字母遞歸縮寫;它是g發(fā)音的單音節(jié)字,就...
    小哥_xiaoge閱讀 526評論 0 0
  • 本文只梳理大致的脈絡(luò),不做詳盡的敘述。 一、計(jì)算機(jī)的發(fā)明 世上本無路,走的人多了,就有了路。世上本無計(jì)算機(jī),琢磨的...
    劉軍民閱讀 14,560評論 28 121

友情鏈接更多精彩內(nèi)容