原创 學習筆記:linuxc第六章上

利用chmod函數實現自己簡化版chmod命令時所需要注意的問題:利用chmod 函數實現chmod命令修改一個文件權限時需要輸入其權限對應的數字。此時輸入的數字是字符型的(即字符串),需要把它轉換爲八進制整數。首先我們先把這個

原创 學習筆記:linuxc第六章下

本章講述了一些基本的文件操作,文件主要包含兩方面的內容:(1)文件本身包含的數據,(2)文件屬性。下面,我簡述一下文件屬性操作,和在學習、練習過程覺得應該注意的地方。 文件屬性操作: 1.獲取文件屬性:在shell下直接用命令

原创 深度探索C++對象模型——Function語意學

前言: 最近在讀《深度探索C++對象模型》,收穫不小,整理一些筆記,一來總結加體悟,二來希望以後在某些知識點的遺忘時能快速拾起也希望對讀者有一定的幫助。 C++支持三種類型的成員函數 static nonstatic virtual

原创 動態內存與智能指針

我們先來看一些對象的生存期。全局對象在程序啓動時分配,在程序結束時銷燬。局部static對象在第一次使用前分配,在程序結束時銷燬。局部自動對象,在進入其定義所在的程序塊兒時被創建,離開塊時銷燬。即,它們都是由編譯器自動創建與銷燬。 而動

原创 可靠傳輸之TCP協議

首先,我們來看一下TCP報文段結構,梳理一下關鍵字含義: 傳輸層最常用的兩種協議:UDP和TCP。它們最基本的責任是將兩個端系統間IP的交付服務擴展爲運行在端系統上的兩個進程之間的交付服務。在這裏我只對提供可靠傳輸的TCP做介紹。 在

原创 C++ I/O庫概述

平時用到的I/O操作也不多,對這塊兒的整體認識還是比較生疏,簡單整理一下,當作筆記。 常用的I/O庫設施: 1) istream(輸入流類型),提供輸入操作,該類型在頭文件iostream中。 2) ostream(輸出流類型),提供輸出

原创 計算機網絡體系結構及其簡單通信

(一)通信的基本概念: 我們知道,通信的目的是快速、有效地傳遞信息。下面我們先來簡單地介紹一點通信的基本知識: 現代信息的表達方式有文字、符號、聲音、圖像數據等多種形式。爲了實現信息傳遞,通常以光、電等信號作爲信息的載體。 信號:信息的

原创 重載運算

重載的運算符是具有特殊名字的函數:它們的名字由關鍵字 operator 和其後要定義的運算符號共同組成。和其他函數一樣,重載的運算符也包含返回類型、參數列表以及函數體。對於一個運算符函數來說,它或者是類的成員,或者至少含一個類類型的參數:

原创 TCP連接的建立與終止過程

我們知道,網絡間的通信簡單的從應用層來看,就是同一或者不同主機上的進程之間進行信息傳送和/或接收。在信息傳輸的過程中我們需要遵循一定的規則。 舉個簡單例子,假如我想傳送一個信息A給你,那麼按照特定的規則我發送的A在傳輸的過程中實際上是以

原创 存儲器層次結構(1)

我們知道,一個簡單的計算機系統模型是CPU執行指令,而存儲器爲CPU存放指令和數據。 在簡單模型中,存儲器系統是一個線性的字節數組,CPU能夠在常數時間範圍內訪問每個存儲器位置。這樣的一個簡單模型並不能有效地反映現代系統實際工作的方式。

原创 Linux虛擬存儲器系統

一個虛擬存儲系統要求硬件和內核軟件之間緊密協作,版本與版本之間細節都不盡相同,在這裏我們的目標是對Linux的虛擬系統做一個描述,大致理解操作系統是如何組織虛擬存儲器以及如何缺頁的。 虛擬地址空間:一套虛擬地址的集合。cpu從一個有N=2

原创 80x86微處理器結構及其工作模式

80X86是一系列微處理器 微處理器又稱爲中央處理單元,即CPU,是一塊集成電路芯片。它是微型計算機的核心組成部分。 既然微處理器是微型計算機的核心,那麼我們有必要先來簡單地討論一下微型計算機。 微型計算機: 微型計算機是指以微處理器爲

原创 I/O複用之 select和epoll

9在我們介紹I/O複用之前,先來看一個小例子: ... while(fgets(sendline, MAXLINE, fp) != NULL){ write(sockfd, sendline, 1) ... ...

原创 Fedora 23 Mysql 安裝及配置

第一步,下載一個Mysql客戶端 dnf install mysql * 這時,當你執行命令:mysql -uroot -p 會出現以下錯誤: mysql connection refused and mysql no such file

原创 存儲器層次結構(2)

接着上次簡單的介紹,讓我們來繼續討論這些“存儲器們”吧。 在上一篇中我提到了傳統的DRAM,簡單描述了每個DRAM芯片與存儲控制器的“交互”過程。下面,我們來看一下多個DRAM芯片是怎樣集合在一起工作的。 存儲器模塊: DRAM 芯片包