雲計算

重新開始學習編程系列Day01——編程入門

一、前言

大家好,我是蒼何。最近面試了不少公司,發現自己在核心底層的知識上是有所欠缺的,可能項目上手容易,但是不瞭解底層原理,職業瓶頸很大,當被問到源碼知識,被問到底層核心以及深挖,會發現有很大的不足,惡補欠缺的知識,也是這個系列文章創建的初衷,鞏固知識的同時也希望能幫助和我有相似經歷的夥伴,一起沖沖衝。

二、知識圖譜

在這裡插入圖片描述

三、計算機硬件

計算機包括硬件和軟件,硬件是看得見的物理部分,而軟件提供看不見的指令
在這裡插入圖片描述
個人計算機上,總線搭建在主板上,主板是一個連接計算機各個部分的電路板
在這裡插入圖片描述

1、中央處理器【CPU】

指中央處理器,它是一塊超大規模的集成電路,是一臺計算機的運算核心和控制核心。它的功能主要是解釋計算機指令以及處理計算機軟件中的數據。CPU核:一個CPU代表一個核,多核CPU
CPU由運算器、控制器和寄存器及實現它們之間聯繫的數據、控制及狀態的總線構成。CPU的能力高低直接影響了整個電腦的運行速度。
CPU的選擇方法:
1、看編號。Intel和AMD的每一顆正品盒裝處理器都有一個唯一的編號,在產品的包裝盒上的條形碼和處理器表面都會標明這個編號,這個編號相當於手機的IMEI碼,兩個編號必須一致才是正品。

2、看包裝。Intel盒裝處理器與散包處理器的區別就在於三年質保,價格方面相差幾十到上百元不等。以AMD的包裝盒為例,沒有拆封過的包裝盒貼有一張標貼,如果沒有這張標貼,那肯定是假貨。

3、看風扇。這個方法針對Intel處理器,打開CPU的包裝後,可以查看原裝的風扇正中的防偽標籤,真的Intel盒包CPU防偽標籤為立體式防偽,除了底層圖案會有變化外,還會出現立體的“Intel”標誌。

2、赫茲Hz

每臺計算機都有一個內部時鐘,該時鐘以固定速度發射電子脈衝,時鐘速度越快,在給定的時間內執行的指令就越多,嘟嘟的伎倆單位為赫茲,1Hz 相當於每秒1個脈衝,隨著COU速度不斷提高,目前以千兆赫GHz來表述。1khz = 1024hz ,1mhz = 1024khz 1ghz = 1024mhz
在這裡插入圖片描述

四、內存

內存(Memory)是計算機的重要部件之一,也稱內存儲器和主存儲器,它用於暫時存放CPU中的運算數據,與硬盤等外部存儲器交換的數據。它是外存與CPU進行溝通的橋樑,計算機中所有程序的運行都在內存中進行,內存性能的強弱影響計算機整體發揮的水平。只要計算機開始運行,操作系統就會把需要運算的數據從內存調到CPU中進行運算,當運算完成,CPU將結果傳送出來。

1、比特bit
一個0或1存儲為1個比特,是計算機中最小的存儲單位
2、byte
計算機中是最基本的存儲單元byte,每個字節由8個比特構成
1kb = 1024b
1MB = 1024kb
1GB = 1024MB
1Tb = 1024GB

五、操作系統

操作系統(operating system,簡稱OS)是管理計算機硬件與軟件資源的計算機程序。操作系統需要處理如管理與配置內存、決定系統資源供需的優先次序、控制輸入設備與輸出設備、操作網絡與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作界面。常見的操作系統有windows、IOS等。

1、安全加固技術

隨著計算機網絡與應用技術的不斷髮展,信息系統安全問題越來越引起人們的關注,信息系統一旦遭受破壞,用戶及單位將受到重大的損失,對信息系統進行有效的保護,是必須面對和解決的迫切課題,而操作系統安全在計算機系統整體安全中至關重要,加強操作系統安全加固和優化服務是實現信息系統安全的關鍵環節。當前,操作系統安全構成威脅的問題主要有系統漏洞、脆弱的登錄認證方式、訪問控制形同虛設、計算機病毒、特洛伊木馬、隱蔽通道、系統後門惡意程序和代碼感染等,加強操作系統安全加固工作是整個信息系統安全的基礎。

安全加固原理:
安全加固是指按照系統安全配置標準,結合用戶信息系統實際情況,對信息系統涉及的終端主機、服務器、網絡設備、數據庫及應用中間件等軟件系統進行安全配置加固、漏洞修復和安全設備調優。通過安全加固,可以合理加強信息系統安全性,提高其健壯性,增加攻擊入侵的難度,可以使信息系統安全防範水平得到大幅提升。
安全加固方法
安全加固主要通過人工對系統進行漏洞掃描,針對掃描結果使用打補丁、強化賬號安全、修改安全配置、優化訪問控制策略、增加安全機制等方法加固系統以及堵塞系統漏洞、“後門”,完成加固工作。

2、操作系統虛擬化

操作系統虛擬化作為容器的核心技術支撐,得到了研究者的廣泛關注。最近幾年,無論是在以SOSP/OSDI為代表的計算機系統領域頂級學術會議上,還是以Google為代表的重要互聯網企業中,都陸續出現了一批操作系統虛擬化的最新研究成果,並且成果數量呈現出逐年增加的總體趨勢。
操作系統虛擬化技術允許多個應用在共享同一主機操作系統 (Host OS) 內核的環境下隔離運行, 主機操作系統為應用提供一個個隔離的運行環境, 即容器實例:操作系統虛擬化技術架構可以分為容器實例層、容器管理層和內核資源層。
操作系統虛擬化與傳統虛擬化最本質的不同是傳統虛擬化需要安裝客戶機操作系統 (Guest OS) 才能執行應用程序,而操作系統虛擬化通過共享的宿主機操作系統來取代 Guest OS。

3、Windows下的內存是如何管理的

3種:
1.虛擬內存:
最適合用來管理大型對象或者結構數組
2.內存映射文件:
最適合用來管理大型數據流(通常來自文件)以及在單個計算機上運行多個進程之間共享數據
3.內存堆棧:
最適合用來管理大量的小對象

4、進程間通信有哪些方式以及區別

參考:https://blog.csdn.net/yang_teng_/article/details/53325280
   https://blog.csdn.net/wh_sjc/article/details/70283843

IPC方式:7種
1.管道(pipe):管道是一種半雙工的通信方式,數據只能單向流動,而且只能在有血緣關係的進程間使用,進程的血緣關係通常是指父子進程關係。
2.命名管道(named pipe):也是半雙工的通信方式,但是它允許無親緣關係關係進程間通信。

3.信號(signal):是一種比較複雜的通信方式,用於通知接收進程某一事件已經發生。
4.信號量(semophere):信號量是一個計數器,可用來控制多個進程對共享資源的訪問。它通常作為一種鎖機制,防止某進程正在訪問共享資源時,其他進程也訪問該資源。因此,主要作為進程間以及同一進程內不同線程之間的同步手段。

5.消息隊列(message queue):消息隊列是由消息組成的鏈表,存放在內核中,並由消息隊列標識符標識。消息隊列克服了信號傳遞消息少,管道只能承載無格式字節流以及緩衝區大小受限等缺點。

6.共享內存(shared memory):就是映射一段能被其他進程所訪問的內存,這段共享內存由一個進程創建,但多個進程都可以訪問,共享內存是最快的IPC方式,它是針對其他進程間的通信方式運行效率低而專門設計的。它往往與其他通信機制,如信號量等配合使用,來實現進程間的同步和通信。
7.套接字(socket):套接口也是進程間的通信機制,與其他通信機制不同的是它可用於不同及其間的進程通信。
幾種方式的比較:
管道:速度慢、容量有限
消息隊列:容量收到系統限制,且要注意第一次讀的時候,要考慮上一次沒有讀完數據的問題。
信號量:不能傳遞複雜信息,只能用來同步。
共享內存:能夠很容易控制容量,速度快,但要保持同步,比如一個進程在寫的時候,另一個進程要注意讀寫的問題,相當於線程中的線程安全。

5、進程的調度算法

參考原文:https://blog.csdn.net/xiongluo0628/article/details/81461053
1.先來先服務(FCFS):此算法的原則是按照作業到達後備作業隊列(或進程進入就緒隊列)的先後次序選擇作業(或進程)

2.短作業優先(SJF:Shortest Process First):這種算法主要用於作業調度,它從作業後備序列中挑選所需運行時間最短的作業進入主存運行。

3.時間片輪轉調度算法:當某個進程執行的時間片用完時,調度程序便終止該進程的執行,並將它送到就緒隊列的末尾,等待分配下一時間片再執行。然後把處理機分配給就緒隊列中新的隊首進程,同時也讓它執行一個時間片。這樣就可以保證隊列中的所有進程,在已給定的時間內,均能獲得一時間片處理機執行時間。

4.高響應比優先:按照高響應比(已等待時間+要求運行時間)/要求運行時間 優先的原則,在每次選擇作業投入運行時,先計算此時後備作業隊列中每個作業的響應比RP。選擇最大的作業投入運行。

5.優先權調度算法:按照進程的優先權大小來調度。使高優先權進程得到優先處理的調度策略稱為優先權調度算法。注意:優先數越多,優先權越小。

6.多級隊列調度算法:多隊列調度是根據作業的性質和類型的不同,將就緒隊列再分為若干個隊列,所有的作業(進程)按其性質排入相應的隊列中,而不同的就緒隊列採用不同的調度算法。

本文來自我的CSDN博客:https://blog.csdn.net/qq_43270074/article/details/118398424

Leave a Reply

Your email address will not be published. Required fields are marked *