原创 操作系統實驗七之有限緩衝問題

一、實驗描述   利用有限緩衝問題的解決思想,實現生產者消費者問題,主要利用線程同步機制完成。使用三個信號量: empty (以記錄有多少空位)、full (以記錄有多少滿位)以及mutex (二進制信號量或互斥信號量,以保護對緩

原创 多週期CPU實驗

一、實驗內容和要求   設計一個多週期CPU,該CPU至少能實現以下指令功能操作。需設計的指令與格式如下: ==>算術運算指令 (1)add rd, rs, rt 000000 rs(5位) rt(5位) rd(5位)

原创 Python Scrapy學習之pipelines不能保存數據到文件問題

  今天,學習了scrapy框架pipelines處理數據部分。pipelines可以將由爬蟲文件傳遞來的數據保存到文件中。例如,將數據保存到.txt文件中。   首先,需要先設置pipelines.py文件。 # -*- co

原创 Cache控制器的設計

一、實驗內容   實現Cache(數據Cache)及其地址變換邏輯(也叫Cache控制器),採用直接相聯地址變換,CPU從Cache讀數據,若讀不到,還必須考慮先從主存中讀取數據,然後再將數據寫到Cache中,之後,將數據送往CP

原创 ubuntu安裝程序常用方式及指令

獲取安裝包的方式 採用weget命令,例如獲取node.js的安裝包: $ wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.gz 採用curl

原创 單週期CPU實驗之學習之旅

  初接觸到CPU(處理器)的實現,有很多東西需要先學習一下,才能瞭解其中的原理,更好地實現它。首先,你需要深入瞭解MIPS指令集,理解其各個指令的執行過程;其次,你需要掌握Verilog語言的使用,理解模塊化思想,有點類似C++

原创 操作系統實驗六之多線程矩陣乘法

一、實驗內容 實現多線程矩陣乘法: 二、實驗代碼 #include <stdio.h> #include <pthread.h> #define DIMENSION 10 pthread_t hThread[DIMENSI

原创 Windows下python pip升級失敗的解決方案

Windows下升級pip推薦的方式爲: $ python -m pip install --upgrade pip 這樣操作卻往往會出現下面的錯誤: Exception: Traceback (most recent call

原创 操作系統實驗四之實現shell

一、題目   實現簡單的shell, 程序可以在後臺運行,按下ctrl+c系統不會終止shell。實現歷史記錄功能,按下ctrl+c展示最近10條命令,使用“rx”執行其中的命令,x 代表第x條命令。 二、基礎知識 1. read

原创 python訪問數據庫(基於pymysql)

一、連接 import pymysql conn = pymysql.connect(host = '127.0.0.1', user = 'root', password = 'password', database = 'da

原创 單週期CPU實驗之實驗介紹及分析

一、實驗內容 一、實驗原理 三、分析 ▶學會讀數據通路圖   首先,我們瞭解各個信號的作用。上面的表格中已經給出了詳細的作用,這裏我再解釋清楚一些。 ☞ PCWre:控制PC的跳

原创 Go如何按行讀取文件及bufio.Split()函數的使用

  最近初接觸了go這門語言,爲了更加深入學習,完成了一個項目。將一個c語言實現的linux讀取文件行命令程序修改爲go語言實現。以下是項目地址:   原項目:https://www.ibm.com/developerworks

原创 操作系統實驗九之寫者優先問題

一、代碼實現 讀者進程和寫者進程如下: Main.cpp #include <pthread.h> #include <sys/types.h> #include <semaphore.h> #include <unistd.h

原创 單週期CPU實驗之代碼實現及模擬

一、單週期CPU代碼實現   學習 了這麼久,終於可以完整實現了單週期CPU了。以下是相關代碼,供大家學習使用。   爲了方便閱讀,先進行一些宏定義。 define.v `define Add 6'b000000 `d

原创 go語言學習之gzip包解讀

  打開瀏覽器瀏覽網頁時,我們可以看到各種各樣的文字、圖片、視頻等等各式各樣的信息。那麼瀏覽器是怎樣和服務器交互這些信息的呢?通過分析不難發現,這些信息往往要經過統一編碼之後,才進行傳遞。今天,我們來通過分析gzip.go文件,瞭