天天看點

計算機基礎

Typora軟體的安裝與使用

關于Typora使用的相關内容在我另外整理的一篇部落格有詳細介紹,可以點選下方連結進行浏覽 :https://www.cnblogs.com/JZjuechen/p/15480970.html

程式設計與程式設計語言

  1. 什麼是語言?什麼是程式設計語言?

    語言其實就是人與人之間溝通的媒介,如英語,漢語,俄語等。

    而程式設計語言則是人與計算機之間溝通的媒介。

  2. 什麼是程式設計?為什麼要程式設計?

    程式設計就是人把自己想指令計算機幹的事用程式設計語言翻譯出來并寫到檔案裡(這一系列的檔案就是程式),那為什麼要程式設計?
    計算機基礎
    人類程式設計的目的就是為了讓計算機按照人類的思維邏輯(程式)自發地去工作,讓計算機代替人力無休止的幹活,進而把人力解放出來。

計算機組成原理

  1. 什麼是計算機?

    計算機是現代一種用于高速計算的電子計算機器,俗稱電腦,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程式運作,自動、高速處理海量資料的現代化智能電子裝置。
計算機基礎
  1. 為什麼要用計算機?

    世界是由聰明的懶人統治的,任何時期,總有一群聰明的懶人想要奴隸别人。在奴隸制社會,聰明的懶人奴役的是真正的人,而人是無法不吃、不喝、不睡覺一直工作的,但是計算機作為一台機器是可以做到的,是以把計算機當奴隸是上上之選。
    計算機基礎
  2. 計算機的五大組成部分

    • 控制器(控制計算機各個硬體的工作)

      控制器是計算機的指揮系統,用來控制計算機其他元件的運作,相當于人的大腦。

    • 運算器(控制數學運算與邏輯運算)

      運算器是計算機的運算功能,用來做算術運算和邏輯運算,也相當于人的大腦。

      計算機基礎
    • 存儲器

      存儲器是計算機的記憶功能,用來存取資料。存儲器主要分為記憶體與外存:

      • 記憶體(存取資料的速度很快)

        eg: 記憶體條

        相當于人的短期記憶

        它是基于電工作的,斷電資料立刻丢失,不能用來永久儲存資料

      • 外存(存取資料的速度較慢)

        eg:錄音帶 磁盤 U盤 硬碟

        相當于人的長期記憶

        即使斷電之後資料也不受影響,可以永久儲存資料。

        計算機基礎
    • 輸入裝置——input

      輸入裝置是計算接收外界輸入資料的工具,如滑鼠,鍵盤,麥克風,相當于人的眼睛或耳朵

      計算機基礎
    • 輸出裝置——output

      輸出裝置是計算機向外輸出資料的工具,如顯示器、列印機,相當于人說的話,寫出的文章。

      計算機基礎
      ps:存儲器如記憶體、磁盤等既是輸入裝置又是輸出裝置,統稱為IO裝置
  3. 三大核心硬體

    我們編寫的程式一定是要運作于計算機硬體之上,而站在硬體的角度,與運作程式有關的三大核心硬體為CPU、記憶體、硬碟。

    程式最先是存放于硬碟中的,程式的運作是先從硬碟把代碼加載到記憶體中,然後CPU是從記憶體中讀取指令運作。

中央處理器(CPU)  # 控制器+運算器
	CPU去記憶體中取程式的指令并運作
記憶體
	程式要想運作必須先存在于記憶體中
硬碟
	永久儲存相應資料
"""
1.電腦下載下傳軟體的過程其實是将資料下載下傳到了硬碟
2.輕按兩下程式圖示其實是将該程式的資料由硬碟加載到記憶體
3.程式運作其實就是CPU在執行程式的代碼
"""
           
計算機基礎

作業系統

  1. 作業系統的由來

    倘若我們要開發一個應用程式,比如優酷,該軟體的一個核心業務就是播放視訊,開發者若要編寫程式完成播放視訊這個業務邏輯,必先涉及到底層硬體硬碟的基本運作(視訊檔案都是先存放于硬碟中),這意味着開發者在編寫業務邏輯代碼之前,必須先編寫一個控制硬碟基本運作的控制程式,然而這僅僅隻是一個開始,事實上,在編寫應用程式的業務邏輯前,需要開發者編寫出一套完整的控制程式用來控制所有硬體的基本運作(這要求開發者需要詳細了解計算機硬體的各種控制細節,例如我們必須把CPU裡面所有指令集都掌握一遍),如此,所有的開發者在開發程式時都必須依次開發兩種:
    #1、編寫一套完整的的控制程式,用來控制硬體的基本運作,以及把複雜的硬體的操作封裝成簡單的接口
    #2、基于控制程式的接口開發包含一系列業務邏輯的程式,為了與控制程式區分,可以稱為應用程式,以ATM購物車這款應用程式為例,業務邏輯有提款、轉賬、查詢餘額等
               
    綜上,對于不同公司的開發者來說,應用程式的業務邏輯各不相同,但硬體的控制程式都大緻相同,為了避免所有程式員做重複勞動,以及不用再耗費精力去了解所有硬體的運作細節,有公司專門跳出來承擔起控制程式的開發任務,這裡所說的控制程式指的就是作業系統。
    計算機基礎
    計算機基礎
    計算機基礎
    作業系統的功能就是幫我們把複雜的硬體的控制封裝成簡單的接口,對于開發應用程式來說隻需要調用作業系統提供給我們的接口即可。
    # PC端
        windows  更加注重使用者體驗
        linux    更加主動軟體運作
        macOS    兩者均可
    # 移動端
    	安卓 ios 鴻蒙
               
  2. 系統軟體與應用軟體

    硬體以上運作的都是軟體,而軟體分為兩類:
    #一、應用軟體(例如QQ、Word、優酷,學習python就是為了開發應用軟體的)
    
    #二、作業系統,作業系統應用軟體與硬體之間的一個橋梁,是協調、管理、控制計算機硬體與應用軟體資源的控制程式。
               
  3. 計算機系統三層架構

    綜上,我們開發應用程式本質是在控制硬體,但是我們直接打交道的是作業系統,應用程式都是通過作業系統來間接地操作硬體的,是以一套完整的計算機系統分為三層,如下

    計算機基礎
    我們日常生活中所使用的,程式員所編寫的程式都必須基于作業系統之上,那麼可以由此引出一個非常重要的概念:平台
    • 應用程式都是運作于作業系統之上,而作業系統則是運作于硬體之上的,是以承載應用程式的是一台運作有作業系統的計算機,稱之為應用程式的運作平台,即:硬體 + 作業系統 == 平台
      計算機基礎
    常見的平台有:windows系統+某款硬體、linux系統+某款硬體、macOS+某款硬體等,我們在開發應用程式時就需要考慮到應用程式的跨平台性,如果能開發出一款可以在任意平台運作的應用程式,那對于開發者來說真是極大的福音。而決定應用軟體的跨平台性的關鍵因素往往是程式設計語言的選擇,python恰好是一款跨平台性語言,是以這也是我們學習它的原因之一。
    計算機基礎