計算機和操作系統的一些概念

一、計算機組成

    (一) 硬件

        CPU:運算器、控制器、寄存器、緩存器

        存儲器:主內存,RAM(Random Access Memory)數據必須加載到主內存中才能進行處理。

        輸入設備:下指令,提供數據等

        輸出設備:輸出數據加工的結果

                                                    wxid_6kravxdqjz3r22_1470807557309_57.png

    (二) 軟件

        操作系統

            目前主流操作系統有windows、mac、linux。我們重點學習的就是Linux系統

            功能:

                驅動程序、進程管理、安全管理、網絡管理、內存管理、文件系統。。。

            組成:

        內核(kenerl)

        基礎應用(Application)

        應用程序(指令+數據)

二、開源組織GNU

    是"GNU is Not Unix"的遞歸縮寫。是richard stallman在1983年9月27發起發起的,目標是創建一套完全自由的操作系統。

    為保證軟件可以自由的"使用、復制、修改和發布", 所有GNU軟件都必須遵循GNU通用許可證(GNU Genenal Public Lisence 即GPL)。即反版權,或稱為copyleft。

    GPL協議中,軟件必須源代碼的方式發布出來。同時規定使用了遵循GPL協議的軟件后,也得遵循GPL協定。那么意味著一旦使用了GPL協議的開源程序后,自己二次開發的程序也必須開源出來。遭到

不少商業用戶的排斥。于是有出現了多種開源協定。

    目前主流的協定有以下幾種:

         GPL

              v2、v3

         LGPL

              v2(MPL)、v3

         Apache

         BSD

              3言、2言

    詳細描述地址:http://www.open-open.com/solution/view/1319816219625

   798686168070112503.jpg

三、IT技術領域的崗位

    研發:

        硬件:忽略

        軟件:(語言越高級越接近于人類語言,越低級越接近于計算機語言)

            低級語言:匯編語言,匯編器

                寫驅動

            高級語言:

                系統級:c,c++

                    主要用于操作系統,對性能要求較高的服務類程序

                應用級:Java,Python,ruby

                應用程序: ansible,puppet, …

    應用:

        Linux運維:Linux生態圈中的各種程序的應用;

        shell腳本編程:讓某些應用工作能自動完成;

        python:專業編程語言;

            ansible, openstack

    ???此處研發和應用的區別不甚明朗,留待以后領悟吧???

四、Linux操作系統

    OS:

        狹義:只是個內核(kernel)

        完整:kernel + Application

    組成:

         (1) kernel: 內核

              重點在于管理計算機的所有活動以及驅動系統中的所有硬件。(可以讓CPU開始判斷邏輯與數值運算,主內存可以加載/讀取數據、讓硬盤可以被開始被存取、讓網絡卡可以開始傳輸數據、讓所有周邊開始運轉)

                                     Tps:所以整部系統叧有核心癿話,我仧就叧能看著已絆準備好運作(Ready)癿計算機系統,但無法操作他! 好像有點望梅止渴癿那種感覺啦!這個時候就需要軟件癿幫忙了!

         (2) System Call: 系統調用

              只是將基本的功能封裝成接口,方便軟件開發者調用。

         (3) library: 庫

              庫是將基本功能再次封裝,提供更加完整的功能接口給程序調用。當然程序也可以不適用庫,直接系統調用。

         (4) Shell: 一組接口軟件,可以是用戶和機器交互。

         (5) Application: 應用程序

            應用程序是對人類可用的功能系統。

     

                2012092023590167.jpg

    發布版:

        真正的linux只是一個kernel,只針對計算機的硬件資源管理,并沒有用戶可用的功能。

        那么就有了linux發布版,發布版是將linux內核和一些最常用的基本程序功能打包起來,用戶安裝之后,很多基本功能直接可以使用。下面是一些主流的發布版本:

    Debian

        ubuntu

        mint

        knopix

    Slackware

        S.u.S.E

         SLES

         OpenSUSE

    RedHat:

         Redhat 9.0:

         RedHat Enterprise Linux: RHEL

         CentOS: Community ENTerprise OS

    Fedora Core

    Gentoo

    ArchLinux

     linux 發布版詳細的時間線

    https://yunpan.cn/c6IvbpTDUaaMi  訪問密碼 0723

    共同點:均使用linux內核、遵循相同的文件系統規范:FHS、

       不同的發布版具有不同的包管理器(概念見下面程序應用部分):

         Debian:dpkg, apt-get

         RedHat:rpm, yum –> dnf

         S.u.S.E: rpm, zypper

         ArchLinux:pacman

         Gentoo:emerge

五、程序版本號的定義

    major.minor.release

        主版本.子版本.修訂號

     Linux:0.99, 2.2, 2.4, 2.6, 3.0, 4.0

     內核地址:www.kernel.org

    

     Linux內核和各個發布版各自的版本號是不一樣的。

六、程序應用:

     程序的組成部分:

         二進制程序;

         配置文件;

         庫文件;

         幫助文件;

     程序包管理器:

         程序的組成部分打包成一個或有限幾個文件,一般具有程序的安裝、卸載、查詢功能

        

     比如計算機跟用戶打交道的接口就是各種應用程序:

         GUI:Graphic User Interface(桌面接口)

             GNome:c, gtk

             KDE: c++, qt

         CLI:Command Line Interface(命令行接口)

             bash

             zsh

             sh

             csh

             tcsh

             ksh

七、終端設備(terminal)

    指的是電腦跟用戶的進行通訊的設備,比如一套鍵盤和顯示器。

     統稱為tty,有以下幾種終端:

         物理終端:console

         虛擬終端:6個,tty

         Ctrl+Alt+F[1-6]

         圖形終端:

             CentOS 6:

                  Ctrl+Alt+F7

             CentOS 7:

                  在哪個虛擬終端啟動,即位于哪個虛擬終端;

         串行終端:ttyS

         偽終端:pty

八、linux哲學思想

     1、一切皆文件;

         把幾乎所有資源統統抽象為文件形式;包括硬件設備,甚至通信接口等;

         open(), read(), write(), close(), delete(), create()

         表現之一:硬件設備也通過文件表示;

         物理終端:/dev/console

         虛擬終端:/dev/tty# [1,6]

         串行終端:/dev/ttyS#

         偽終端:/dev/pts/#

     2、由眾多功能單一的程序組成;

         一個程序只做一件事,并且做好;

         組合小程序完成復雜任務;

     3、盡量避免跟用戶交互;

         目標:易于以編程的方式實現自動化任務

     4、使用文本文件保存配置信息;

命令收集:

     ss -tnl

          查看系統是否監聽于tcp協議的22號端口;

     ip addr list

     或

     ifconfig

          查看IP地址;

     iptables -L -n

     關閉防火墻狀態:

     CentOS 7:

     systemctl disable firewalld.service

     systemctl stop firewalld.service

    

     CentOS 6:

     service iptables stop

     chkconfig iptables off

    

     tty

          查看終端設備:

    

     echo $SHELL

          查看接口程序,使用shell種類:

    

     startx &

          啟動GUI:在某一虛擬終端接口運行即可

    

     tty

        查看當前的終端設備;

    

     echo

        回顯

    

     ping

        探測網絡的目標主機與當前主機之間的連通性;

    

     Ctrl+c

        終止命令執行;

資源鏈接:

     CentOS的鏡像站點:

     http://mirrors.aliyun.com

     http://mirrors.163.com

     http://mirrors.sohu.com

雜項:

     (1)、最純凈的linux 

     LFS: Linux From Scratch

    

     (2)、基于debain的發行版:kali。設計用于數字鑒識和滲透測試

原創文章,作者:小江,如若轉載,請注明出處:http://www.www58058.com/31227

(0)
小江小江
上一篇 2016-08-15 12:06
下一篇 2016-08-15 12:06

相關推薦

  • 推薦-Nginx Proxy模塊的應用之負載均衡

    Ngnix Proxy模塊的應用之負載均衡 Ngnix Proxy模塊的應用之負載均衡 Proxy 模塊介紹 實驗環境 配置Proxy Proxy 模塊介紹   在我之前的文章提到過,Nginx可以提供反向代理加速、基于應用層的負載均衡并能對后端服務器做健康狀態檢測。下面我們就動手操作一下,看如何實現上述功能。 實驗環境 主機名稱 主要功能 外網地址 內網地…

    Linux干貨 2016-03-27
  • Linux 啟動流程

    Linux啟動流程 POST–>Boot Sequence–>MBR–>Grub–>Kernel(initramfs)–>rootfs–chroot(根切換)–>/sbin/init–>RunLevel–&gt…

    Linux干貨 2016-06-09
  • 2016-10-17作業

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正。 答:hwclock -s 2 生產有一個數據同步腳本需要執行很長時間,怎樣做到無人值守,在管理工具退出的情況下,腳本依然能正常運行。 答:screen -S work  進去后開始做工作,暫時離開時可使用 ctrl+a,d 剝離當前會話。 3 Linux系統中命令共分為內建命令…

    Linux干貨 2016-10-18
  • bash工作特性之命令執行狀態返回值和命令行展開的講解和實例

    命令執行狀態返回值 在Linux bash中可以用命令執行狀態返回值來判斷命令是否運行成功,而不需去關心命令返回的結果是多少。 bash通過狀態返回值來得到輸出結果; 成功:返回值 0 [root@localhost tmp]# ls aaa [root@localhost tmp]# mkdir $(date +%H-%m-%S) [root@localh…

    Linux干貨 2018-03-01
  • VIM使用總結

    VIM使用總結:     I,vim + [option] +filename 其中option為m時,文件以只讀模式打開。                               &n…

    Linux干貨 2017-06-05
  • linux中常用文本處理工具

       在linux文件系統中經常會使用到文本處理工具,這里簡單介紹幾種文本處理工具: 抽取文本的工具 文件內容:less和cat 文件截?。篽ead和tail 按列抽取:cut 按關鍵字抽?。篻rep , egrep 文件查看命令:cat, tac,rev,more,less   cat命令是用戶經常使用的用來查看文本…

    Linux干貨 2016-08-07

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-17 15:52

    寫的很好,排版還可以在漂亮一點,加油,嘗試自己來畫圖

欧美性久久久久