原创 Nachos系統thread(lab 1)

寫這個的目的主要是不想寫那種無聊的實驗報告,索性上來整理一下,是山東大學操作系統的課設實驗 Thread的創建與Fork 首先來看下thread類的數據結構 int* stackTop; // the current st

原创 Nachos操作系統synch(lab3)

這一篇來講一下Nachos裏面的同步 首先,在synch.h裏面,定義了三種與同步有關的類:Semaphore,Lock,Condition,下面來分析一下這三種數據類型 Semaphore 其類型定義如下 其中,value是該信號量初

原创 Ubuntu1804+devstack搭建openstack

終於搭好環境了舒服阿!! 準備工作 安裝git與pip sudo apt-get install git sudo apt-get install python-pip sudo pip install --upgrade pip su

原创 編譯原理知識點(2)

上下文無關文法 也就是2型文法,表明凡出現在產生式左邊的符號都是非終結符 正規式和正規集 正規集可以用正規式表達,一個字集合是正規集當且僅當他能用正規式表示 正規式和正規集的遞歸定義 和都是正規式,其正規集爲和 對於字母表上的字符a,a是

原创 並行算法基礎()

DAG圖 DAG圖(有向無環圖)是並行算法的基礎,爲得是能夠得到工作的拓撲序列以便並行執行 Work and Span Work complexity與Span complexity指的是複雜度,Work相當於一個並行算法所對應的DAG圖

原创 並行算法——雙調排序

Bitonic Sequences 首先來介紹一下什麼叫做雙調序列,我認爲,這個序列是一個先增再減的序列(或者先減再增),判斷方法是這樣滴,首先,將序列第一個元素和最後一個元素連一條線,構成一個環,然後計算每條線的增減性,如果是下面這樣的

原创 最最基本的socket編程基礎(c++) 一

寫這個主要是計網用到了,整理一下,大概寫三篇,一篇寫那些數據類型,一篇寫函數介紹,最後一篇寫一下多線程編程 也不知道能不能幫到之後和我一樣小白的學弟學妹 首先是WSADATA typedef struct WSAData { WORD

原创 Nachos操作系統-rs與中斷(lab3)

這篇寫一下Nachos的中斷與時間片調度 關於時間片調度,我們只需要在執行時加入參數-rs即可,這樣在初始化的時候就會生成一個timer,並且可以在線程之間利用時間片進行切換 首先看下timer的定義 比較重要的參數是那個TimerIn

原创 編譯原理知識點(1)

編譯程序的工作過程:詞法分析,語法分析,語義分析與中間代碼生成,優化,目標代碼生成 除上述五個模塊,一個完整的編譯程序還應包括表格管理,出錯處理兩部分 表格管理 符號表:登記源程序中出現的每個名字以及名字的各種屬性,編譯各階段都涉及到構造

原创 const c++

1.常指針 const使用方法一般是  類型+const+類名 或 const+類型+類名 常指針只有一種定義方法 int* const p 如果是 const int* p其實const修飾的是int,這個p是指向一個常量的指針,也就是

原创 最最基本的socket編程基礎(c++) 二

這一篇我來寫一下socket編程裏面比較基本的函數 SOCKET socket(int af,int type,int protocl); 第二個參數指定socket類型 SOCKE_STREAM產生流式套接字,SOCK_DGRAM產生

原创 [python]pyqt5實現的剪刀石頭布

先說下,這個十分簡陋的,很多功能都是沒有像我想的那樣實現的,所以說,希望能看見這篇文章的大佬給予幫助 首先,我需要兩個QLabel來顯示圖片,爲了能夠知道正在顯示的是哪一張圖片,我選擇重新定義類,繼承自QLabel,增加了數據成員coun

原创 [python]利用requests爬取成績

新手初學可能有一些地方理解不對的請理解哈 看着我周邊的大佬們爬教務,用python寫程序搶課,我也產生了學習python的想法,然而,菜就是菜,很多東西我都一點都不瞭解,糊里糊塗弄出來這麼個東西,裏面還有許多坑要填 下面列一下我想的東西,

原创 ccf[201809-4]再賣菜-70分暴力

思路是深搜,然後根據他給的代碼約束可以取的值減小一點複雜度,最後選夠了之後計算並與答案相比較,由於是從一開始搜的,那麼答案一定是字典序最小的,考試的時候打了個這個才30分,現在變成了70分,鬱悶啊... 加上這四十分我就差十分就會編程了.

原创 Atcoder 3870 Reversed LCS【dp】

這個題用dp[i][j][k]表示區間[i,j]中改k次所得最優解首先,如果是s[i]==s[j],那麼最大值dp[i][j][k]與dp[i+1][j-1][k]+2中取,然後,不相同且k!=0時(可修改),也在這兩個裏面取,爲什麼是d