1. 程式人生 > 其它 >2022-2023-1 20221301 《計算機基礎與程式設計》第十五週學習總結

2022-2023-1 20221301 《計算機基礎與程式設計》第十五週學習總結

2022-2023-1 20221301 《計算機基礎與程式設計》第十五週學習總結

作業資訊

這個作業屬於哪個課程 <班級的連結>https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
這個作業要求在哪裡 <作業要求的連結>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK15

每週作業連結彙總

  • 第一週:
    簡要內容:簡要瀏覽《電腦科學概論》全書,並針對每章進行提問。
  • 第二週:
    簡要內容:數字化 資訊保安 自學教材
    電腦科學概論第1章並完成雲班課測試
    《C語言程式設計》第1章並完成雲班課測試
  • 第三週:
    簡要內容:數字分類與計數法
    位置計數法
    進位制轉換
    模擬資料與數字資料
    壓縮與解壓
    數字化
    資訊保安
  • 第四周:
    簡要內容:閘電路
    組合電路,邏輯電路
    馮諾依曼結構
    CPU,記憶體,IO管理
    嵌入式系統,並行結構
    物理安全
  • 第五週:
    簡要內容:Pep/9虛擬機器
    機器語言與組合語言
    演算法與虛擬碼
    測試:黑盒,白盒
  • 第六週:
    簡要內容:Polya如何解決問題
    簡單型別與組合型別
    複合資料結構
    查詢與排序演算法
    演算法複雜度
    遞迴
    程式碼安全
  • 第七週:
    簡要內容:陣列與連結串列
    基於陣列和基於連結串列實現資料結構
    無序表與有序表


    子程式與引數
  • 第八週:
    簡要內容:功能設計與面向物件設計
    面向物件設計過程
    面嚮物件語言三要素
    彙編、編譯、解釋、執行
  • 第九周:
    簡要內容:作業系統責任
    記憶體與程序管理
    分時系統
    CPU排程
    檔案、檔案系統
    檔案保護
    磁碟排程
  • 第十週:
    簡要內容:資訊系統
    資料庫與SQL
    人工智慧與專家系統
    人工神經網路
    模擬與離散事件
    排隊系統
    天氣與地震模型
    圖形影象
  • 第十一週:
    簡要內容:計算機網路
    網路拓撲
    雲端計算
    網路安全
    Web
    HTML,CSS,Javascript
    XML
  • 第十二週:
    簡要內容:自學教材
    《C語言程式設計》第11章並完成雲班課測試
  • 第十三週:
    簡要內容:自學教材
    《C語言程式設計》第12章並完成雲班課測試
  • 第十四周:
    簡要內容:自學教材
    《C語言程式設計》第13章並完成雲班課測試
  • 回顧一開始提的問題,發現很多都意義不大,可以在書中直接找到答案,或者很容易在網上搜到答案。但是也有一些有價值的問題可以進行思考與探討,比如:
計算機的IP地址與虛擬機器的IP地址的關係

虛擬機器和主機的本地IP地址不一樣,是對於內網(區域網)而言。對於外網,虛擬機器和主機的本地IP地址一樣。

本機的IP是真實的,虛擬機器裡的IP是虛擬的,虛擬機器可以與真實IP不相同。虛擬機器技術是為了解決主機不夠使用而開發的一項新技術,允許在一臺真實PC上安裝多個虛擬系統,可相互切換,方便實用,在實際應用上主要用作多使用者操作或測試。在PC機上實際上就是一個類似於GHSOT包的映象檔案。

虛擬機器就像橋接在電腦的另一臺電腦,所以兩個系統是不相關的就像是兩臺電腦一樣。也可以把虛擬機器設定成橋接模式,然後把虛擬機器的系統IP改成和實際機子同一個網段就可以了,那虛擬機器的作業系統就好像是局域網裡面的一臺機子一樣提供服務。

虛擬機器優點:

1、靈活性:

虛擬機器將提供最大程度的部署靈活性。虛擬機器幾乎可以部署在任何地方,而不管其作業系統或主機的配置如何。Windows系統可以託管基於Linux的虛擬機器,反之亦然。

2、安全與隔離:

隨著容器平臺的不斷成熟以及更多安全工具的全面支援,這些擔憂可能會得到緩解。但是,從一個簡單的事實來看,容器化的應用程式永遠無法與虛擬機器達到相同程度的隔離,因此從安全形度來看,容器不可能完全匹配虛擬機器。虛擬機器不會像容器那樣共享彼此的核心或其他基本系統資源。
參考:https://zhidao.baidu.com/question/591188163/answer/3299839991.html

虛擬記憶體原理及其存在意義

記憶體是程式的以進行的基礎,程序的進行記憶體資源是非常必要的,如何在有限的記憶體中執行足夠大的程式,變成了一個非常有挑戰的事情,而虛擬記憶體相對於實體記憶體可以提供更大的空間。
簡單來說,虛擬記憶體可以讓系統看上去去擁有比實體記憶體大得多的記憶體空間,為多道程式的執行提供了資源。
虛擬記憶體為每一個程序提供了非常大的,一致的,獨佔的虛擬地址空間
虛擬記憶體提供了三個關鍵能力
1.虛擬記憶體將主存看作是在磁碟地址空間上的快取記憶體,主存中只儲存活
動區域並根據需要在磁碟和主存之間來回傳送資料
2.虛擬記憶體保護每個程序的地址空間不被其他程序破壞
3.虛擬記憶體為程序提供了一致的地址空間簡化了記憶體管理
先來看一下一般的直接定址是怎麼進行的

CPU直接通過實體地址就找到地址空間,每個程序在直接定址時可能會碰到其他記憶體已經佔用了的地址空間,而且實體記憶體的大小也非常有限
而現代處理器使用的虛擬定址方式是這樣子的

中間通過某一種手段間接地訪問實體記憶體,這個過程稱為地址翻譯,這個過程有什麼好處呢,對於CPU來說,看到的虛擬定址過程都是獨立的,它們訪問的地址與是否被訪問過是沒有關係的
採用虛擬記憶體的關鍵是,一個應用程式總是逐段被執行的,而且在一段時間內會穩定執行在某段程式中。因此,將需要執行的哪段程式從輔存複製到記憶體中執行,其它暫不執行的程式段讓其仍舊保留在輔存中
因此我們使用虛擬記憶體不僅更加安全,而且為我們提供了更大的定址空間,其代價僅僅是新增一層對映

Linux當中的虛擬記憶體技術

以儲存單元為單位來管理顯然不現實,因此Linux將虛擬空間分為若干個大小相等的儲存分割槽,Linux將這樣的分割槽稱為頁。為了換入換出方便,實體記憶體頁按頁的大小劃分為若干塊。由於實體記憶體中的塊空間時用來容納虛擬頁的容器,所以實體記憶體中的塊叫做頁框,頁與頁框是Linux實現虛擬記憶體技術的基礎。
實體記憶體和虛擬記憶體被分為頁和頁框後,其儲存單元原來的地址都被自然地分為兩段,這兩段各自代表著不同的含義:高位段分別叫做頁框碼和頁碼用於識別頁框和頁的編碼,低位段分別叫做頁框偏移量和頁內偏移量是儲存單元在頁框和頁內的地址編碼
就是我們剛才說到的虛擬定址方式,其對映被稱為頁表,在頁表中有一個特殊的單位,其作用是以01來表達是否在實體記憶體中有效,如果為0,則要發生缺頁中斷,也就是把不用的頁置換出去,讓這一頁在執行時對應了有效可用的實體地址
可以認為虛擬空間都被對映到了磁碟空間中,事實上是通過mmap按需對映到磁碟空間上,並且由頁表記錄對映位置,當訪問到某個地址的時候,通過頁表中的有效位可以得知此資料是否在記憶體中,如果不是則通過缺頁異常將磁碟對應的資料拷貝到記憶體中,如果沒有空閒記憶體則選擇犧牲頁面替換其它頁面

參考:https://blog.csdn.net/Ma_shiro/article/details/108564128

一些反思

本學期並沒有因為什麼加分,剛學習第一個學期,對於一些學科專業知識還知識瞭解一些皮毛,浮於表面,應通過假期或者其他時間,更加深入的進行學習,多加實踐,嘗試參加一些競賽等。
本學期的雲班課作業做的並不是太理想,有些因為做錯了被扣分,以後需要交作業之前多加斟酌,多查閱相關資料,爭取確保作業是正確的再上交,要不然會被扣很多分……
通過一學期的學習,我從一開始只會用簡單用計算機搜個東西,看個視訊,上個網課,變成了現在對計算機從內部結構到他的組成部分有了大致的瞭解,感覺對他的認識更加深入了,學習程式設計以後,感覺自己的邏輯變得更強了一些,想東西會更有條理。
自己需要改進的地方主要就是不敢實踐,從一開始的裝虛擬機器開始,總想著把所有東西都先搞明白再開始行動,但這樣是很不現實的,應該在一步一步不斷摸索的過程中不斷學習,進行體會,這一點還需要努力改正。
如果重新學習這門課,我會在每週看書的時候,結合網上查閱的資料,視訊一起學習,這樣效果可能會更好。同時有不會的先自己嘗試解決,實在不行在求助老師同學。

調查問卷

  • 你平均每週投入到本課程多長時間?
    5-7個小時
  • 每週的學習效率有提高嗎?
  • 學習效果自己滿意嗎?
    一般,但還是比較滿意的
  • 課程結束後會繼續一週至少一篇部落格嗎?(如果能做到,畢業時我把你的部落格給你集結成一本書送給你作紀念)
    儘量!!!希望可以做到!
  • 你覺得這門課老師應該繼續做哪一件事情?
    通過雲班課的作業讓大家深入體會教材內容,並會學習運用
  • 你覺得這門課老師應該停止做哪一件事情?
    在剛一開始就在課上展示如何輸命令。一是速度太快,同學們跟不上。二是剛一開始大家對這個米什麼概念,也記不住太多。
    把雲班課的測試題改為中文的,英文的題做的有點費勁
  • 你覺得這門課老師應該開始做什麼新的事情?
    通過一些新的方式讓同學們對命令列有一定認識。

下學期加油!!!