Gnu/Linux的發展史研究

来源:http://www.cnblogs.com/bfdtk/archive/2016/04/21/5406476.html
-Advertisement-
Play Games

1.Gnu/Linux是一個基於POSIX和UNIX的多用戶多任務 支持多線程多CPU的類UNIX的操作系統. 繼承了UNIX以網路為核心的設計思想 是性能穩定的多用戶網路操作系統. 1991年10月5日Linus Torvalds在usenet的comp.os.minix新聞組中發佈了第一個Lin ...


1.Gnu/Linux是一個基於POSIX和UNIX的多用戶多任務 支持多線程多CPU的類UNIX的操作系統. 繼承了UNIX以網路為核心的設計思想 是性能穩定的多用戶網路操作系統.

   1991年10月5日Linus Torvalds在usenet的comp.os.minix新聞組中發佈了第一個Linux的公告宣佈誕生.

基本思想:1.一切都是文件   2.每個軟體都有確定的用途

2.桌面環境

   GNOME:與傳統UI分道揚鑣之後構建了更加現代化的桌面外觀Gnome Shell 以簡潔著稱

   KED:用於UNIX和Linux工作站的網路透明的現代化桌面環境

   UNITY:運行在Gnome桌面環境上並使用Gnome應用程式的所有內核

   LXDE:自由桌面環境 可在UNIX上以及POSIX等相容平臺運行

   XFCE:是一個在UNIX和UNIX-like操作系統上上運行的桌面環境

   MATE:是許多大眾發行版的預設桌面環境

   Cinnamon:

   Deepin:

   Budgie Desktop:

備註:

   *UNIX操作系統:

                      特性:多用戶多任務的分時操作系統 支持多種處理器架構.

                             UNIX系統結構分為操作系統內核 系統調用(供程式開發者開發應用程式時調用系統組件) 應用程式(所有應用程式都在Shell的管理和控制下為用戶服務)

                             大部分是由C語言編寫的這使得系統易讀易修改易移植

                             提供了功能強大的可編程的Shell語言作為用戶界面具有簡潔高效的特點

                             採用樹狀目錄結構具有良好的安全性保密性和可維護性

                             採用進程對換的記憶體管理機制和請求調頁的存儲方式實現了虛擬記憶體管理大大提高了記憶體的使用效率

                             提供多種通信機制如:管道通信 軟中斷通信 消息通信 共用存儲器通信 信號燈通信

                       UNIX-like操作系統:

                                                AIX(Advanced Interactive eXecutive):IBM開發的UNIX操作系統

                                                Solaris:SUN公司研製的類UNIX操作系統

                                                HP-Ux:惠普公司以System V為基礎研發的類UNIX操作系統

                                                IRIX:矽谷圖形公司以System V與BSD延伸程式為基礎發展成的UNIX操作系統

                                                Xenix:

                                                A/UX:(Apple UNIX)蘋果公司開發的UNIX操作系統

   *MINIX操作系統:基於微內核架構的類UNIX操作系統

                        Minix最有名的學生用戶是Linus Torvalds 並以Minix為樣本開發了原始的Linux內核

                        設計哲學上Minix採用了為內核的原則而Linux和UNIX都採用紅內核的概念

   *GNU計劃:

              由Richard Stallman於1983年9月27公開發起.1985年創立自由軟體基金會

              目標是創建一套完全自由的操作系統GNU

              GNU核心精神:自由與分享

              GNU(GNU's Not Unix)通用公共許可證(GNU General Public License)縮寫為GPL

  *POSIX:可移植操作系統介面   POSIX標准定義操作系統應為應用程式提供的介面標準是IEEE為各種在UNIX上運行的軟體定義的一系列API標準的總稱 正式稱呼為IEEE 1003 國際標準名稱為ISO/IEC 9945.

3.演化進程梳理

 

4.Linux下的目錄結構

   1./bin二進位可執行命令   目錄包含了引導啟動所需的命令或普通用戶所需的命令  放置系統必備的執行文件

   2./boot 目錄存放引導載入器(bootstrap loader)使用的文件  如果有許多核心映像目錄會變得很大此時最好使用單獨的文件系統  確保核心映像必須在硬碟ide的前1024柱面內

   3./dev設備特殊文件   目錄存放設備文件即設備驅動程式

      /dev/console  系統控制台 也就是直接和系統連接的監視器

      /dev/hd  ide硬碟驅動程式介面

      /dev/sd  scsi磁碟驅動程式介面

      /dev/fd  軟碟機設備驅動程式

      /dev/stscsi

   * /dev/tty  提供虛擬控制台支持

      /dev/pty  提供遠程登錄偽終端支持

      /dev/stty

      /dev/mouse 訪問滑鼠的輸入

   * /dev/null  所有寫入該設備的信息都將消失

   * /dev/zero

   * /dev/lp*

   * /dev/hd*

   * /dev/sd*

   4./etc系統管理和配置文件   目錄存放各種系統配置文件  只有root有權修改

      /etc/rc或/etc/rc.d或etc/rc?.d啟動的配置文件和腳本  系統初始化文件  啟動或改變運行級時運行的腳本或腳本目錄

      /etc/passwd 用戶信息文件

      /etc/fdprm 軟盤參數表用以說明不同的軟盤格式 可用setfdprm進行設置

   * /etc/fstab 啟動時需要自動安裝的文件系統列表  也包括swapon-a啟用的swap區的信息

      /etc/group

   * /etc/inittab  init的配置文件

   * /etc/init.d 所有服務的預設啟動腳本

      /etc/issue 用戶在登錄提示符前的輸出信息  通常包括系統的一段短說明或歡迎信息具體內容由系統管理員確定

      /etc/magic "file"的配置文件 "file"基於它猜文件類型  包含不同文件格式的說明

      /etc/motd  "message of the day"的縮寫  用戶成功登錄後自動輸出 內容由系統管理員確定  常用於通告信息

   * modprobe.conf

      /etc/mtab  當前安裝的文件系統列表  由腳本初始化並由mount命令自動更新

      /etc/shadow  安裝了影子口令軟體的系統上的影子口令文件  影子口令文件將/etc/passwd中的口令文件移動到只對root用戶可讀的/etc/shadow中增加系統的安全性.

   * /etc/sysconfig

      /etc/login.defs  login命令的配置文件

      /etc/printcap

      /etc/profile 

      /etc/securetty 確認安全終端即哪個安全終端允許超級用戶登錄

      /etc/shells  列出可以使用的shell

      /etc/termcap  終端性能資料庫  說明不同的終端用用什麼"轉義序列"控制

   * /etc/X11/

   5./home系統預設用戶主文件夾

   6./lib標準程式設計庫或動態鏈接共用庫   目錄是根文件系統上的程式所需的共用庫 存放了根文件系統程式運行所需的共用文件

      /lib/modules 系統核心可載入模塊文件尤其恢復損壞的系統時重新引導系統時所需要的模塊

   7./media放置可刪除的設備  包括軟盤 光碟 DVD等設備暫掛於此.

   8./mnt用戶臨時掛在其它的文件系統  系統管理員臨時安裝(mount)文件系統的安裝點  下麵可以分許多子目錄

      /mnt/dosa msdos文件系統軟碟機

     /mnt/exta 使用ext2文件系統的軟碟機

     /mnt/cdrom 光碟機

   9./opt存放可選的程式

   10./root系統管理員的主目錄

   11./sbin系統管理命令 存放著系統管理員使用的管理程式. 存儲二進位文件 其中的大部分文件多是系統管理員使用的基本的系統程式普通用戶必要且允許時可以使用但一般不給普通用戶使用

   12/tmp共用的臨時文件存儲點  目錄存放程式在運行時產生的信息和數據但引導程式後運行程式最好使用/var/tmp(可能擁有更大的磁碟空間)

   13./usr (unix software resource)的縮寫

       /usr/X11R6 存放x window的目錄

       /usr/bin 主要放置應用程式工具必備的執行文件   集中了幾乎所有用戶命令是系統的軟體庫

       /usr/sbin 主要放置網路管理的必備程式.  根文件系統不必要的系統管理命令

       /usr/man 幫助文檔

       /usr/doc 放置linux文檔

       /usr/info 

       包含所有手冊頁 gnu信息文檔和各種其它文檔

       /usr/indude  linux下開發和編譯應用程式所需的頭文件

       /usr/locol

       /usr/lib 常用動態鏈接庫和軟體包的配置文件

       /usr/src  linux內核的源代碼

       /usr/locol/bin 本地增加的命令

       /usr/locol/lib 本地增加的庫根文件系統

   14./var系統一般運行時要改變的數據  某些大文件的溢出區

        /var/catman  包括了格式化過的幫助(man)頁

        /var/lib  存放系統正常運行時要改變的文件

        /var/locolhttp://i.cnblogs.com/EditPosts.aspx?postid=5406476

        /var/lock  鎖定文件  許多程式遵循產生一個鎖定文件的約定來支持它們正在使用的某個特定的設備和文件

        /var/log  各種程式的日誌文件  login(/var/log/wtmp log)記錄所有系統登錄和註銷  syslog(/var/log/messages)記錄存儲所有核心和和系統程式信息   應定期清除.

        /var/run  保存下一次系統引導前有效的關於系統的信息文件

        /var/spool  放置假離線(spool)程式的目錄

        /var/tmp  比/tmp文件更大的或保存時間較長的臨時文件

   15./proc是一個偽的文件系統  它並不存在於某個磁碟上而是由核心在記憶體中產生用來提供關於系統的信息  虛擬目錄 是系統記憶體的映射可直接訪問這個目錄查看系統信息

        /proc/x  關於進程x的信息目錄 每個進程在/proc 下有一個名為自己進程號的目錄

        /proc/cpuinfo  存放處理器的信息

        /proc/devices  當前運行的核心配置的設備驅動列表

        /proc/dma  顯示當前使用的dma通道

        /proc/filesystems  核心配置的文件系統信息

        /proc/interrupts  顯示被占用的中斷信息和占用者的信息以及被占用的數量

        /proc/ioports  當前使用的i/o埠

        /proc/kcore  系統物理記憶體映像

        /proc/kmsg  核心輸出的消息

        /proc/ksyms  核心符號表

        /proc/loadavg  系統"平均負載"

        /proc/meminfo  各種存儲器使用信息 包括物理記憶體和交換分區

        /proc/modules  當前載入了哪些核心模塊信息

        /proc/net  網路協議狀態信息

        /proc/self  主要便於程式得到它自己的進程目錄

        /proc/stat  系統的不同狀態

        /proc/uptime  系統啟動的時間長度

        /proc/version 

   16.lost+found目錄平時是空的  系統非正常關機所留下的文件存放此處

4.深度剖析

  1. 開源軟體與自由軟體區別?

      自由軟體:信息技術發展引發信息革命所推動的以開放創新 共同創新為特點的創新2.0模式在IT行業的具體體現. 是一場要求尊重他人自由的道德運動

 

                 本質:不受限制地自由運行 拷貝 修改 再發行但不允許修改後和衍生的代碼做為閉源的商業軟體發佈和銷售

                 理念:知識共用

                 意義:有利於人類共同意義上的交流 合作 發展

      開源軟體:開放源代碼並授權更改/自由再散佈/衍生著作. 是一種開發模式 開源不是做慈善而是更多的人參與完善軟體缺陷不抵制軟體授權收費

                  GPL通用公共許可證主宰著開源世界

                 用戶角度:

                 軟體本身:

                 軟體行業:

      商業軟體:

      免費軟體:免費提供給用戶使用

      常見的許可協議:

                          GPL:GNU通用公共許可證  使用者必須接受軟體的"軟體授權" GPL精神:自由 分享 互惠
                          BSD:BSD許可證被認為介於copyright和copyleft之間  鼓勵代碼共用但要尊重代碼作者的著作權  允許使用者修改和重新發佈代碼和在BSD代碼基礎上開發商業軟體發佈銷售

                          Apache License:非營利開源組織Apache採用的協議  鼓勵代碼共用和尊重原作者的著作權同樣允許代碼修改再發佈為開源或商業軟體

<!------------------------------------------------------------------------------------------------------->

圓夢園:年輕人只為書寫一個夢.    peter.ali

第一課題:

     

     

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SQL Server中,經常會用到Identity標識列,這種自增長的欄位操作起來的確是比較方便。但它有時還會帶來一些麻煩。 示例一 :當表中被刪除了某些數據的時候,自增長列的編號就不再是一個連線的數列。這種時候我們可以用以下方案來解決。 http://www.cnblogs.com/rouchen ...
  • --模擬用戶登錄,該用戶ID為1010 fnd_global.apps_initialize(user_id => 1010, resp_id => 20420, resp_appl_id => 1); end; --獲取當時登錄的用戶的ID DECLARE l_user_id NUMBER :=  ...
  • 估計沒什麼價值,單純地記錄下時間,以便以後查看。 TMS320F28335 STM32f030 i3 4170 i3 4170 主頻 150MHz 48MHz 3.7GHZ 3.7GHZ IDE CCS6.0 Eclipse VS2015社區版 VS2015社區版 加速技術 rts2800_fpu3 ...
  • crontab參數: -u:幫助其他用戶建立或移除工作排程 -l:查閱crontab的工作內容 -r:移除所有的crontab的工作內容 -e:編輯crontab文件 每項工作有六個欄位: * * * * * * 分鐘 小時 日期 月份 周 指令 0-59 0-23 1-31 1-12 0-7 指令 ...
  • ARM9嵌入式學習筆記(1) Linux命令 實驗1 1 2 Linux常見命令使用 1. 添加用戶 ; 設置賬戶密碼 ; 切換用戶 2. 關機命令 3. 拷貝命令 cp /home/test /tmp/ //將test文件拷貝到tmp目錄下 cp r /home/dir1 /tmp/ //將目錄d ...
  • 項目檢出 如果你的git還沒有代碼倉庫,可以用過git的代碼倉庫頁面新建一個你的倉庫 創建git上的倉庫後,我們還需要建立本地的倉庫,所以打開Mac終端,建立本地倉庫文件夾(這裡我用HelloC),然後進入到新建的文件夾下 mkdir HelloC cd HelloC 在git頁面中,複製你的倉庫地 ...
  • rewrite模塊名:ngx_http_rewrite_module預設自動被編譯 指令:rewrite regex replacement [flag] regex :正則表達式,用於匹配用戶請求的uri replacement:重寫後的結果 flag: last:重寫完成之後停止對當前uri的進 ...
  • 1、安裝svn客戶端 1.1、使用命令安裝 1)CentOS 2)ubuntu 1.2、源碼安裝 http://www.cnblogs.com/fengbohello/p/4142810.html 2、開啟svn服務進程 2.1、我的習慣是把代碼倉庫放在/opt/svn目錄下,所以先創建目錄/opt ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...