《UNIX環境高級編程》學習心得 一

本文內容大部分摘自《UNIX環境高級編程》,附有部分我的心得。shell


一、unix體系結構

從嚴格意義上來講,可將操做系統定義爲一種軟件,它控制計算機硬件資源,提供程序運行環境。
咱們一般將這種軟件稱爲內核(kernel),由於它相對較小,並且位於環境核心。如圖顯示unix體系結構。


內核接口被稱爲系統調用(system call)。公用函數庫構建在系統調用接口之上,應用程序既可食用公用函數庫,也可使用系統調用。
shell是一個特殊的應用程序,爲運行其餘應用程序提供了一個接口。

從廣義上來說,操做系統包括內核和其餘軟件。

二、登錄

用戶在登錄unix系統時,要先鍵入登陸名,而後鍵入登陸口令。系統在其口令文件(一般是/etc/passwd文件)中查看登陸名。
口令文件中的登錄項是由七個以冒號爲分隔的字段組成,依次是:登陸名、加密口令、數字用戶ID、數字組ID、註釋字段、起始目錄以及shell程序(我理解爲系統調用的權限)

root:*:0:0:System Administrator:/var/root:/bin/sh
名 :密:戶:組:            注              :    目    :   shell

巧計:明迷糊租住木鞋

三、文件和目錄

    3.1 文件系統
    unix文件系統是目錄和文件的一種層次結構(樹形結構),全部東西的起點是根(root)目錄,根目錄的名稱是「/」。
    3.2 文件名
    目錄中的各個名字稱爲文件名(filename)。只有斜線(/)和空字符不能出如今文件名中。斜線用來分割路徑,空格用來終止一個路徑名。
    3.3 路徑名
    由斜線分隔的一個或多個文件名組成的序列(能夠以斜線開頭)構成路徑名(pathname),以斜線爲開頭的路徑名爲絕對路徑(absolute pathname),不然稱爲相對路徑名(relative pathname)。

四、程序與進程

    4.一、程序:

    程序(program)是儲存在磁盤上某個目錄中可執行的文件。內核使用exec還書將程序讀入內存,並執行程序。

    4.二、進程和進程ID

    程序執行實例被稱爲進程(process)。unix系統確保每一個進程都有一個惟一的數字標識符,成爲進程ID(process ID),進程ID老是一個非負整數。

        4.2.一、進程控制

        有三個用於控制進程的主要函數:fork、exec、waitpid。

    4.三、線程和線程ID

    線程(thread):資源執行的基本單位

    線程ID:惟一地標識了一個進程中的線程,它只在所屬進程中有效,一個進程的線程ID到了另外一個進程中毫無心義。

    注:線程能夠共享同一地址空間、文件描述符、棧、進程相關的屬性。

編程

相關文章
相關標籤/搜索