原创 UNIX文件的共享
1.內核使用三種數據結構表示打開的文件,它們之間的關係決定了在文件共享方面一個進程對另一個進程的影響。 (1). 每個進程在進程表中都一個記錄項(task_struct),包含一個打開文件描述符表(存放在用戶空間)。每個文件描述符爲表中一
原创 Learning Perl 7
1. 數組的長度 $#arrayname返回數組最後一個長度的下標。( 默認數組是從0下標開始) 2. 數組的切片Array slicing 從一個數組給另一個數組的元素賦值時,得出的數組稱爲數組片。如果右邊的數組大於左邊的數組時,未使用
原创 UNIX進程控制
1. 交換進程與init進程 進程ID0是調度進程,常常被稱爲交換進程(swapper)。該進程並不執行任何磁盤上的程序。它是內核的一部分,因此也被稱爲系統進程。 進程ID1通常是init進程,在自舉過程結束時由內核調用(swap
原创 I/O複用
1. 概念 當從一個fd讀,寫到另一個fd時,可以在下列形式的循環中使用阻塞I/0。 while((n = read(STDIN_FILENO, buf, BUFSIZ)) > 0) if (write(STDOUT_FILEN
原创 我的友情鏈接
51CTO博客開發
原创 UNIX進程環境和動態鏈接
1. 環境表 每個程序都會從父進程那裏接收一張環境表。和參數包一樣,環境表也是一個字符指針數組,其中每個指針包含你一個null結束的C字符串地址。全局變量environ則包含該指針數組地址,稱爲環境指針。環境指針指向環境表,保存每
原创 守護進程
概念 守護進程,也就是通常說的Daemon進程,是Linux中的後臺服務進程。它是一個生存期較長的進程,通常獨立於控制終端並且週期性地執行某種任務或等待處理某些發生的事件。守護進程常常在系統引導裝入時啓動,在系統關閉時終止。Linu
原创 查看文件系統信息的命令
1. stat命令: display file or file system status [OPTIONS] -L, --dereference: follow links -f, --file-system: display fil
原创 Linux 的殭屍(zombie)進程
原文地址:http://coolshell.cn/articles/656.html 可能很少有人意識到,在一個進程調用了exit之後,該進程 並非馬上就消失掉,而是留下一個稱爲殭屍進程(Zombie)的數據結構。在Linux
原创 I/O複用
1. 概念 當從一個fd讀,寫到另一個fd時,可以在下列形式的循環中使用阻塞I/0。 while((n = read(STDIN_FILENO, buf, BUFSIZ)) > 0) if (write(STDOUT_FILEN
原创 UNIX進程控制
1. 交換進程與init進程 進程ID0是調度進程,常常被稱爲交換進程(swapper)。該進程並不執行任何磁盤上的程序。它是內核的一部分,因此也被稱爲系統進程。 進程ID1通常是init進程,在自舉過程結束時由內核調用(swap
原创 GDB & core dump
一、core dump1.何謂 core dump? 在使用半導體作爲內存的材料前,人類是利用線圈當作內存的材料,線圈就叫作 core ,用線圈做的內存就叫作core memory。如今,半導體工業澎勃發展,已經沒有人用core me
原创 pthread線程庫簡介
1.線程實現 線程是在進程的基礎上進一步的抽象,也就是說一個進程分爲兩個部分:線程集合和資源集合。線程是進程中的一個動態對象,它應該是一組獨立的指令流,進程中的所有線程將共享進程裏的資源。但是線程應該有自己的私有對象:比如程序計數器
原创 UNIX進程組,會話和作業控制
1. 進程組、會話與終端(1).每個進程都屬於一個進程組。進程組是一個或多個進程的集合,通常它們與一組作業相關聯,可以接受來自同一終端的各種信號。每個進程組都有唯一的進程組ID(整數,也可以存放在pid_t類型中)。 #include <
原创 pthread線程同步機制
1.互斥量 當多個控制線程共享相同的內存時,需要確保每一個線程看到一致數據視圖。如果不存在讀取數據或者所有數據只讀時不會存在一致性問題。如果某個線程正在修改變量而其他線程也可以讀取或者修改這個變量的時候就需要對這些線程進行同步。在變量修改