原创 進程間通信-------共享空間

        共享內存:使得多個進程可以訪問同一塊內存空間,是最快的可用IPC形式。是針對其他通信機制運⾏效率較低⽽設計的。往與其它通信機制,如信號量結合使用,來達到進程間的同步及互斥。共享內存效率高,因爲不像管道以及消息隊列一樣,讀寫

原创 Linux中內核控制塊task_struck

     廣義上,所有的進程信息被放在⼀一個叫做進程控制塊的數據結構中,可以理解爲進程屬性的集合。 進程控制塊:     每個進程在內核中都有⼀一個進程控制塊(PCB)來維護進程相關的信息,Linux內核的 進程控制塊是task_stru

原创 Linux配置VIM

       配置⽂文件的位置 在⽬目錄 /etc/ 下⾯面,有個名爲vimrc的文件,這是系統中公共的vim配置文件,對所有⽤用戶都有效。而在每個用戶的主目錄下,都可以自己建立私有的配置⽂文件,命名爲:“.vimrc”。例如,/root

原创 atexit(),Linux中的粘滯位和FILE結構體

        我們在這篇博客中主要討論三個知識點:分別是atexit(),Linux中的粘滯位和FILE結構體。                     一、驗證連續註冊三個函數,看輸出順序(atexit)   源碼: #includ

原创 進程的程序替換與shell的實現

  在Linux系統中,⽤用fork創建⼦子進程後執⾏行的是和⽗父進程相同的程序(但有可能執⾏行不同的代碼分⽀支),⼦進程往往 要調⽤用⼀一種exec函數以執⾏行另⼀一個程序。當進程調⽤用⼀一種exec函數時,該進程的⽤用戶空間代碼和數

原创 MySQL基本命令操作

一、MySQL基本命令操作 1.MySql服務開啓關閉指令 服務關閉:net stop MySQL 服務關閉:net start MySQL 登陸:mysql -h localhost -P 3306 -u root -p

原创 Linux進程調度算法

一、概念          操作系統管理了系統的有限資源,當有多個進程(或多個進程發出的請求)要使用這些資源時,因爲資源的有限性,必須按照一定的原則選擇進程(請求)來佔用資源。這就是調度。目的是控制資源使用者的數量,選取資源使用者許可佔用

原创 C/C++調用約定

                             C/C++函數調用約定 在編程中,一個函數完整的執行需要經過編譯鏈接等多個過程,而在每個過程中編譯器都需要爲程序提供不同的服務,那麼一個函數的調用執行到底需要幾個過程呢?下面我們先

原创 路由表生成算法

一、路由表 1、路由表僅指定從該路由器到目的地路徑上的下一步,而不知道到達目的地的完整路徑,標準的IP路由表包含許多對序偶,N表示目的網絡的IP地址,R表示到N路徑上的下一個路由器的IP地址。2、   基本的下一站路由選擇算法: Rout

原创 C++三大特性之多態

                                   多態 編譯環境:VS2013 一、對象類型 在引入多態之前,我們先來看一下對象類型   二、多態性的概念      多態一詞最初來源於希臘語,意思是具有多種形式或形態的

原创 網絡端口號,TCP定時器和TCP建立連接狀態基的變更

一、網絡端口號 1. 什麼是網絡端口 在網絡技術中,端口(Port)大致有兩種意思:      物理意義上的端口,比如,ADSL Modem、集線器、交換機、路由器用於連接其他網絡設備的接口,如RJ-45端口、SC端口等等;

原创 HUffmanTree

構造Huffman樹 Huffman樹構造算法: 1、由給定的n個權值{w1,w2,w3,…,wn}構造n棵只有根節點的擴充二叉樹森林F= {T1,T2,T3,…,Tn},其中每棵擴充二叉樹Ti只有一個帶權值wi的根節點,左右孩子均爲

原创 實現多進程多線程服務器

多進程:     客戶端: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/types.h> #include<sys/socket.h> #inc

原创 Linux中模擬實現進度條

 一、背景 1、進度條實現原理    進度條的實現必須瞭解以下幾個知識點,回車換行、緩衝區    換行:換行就是光標只從上一行行尾移至下一行行尾    回車:回車就是光標從行尾移至行首    回車換行:回車換行就是光標從行尾移至下一行行首

原创 Lunix中三個重要時間和find命令

                               一、定義 Chang time:簡稱ctime,一個文件或目錄的更改時間。在Linux中,基本上無法知道一個文件的精確創建時間,更改時間是指文件或目錄的屬性(所有者,權限等等)