操作系統(tǒng)系列----進(jìn)程與程序 進(jìn)程的描述

操作系統(tǒng)系列----進(jìn)程與程序

程序

1.程序的概念
程序是一組有序的指令集合

2.程序的執(zhí)行方式

在早期的單道批處理系統(tǒng)中端幼,程序的執(zhí)行方式是順序執(zhí)行矮慕,即在內(nèi)存僅僅轉(zhuǎn)入一道程序基矮,讓他獨占系統(tǒng)中的所有資源诸蚕。一個程序執(zhí)行完畢后另一個程序才能執(zhí)行某残,這種執(zhí)行效率極其低鄙信,而且十分浪費資源

而在多道程序處理系統(tǒng)中译荞,內(nèi)存中可以同時裝入多個程序瓤的,這多個程序可以共享資源,并發(fā)執(zhí)行吞歼,但是程序的并發(fā)執(zhí)行會導(dǎo)致一系列問題圈膏,所以才引入了進(jìn)程的概念

2.1什么是順序執(zhí)行

所謂順序執(zhí)行就是比如我們?nèi)ナ程门抨牬蝻垼懦梢涣辛嘘犖楦萋猓覀兛梢岳斫鉃橐粋€個程序稽坤,而打飯的阿姨可以理解為cpu桥帆,我們按照隊列一個個去打飯,而阿姨則按照順序一個個給我們打飯慎皱,一次只能給一個人打飯老虫,這就是順序執(zhí)行

在這里插入圖片描述

2.1.1順序執(zhí)行時的特征

1.順序性:這個我們在上面已經(jīng)說過了,就是程序一個個執(zhí)行茫多,而且一次只可以執(zhí)行一個
2.封閉性:程序在執(zhí)行的時候占用整個計算機的資源祈匙,只有本程序能改變自己,這也可理解為一個封閉的環(huán)境天揖,因為整個計算機只有他一個程序在運行
3.可再現(xiàn)性:只要程序的執(zhí)行環(huán)境與初始條件相同夺欲,當(dāng)程序重復(fù)執(zhí)行的時候,獲得的都是相同的結(jié)果今膊,比如我們使用計算器算1+1等于2些阅,只要這個計算器沒壞,只要我們輸入的是1+1斑唬,那么結(jié)果就一定為2

2.2 程序的并發(fā)執(zhí)行

順序執(zhí)行的方式雖然十分方便市埋,但是效率實在是太低了,看看我們今天一邊聽歌一邊打游戲恕刘,這顯然不是順序執(zhí)行所能實現(xiàn)的缤谎。
多道程序技術(shù),即多個程序并發(fā)執(zhí)行褐着,多個程序并發(fā)執(zhí)行指的相互之間不存在前驅(qū)關(guān)系的程序才可以并發(fā)執(zhí)行坷澡,如果一個程序 依賴另
一個程序的執(zhí)行結(jié)果而執(zhí)行,那么這兩個程序顯然是不可以并發(fā)執(zhí)行的

程序并發(fā)執(zhí)行時的特征

我們可以思考含蓉,在并發(fā)執(zhí)行中频敛,系統(tǒng)的吞吐量和執(zhí)行效率雖然不斷提高了,但是他們在共享系統(tǒng)資源的時候馅扣,以及他們在為了實現(xiàn)同一個目的而合作的時候斟赚,他們之間必然會形成相互制約的關(guān)系。這時候程序就具備了許多新特性

間斷性

程序并發(fā)執(zhí)行時岂嗓,由于它們共享系統(tǒng)資源汁展,以及為完成同一項任務(wù)而相互合作,致使在這些并發(fā)執(zhí)行的程序之間形成了互相制約的關(guān)系:并發(fā)程序具有“執(zhí)行--暫停--執(zhí)行”的間斷性的活動規(guī)律厌殉。

失去封閉性

這個就很好理解了食绿,在順序執(zhí)行中整個計算機的資源都被一個程序所占用,但是在并發(fā)執(zhí)行中公罕,系統(tǒng)的資源被各個程序所共享器紧,這也就導(dǎo)致程序的狀態(tài)不再由自身決定,會受到其他程序的影響

失去可再現(xiàn)性

程序在并發(fā)執(zhí)行的過程中失去了封閉性楼眷,铲汪,也導(dǎo)致程序失去可再現(xiàn)性

兩個循環(huán)程序A和B熊尉,它們共享一個變量N。

程序A每執(zhí)行一次時掌腰,都要做N=N+1操作狰住;

程序B每執(zhí)行一次時,都要做執(zhí)行Print(N)操作齿梁,之后執(zhí)行N=0操作催植;

A、B以不同的速度運行勺择,則可能出現(xiàn)下述3種情況(假設(shè)某時刻變量N的值為n)

n+1,n+1,0

n,n+1,0

n,0,n+1

進(jìn)程

為什么引入進(jìn)程创南?進(jìn)程的作用是什么?

在多道程序環(huán)境下省核,程序的執(zhí)行屬于并發(fā)執(zhí)行稿辙,此時它們將失去其封閉性,并具有間斷性及不可再現(xiàn)性的特征气忠。這決定了通常的程序是不能參與并發(fā)執(zhí)行的邻储,因為程序執(zhí)行的結(jié)果是不可再現(xiàn)的,程序的運行也就失去了意義笔刹。

所以為了使并發(fā)執(zhí)行的每個程序能夠獨立的運行芥备,所以操作系統(tǒng)就為之配備了一個專屬的數(shù)據(jù)結(jié)構(gòu)冬耿,稱為進(jìn)程控制模塊(PCB Process C ontrol Bolck),這樣子程序段舌菜,相關(guān)的數(shù)據(jù)段進(jìn)程和PCB三部分就構(gòu)成了進(jìn)程實體。一般情況下我們把進(jìn)程實體稱為進(jìn)程亦镶,而創(chuàng)建進(jìn)程的實質(zhì)就是創(chuàng)建進(jìn)程實體中的PCM日月,而撤銷進(jìn)程就是撤銷進(jìn)程中的PCB

這是因為并發(fā)執(zhí)行的程序(即進(jìn)程)是“停停走走”地執(zhí)行,只有在為它創(chuàng)建進(jìn)程后缤骨,在它停下時爱咬,方能將其現(xiàn)場信息保存在它的PCB中,待下次被調(diào)度執(zhí)行時绊起,再從PCB中恢復(fù)CPU現(xiàn)場并繼續(xù)執(zhí)行精拟,而傳統(tǒng)的程序卻無法滿足上述要求。

建立進(jìn)程所帶來的好處是使多個程序能并發(fā)執(zhí)行虱歪,這極大地提高了資源利用率和系統(tǒng)吞吐量蜂绎。但管理進(jìn)程也需付出一定的代價,包括進(jìn)程控制塊及協(xié)調(diào)各運行機構(gòu)所占用的內(nèi)存空間開銷笋鄙,以及為進(jìn)行進(jìn)程間的切換师枣、同步及通信等所付出的時間開銷。

進(jìn)程的相關(guān)定義:

1.進(jìn)程是程序的一次執(zhí)行
2.進(jìn)程是一個程序及其數(shù)據(jù)在處理及順序執(zhí)行時所發(fā)生的活動
3.進(jìn)程是一個獨立功能的程序在數(shù)據(jù)集合上運行的過程萧落,進(jìn)程是系統(tǒng)資源分配和調(diào)度的基本單位

PCB概念及其功能

為了便于系統(tǒng)描述和管理進(jìn)程的運行践美,在OS中專門為每個進(jìn)程專門定義了一個數(shù)據(jù)結(jié)構(gòu)---進(jìn)程控制塊PCB(Process Control Block)
PCB記錄了當(dāng)前情況以及管理進(jìn)程運行運行的全部信息洗贰,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)

作用

使在多道程序環(huán)境下不能獨立運行的程序(含數(shù)據(jù))成為一個能運行的基本單位,一個能與其他進(jìn)程并發(fā)執(zhí)行的進(jìn)程

1.作為獨立運行的基本標(biāo)志陨倡,敛滋,當(dāng)系統(tǒng)創(chuàng)建進(jìn)程時就為他創(chuàng)建一個PCB,當(dāng)結(jié)束時收回其PCB,進(jìn)程也隨之消亡,PCB已經(jīng)成為進(jìn)程存在系統(tǒng)中的唯一標(biāo)識
2.能實現(xiàn)間斷性運行方式兴革。在多道程序環(huán)境下矛缨,程序采用的是走走停停的方式運行的,當(dāng)進(jìn)程由于阻塞而停止運行的時候帖旨,系統(tǒng)將CPU現(xiàn)場保留在被中斷進(jìn)程的CPU中箕昭,當(dāng)該進(jìn)程再次被調(diào)度的時候,就可以恢復(fù)CPU現(xiàn)場解阅,而傳統(tǒng)意義的靜態(tài)程序不具備保留現(xiàn)場的能力落竹,無法保留結(jié)果的可再現(xiàn)性,從而失去運行的意義
3.提供進(jìn)程管理所需的信息货抄。操作系統(tǒng)總是根據(jù)PCB實施對進(jìn)程的控制和管理述召,調(diào)度程序調(diào)度到程序運行的時候,只能根據(jù)PCB中記錄的程序和數(shù)據(jù)在內(nèi)存或外存中的始址指針蟹地,找到對應(yīng)的程序和數(shù)據(jù)积暖,還可根據(jù)資源清單中的數(shù)據(jù)了解到該進(jìn)程所需的全部資源
4.提供進(jìn)程調(diào)度所需的信息。只有處于就緒狀態(tài)的程序才可以被調(diào)度執(zhí)行怪与,而在PCB中就提供了進(jìn)程處理哪種狀態(tài)的信息夺刑。還有進(jìn)程的優(yōu)先級,甚至是進(jìn)程的等待時間和已執(zhí)行時間分别。
5.實現(xiàn)與其他進(jìn)程的同步與通信遍愿。進(jìn)程同步機制是用于實現(xiàn),諸進(jìn)程的協(xié)調(diào)運行耘斩,在采用信號量機制的時候沼填,他要求每個進(jìn)程中都設(shè)置相應(yīng)的用于同步的信號量

進(jìn)程的特征

動態(tài)性
由創(chuàng)建而生,由調(diào)度而執(zhí)行括授,由撤銷而消亡坞笙,進(jìn)程是有生命周期的,而程序是一組有序的指令集合荚虚,存放于某種介質(zhì)上(硬盤)薛夜,是靜態(tài)的,沒有活動意義

并發(fā)性
引入進(jìn)程的目的就是為了解決程序并發(fā)執(zhí)行所導(dǎo)致的問題曲管,却邓,程序是沒有PCB的,不能參與獨立并發(fā)執(zhí)行

獨立性

進(jìn)程是系統(tǒng)分配資源與調(diào)度的基本單位院水,他自然也是一個可獨立運行的基本單位腊徙,凡是沒有建立PCB的程序都不可以作為一個獨立的單位運行

異步性:
實質(zhì)程序按照異步的方式運行简十,即按各自獨立的不可預(yù)知的速度向前,也正是由于這點撬腾,才導(dǎo)致了傳統(tǒng)意義上的程序如果參與并發(fā)執(zhí)行會導(dǎo)致結(jié)果的不可再現(xiàn)性螟蝙,為了使程序在運行的時候有異步性當(dāng)是同時也保證程序并發(fā)執(zhí)行的結(jié)果是可再現(xiàn)的,這才引入了進(jìn)程并配備了進(jìn)程同步機制

進(jìn)程的狀態(tài)

就緒
進(jìn)程已經(jīng)處于準(zhǔn)備好運行的狀態(tài)民傻,即進(jìn)程已經(jīng)分配到了除了cpu以外的所有資源胰默,只要再獲取cpu即可立即執(zhí)行,系統(tǒng)中有許多處于就緒的進(jìn)程漓踢,系統(tǒng)會按照優(yōu)先級排成一個優(yōu)先級隊列

執(zhí)行
即進(jìn)程已經(jīng)獲取了CPU,程序正在執(zhí)行狀態(tài)牵署,,在單處理機中只要一個程序處于執(zhí)行狀態(tài)喧半,而在多處理機中有多個程序處于執(zhí)行狀態(tài)

阻塞
當(dāng)正在執(zhí)行的程序發(fā)生了某個事件(IO請求奴迅,申請緩存區(qū)失敗等等),這時候系統(tǒng)就會把處理機分配給另一個就緒進(jìn)程挺据,而該進(jìn)程就進(jìn)入阻塞狀態(tài)取具,主色狀態(tài)的進(jìn)程也會構(gòu)成一個阻塞隊列,根據(jù)阻塞原因的不同還會構(gòu)成多個阻塞隊列扁耐。

在這里插入圖片描述

創(chuàng)建狀態(tài)與等待狀態(tài)

創(chuàng)建狀態(tài)
進(jìn)程由創(chuàng)建而生暇检,創(chuàng)建進(jìn)程是一個很復(fù)雜的過程
創(chuàng)建步驟
進(jìn)程申請一個空白的PCB,并向PCB中加入控制和管理進(jìn)程的信息,讓后為該進(jìn)程分配所需資源婉称,然后把進(jìn)程插入就緒隊列中
如果為該進(jìn)程分配的資源尚未得到滿足块仆,比如系統(tǒng)的內(nèi)存不夠把進(jìn)程插入其中,則此時經(jīng)常就不能被調(diào)度運行酿矢,仍然處于創(chuàng)建狀態(tài)
這是為了確保對進(jìn)程控制的完整性榨乎,同時創(chuàng)建進(jìn)程的引入也增加了管理的靈活性。OS可以根據(jù)系統(tǒng)性能或主存容量的限制推遲新進(jìn)程的提交

終止?fàn)顟B(tài)

步驟
1.等待操作系統(tǒng)的進(jìn)行善后處理瘫筐,最后將其PCB清零,并將PCB返還給系統(tǒng)铐姚。
終止的原因:
1.到達(dá)自然的結(jié)束點策肝,即程序執(zhí)行完畢
2.被操作系統(tǒng)終結(jié)
3.被有其他終止權(quán)的程序終結(jié)
進(jìn)入終止?fàn)顟B(tài)的程序不再執(zhí)行,但是操作系統(tǒng)中仍然保留一個記錄隐绵,保存狀態(tài)碼和一些計時統(tǒng)計數(shù)據(jù)之众,給其他進(jìn)程收集,提取完成后依许,操作系統(tǒng)刪除該進(jìn)程棺禾,并將PCB清零,將空白PCB返還給系統(tǒng)

掛起狀態(tài)與進(jìn)程狀態(tài)的切換

掛起:即讓程序暫時停止運行峭跳,處于靜止?fàn)顟B(tài)膘婶,如果程序正在執(zhí)行他將暫停執(zhí)行缺前,如果程序原本就處于就緒狀態(tài),則該進(jìn)程暫時不接受調(diào)度悬襟。掛起操作會把進(jìn)程從內(nèi)存轉(zhuǎn)入外存衅码。

為什么引入掛起操作
1.負(fù)荷調(diào)節(jié)的需要,當(dāng)實時系統(tǒng)中的工作負(fù)荷較重的時候脊岳,已可能影響到對實時任務(wù)的控制時逝段,為了讓系統(tǒng)正常運行就會掛起某些不重要的進(jìn)程
2.操作系統(tǒng)的需要,操作系統(tǒng)有時候希望掛起某些進(jìn)程割捅,以便檢查運行中的資源使用情況
3.父進(jìn)程的請求奶躯,有時候父進(jìn)程希望掛起自己的某個子進(jìn)程,以便考察和修改該子進(jìn)程或則協(xié)調(diào)個各進(jìn)程之間的活動
4.終端用戶的需要亿驾,當(dāng)終端用戶發(fā)現(xiàn)自己的程序在運行期間有問題巫糙,希望暫停程序的運行,就讓他先停下來颊乘,以便考察其執(zhí)行情況参淹,并對其做修改

引入掛起原語Suspend操作后和激活原語Active后,在他們的作用下乏悄,進(jìn)程將可能發(fā)生一下幾種狀態(tài)的切換浙值,

1.活動就緒------>靜止就緒,當(dāng)進(jìn)程處于未掛起的就緒狀態(tài)時檩小,此成此活動就緒狀態(tài)表示為Readya开呐,此時的進(jìn)程可以接受調(diào)度,而使用掛起原語Suspend將進(jìn)程掛起后,進(jìn)程就變?yōu)殪o止就緒狀態(tài)末早,表示為Readys奥秆。此時的進(jìn)程不接受調(diào)度
2.活動阻塞-->靜止阻塞,當(dāng)進(jìn)程處于未被掛起的阻塞狀態(tài)的時候 瓦戚,稱它為活動阻塞,表示為Blockeda丛塌,當(dāng)使用Suspend原語掛起后较解,進(jìn)程就轉(zhuǎn)換為靜止阻塞狀態(tài),處于該進(jìn)程轉(zhuǎn)狀態(tài)的某個事件出現(xiàn)后赴邻,該進(jìn)程就由靜止阻塞狀態(tài)轉(zhuǎn)為靜止就緒狀態(tài)
3.靜止就緒---->活動就緒印衔,處于Readys狀態(tài)的進(jìn)程使用Active激活后,該進(jìn)程就變?yōu)榛顒泳途w狀態(tài)姥敛,即由Readys轉(zhuǎn)為Readya
4.靜止阻塞------>活動阻塞奸焙,處于Blockeds狀態(tài)的進(jìn)程使用激活原語Active激活后,進(jìn)程將轉(zhuǎn)換為Blockeda(活動阻塞)狀態(tài)

圖一:

在這里插入圖片描述

圖二:
**加粗樣式**

1.NULL---->創(chuàng)建,當(dāng)一個新進(jìn)程產(chǎn)生時与帆,該進(jìn)程處于創(chuàng)建狀態(tài)了赌,
2.創(chuàng)建--->活動就緒,當(dāng)前系統(tǒng)的性能和內(nèi)存容量都允許的時候鲤桥,完成對進(jìn)程創(chuàng)建的必要操作后揍拆,相應(yīng)的系統(tǒng)進(jìn)程將系統(tǒng)的狀態(tài)轉(zhuǎn)為活動就緒狀態(tài)
3.創(chuàng)建--->靜止就緒,考慮到當(dāng)前系統(tǒng)的資源狀況與性能要求茶凳,不分配給新建進(jìn)程所需資源嫂拴,。相應(yīng)的進(jìn)程狀態(tài)轉(zhuǎn)為靜止就緒狀態(tài)安放于外存
4.執(zhí)行--->終止贮喧,當(dāng)一個進(jìn)程已經(jīng)完成任務(wù)的時候筒狠,,或者出現(xiàn)了無法克服的錯誤箱沦,或者被其他進(jìn)程終結(jié)辩恼,則轉(zhuǎn)為終止?fàn)顟B(tài)

進(jìn)程控制塊PCB(Process Control Block)

1.進(jìn)程控制塊的組織方式

1.1線性方式,即所有PCB保留在一張線性表中
優(yōu)點:開銷小谓形,實現(xiàn)簡單
缺點:每次掃描都需要掃描整張表

在這里插入圖片描述

2.鏈接方式灶伊,把具有相同狀態(tài)進(jìn)程的PCB分別通過PCB中的鏈接關(guān)鍵字鏈接成一個隊列,從而形成就緒隊列寒跳、阻塞隊列聘萨、運行隊列等。

在這里插入圖片描述

3. 索引方式:系統(tǒng)根據(jù)進(jìn)程狀態(tài)的不同建立幾張索引表童太,米辐,并把各索引表在內(nèi)存的首地址記錄在內(nèi)存的一些專用單元中系統(tǒng)按照進(jìn)程的狀態(tài)分別建立就緒索引表、阻塞索引表等书释。

在這里插入圖片描述

2.進(jìn)調(diào)度所需的信息
1.進(jìn)程的優(yōu)先級
2.進(jìn)程進(jìn)入阻塞狀態(tài)的原因
3.進(jìn)程檔當(dāng)前的狀態(tài)
4.進(jìn)程調(diào)度所需的其他信息

3.進(jìn)程控制信息

1.進(jìn)程的同步與通信機制
2.程序和數(shù)據(jù)的地址
3.資源清單
4.鏈接指針翘贮,他給出了本進(jìn)程(PCB)在所在隊列的下一個進(jìn)程的PCB的首地址

以上就是操作系統(tǒng)系列----進(jìn)程與程序 進(jìn)程的描述,如有幫助還請點贊關(guān)注支持爆惧,如有疑問評論私信都可狸页,看到后可幫助解答本博客主要側(cè)重于數(shù)據(jù)結(jié)構(gòu)于算法和java開發(fā),操作系統(tǒng)检激,計算機網(wǎng)絡(luò)肴捉,覺得我的文章有幫助的小伙伴可以關(guān)注我,有疑問可評論私信叔收,相逢即是緣,大家高處見

在這里插入圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末傲隶,一起剝皮案震驚了整個濱河市饺律,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌跺株,老刑警劉巖复濒,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脖卖,死亡現(xiàn)場離奇詭異,居然都是意外死亡巧颈,警方通過查閱死者的電腦和手機畦木,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砸泛,“玉大人十籍,你說我怎么就攤上這事〈浇福” “怎么了勾栗?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盏筐。 經(jīng)常有香客問我围俘,道長,這世上最難降的妖魔是什么琢融? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任界牡,我火速辦了婚禮,結(jié)果婚禮上漾抬,老公的妹妹穿的比我還像新娘宿亡。我一直安慰自己,他們只是感情好奋蔚,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布她混。 她就那樣靜靜地躺著,像睡著了一般泊碑。 火紅的嫁衣襯著肌膚如雪坤按。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天馒过,我揣著相機與錄音臭脓,去河邊找鬼。 笑死腹忽,一個胖子當(dāng)著我的面吹牛来累,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窘奏,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼嘹锁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了着裹?” 一聲冷哼從身側(cè)響起领猾,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后摔竿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體面粮,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年继低,在試婚紗的時候發(fā)現(xiàn)自己被綠了熬苍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡袁翁,死狀恐怖柴底,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情梦裂,我是刑警寧澤似枕,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站年柠,受9級特大地震影響凿歼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冗恨,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一答憔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掀抹,春花似錦虐拓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至揪利,卻和暖如春态兴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疟位。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工瞻润, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甜刻。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓绍撞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親得院。 傳聞我的和親對象是個殘疾皇子傻铣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353