原创 死鎖和進程通信

死鎖:由於競爭資源或者通信關係,兩個或更多進程在執行中出現,永遠相互等待只能由其他進程引發的事件。 資源分類: (1)可重用資源Reusable Resource:資源不能被刪除任何時刻只能有一個進程使用;進程釋放之後,其他進程可重用;

原创 操作系統入門

1、操作系統:是一個控制程序,是一個資源管理器 操作系統軟件的組成:Shell命令行接口,鍵盤操作;GUI圖形用戶接口;Kernel操作系統的內部     2、操作系統特徵: 併發:同時存在多個運行的程序,需要OS管理和調度 共

原创 物理內存非連續性分配

  非連續分配:提高內存利用效率和管理靈活性 允許一個程序的使用非連續的物理地址空間;允許共享代碼和數據;支持動態加載和動態鏈接。   段式存儲管理: 段地址空間有多個段組成:主代碼段、子模塊代碼段、公用庫代碼段、堆棧段stack、堆數據

原创 物理內存連續內存分配

內存管理的要求: 抽象:邏輯(虛擬)地址空間; 保護:獨立地址空間; 共享:訪問相同內存; 虛擬化:更大的地址空間 內存管理方式: 重定位,relocation,段地址+偏移; 分段,segmentation,代碼,數據,堆棧分成三塊,每

原创 頁面置換算法

頁面置換算法的概念:     出現缺頁異常,則需調入新頁面二內存已滿時,置換算法選擇被置換的物理頁面。儘可能減少頁面的調如調出次數,把未來不再訪問或短期內不訪問的頁面調出。 頁面鎖定framelocking:常駐的邏輯頁面,操作系統的關鍵

原创 進程切換、創建、加載

進程切換(上下文切換):暫停當前運行狀態,從運行狀態變成其他狀態;調度另一個進程從就緒狀態變成運行狀態。 進程切換的要求:切換前,保存進程上下文;切換後,恢復進程上下文;快速切換。寄存器、CPU、內存地址空間。   進程創建:windo

原创 通配符的字符串匹配算法

1. 簡述     題目描述:     Str1中可能包含的字符:除了'*'和'?'以外的任意字符。     Str2中可能包含的字符:任意字符。其中,'?'表示匹配任意一個字符,'*'表示匹配任意字符0或者多次。     給出這樣兩

原创 信號量與管程

基本同步方法 信號量semaphore:操作系統提供的一種協調共享資源訪問的方法:OS是管理者,地位高於進程;信號量表示系統資源的數目。是一種抽象的數據類型:一個整形變量sem和兩個原子操作(p(),申請,sem減1,如sem<0,進入

原创 C++:STL標準入門彙總

原文:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html 第一部分:(參考百度百科)  一、STL簡介 STL(Standard Template Li

原创 算法的時間複雜度

在計算算法複雜度時一般只用到大O符號,Landau符號體系中的小o符號、Θ符號等等比較不常用。這f (n) = Ο(g (n)) 表示存在一個常數C,使得在當n趨於正無窮時總有 f (n) ≤ C * g(n)。    例如,O(2n^2

原创 棧stack與隊列queue

棧與隊列 1、棧 (a)棧接口與實現 棧結構stack:訪問最末端的一個元素,通常將其旋轉90度,開放的那端是頂部,另一端是底部。 基本操作實例:注意的是c++中pop()返回類型是void而不是元素值,主要原因是安全問題(會出現異常)和

原创 字符串排序

2168:字符串排序 編寫一個程序,將輸入字符串中的字符按如下規則排序。 規則1:英文字母從A到Z排列,不區分大小寫。       如,輸入:Type 輸出:epTy 規則2:同一個英文字母的大小寫同時存在時,按照輸入順序排列。     

原创 有序向量Vector

逆序對是指相鄰元素之間前者大於後者,即逆序對。 template<typename T> int Vector<T>::disorder() const {     int n=0;     for(int i=1;i<_size;i++

原创 將真分數化爲埃及分數:

分子爲1的分數稱爲埃及分數。現輸入一個真分數(分子比分母小的分數,叫做真分數),請將該分數分解爲埃及分數。如:8/11 = 1/2+1/5+1/55+1/110。 接口說明  /*  功能: 將分數分解爲埃及分數序列  輸入參數:    

原创 QT5.3.1和opencv的配置問題

轉載鏈接 ,<1> http://www.tuicool.com/articles/VZfue2 <2> http://blog.csdn.net/u012234115/article/details/38612977 經過很久的配