垂死挣扎-1
進程控制塊是描述進程狀態和特性的數據結構,一個進程只能有惟一的進程控制塊。
?
編譯:進行語法檢查、函數分配空間,將各個函數編譯成二進制碼,按照特定目標文件格式生成目標文件。 連接:把程序中各個文件編譯生成的目標文件連接起來,同時還要同系統提供的資源(如函數庫)連接成為一個整體,得到可執行文件。 運行:執行連接好的程序。 重定位:把程序的邏輯地址空間變換成內存中的實際物理地址空間的過程,也就是說在裝入時對目標程序中指令和數據的修改過程。 某計算機系統中有 8 臺打印機,由 K 個進程競爭使用,每個進程最多需要 3臺打印機。該系統可能會發生死鎖的 K 的最小值是 由于每個進程最多需要3臺打印機就可以正常結束,釋放占有的資源。那么現在有K個進程,最差的情況是這個k個進程每個進程分配了兩臺打印機,那么進程僵持在這里每個都在等待分配第三臺打印機,只要還有一臺打印機,進程就就能陸續釋放,不會產生死鎖,所以不產生死鎖的條件是2k+1<=8 即k<3.5,所以可能發生死鎖的k的最小值(整數)是4 ? 程序鏈接的方式一共有三種:? 1.靜態鏈接方式(Static Linking) 2.裝入時動態鏈接(Load-time Dynamic Linking) 3.運行時動態鏈接(Run-time Dynamic Linking)?
?
A類:1.0.0.1~126.255.255.254?第一個字節范圍1~126(0000 0001~0111 1110) ‘0’開頭 ? B類:128.0.0.1到191.255.255.254第一個字節范圍128~191 (1000 0000~1011 1111)‘10’開頭 C類:192.0.0.1到223.255.255.254第一個字節范圍192~223 (1100 0000~1101 1111)‘110’開頭 1. A類地址 ⑴ A類地址第1字節為網絡地址,其它3個字節為主機地址。另外第1個字節的最高位固定為0。 ⑵ A類地址范圍:1.0.0.1到126.255.255.254。 ⑶ A類地址中的私有地址和保留地址: ①10.0.0.0到10.255.255.255是私有地址(所謂的私有地址就是在互聯網上不使用,而被用在局域網絡中的地址)。 ② 127.0.0.0到127.255.255.255是保留地址,用做循環測試用的。 2. B類地址 ⑴ B類地址第1字節和第2字節為網絡地址,其它2個字節為主機地址。另外第1個字節的前兩位固定為10。 ⑵ B類地址范圍:128.0.0.1到191.255.255.254。 ⑶ B類地址的私有地址和保留地址 ① 172.16.0.0到172.31.255.255是私有地址 ②169.254.0.0到169.254.255.255是保留地址。如果你的IP地址是自動獲取IP地址,而你在網絡上又沒有找到可用的DHCP服務器,這時你將會從169.254.0.0到169.254.255.255中臨得獲得一個IP地址。 3. C類地址 ⑴C類地址第1字節、第2字節和第3個字節為網絡地址,第4個個字節為主機地址。另外第1個字節的前三位固定為110。 ⑵ C類地址范圍:192.0.0.1到223.255.255.254。 ⑶ C類地址中的私有地址:192.168.0.0到192.168.255.255是私有地址。| 1 2 3 | SMTP:定義了簡單郵件傳送協議,現在很多郵件服務器都用的是這個協議,用于發送郵件。 如常見的免費郵件服務中用的就是這個郵件服務端口,所以在電子郵件設置中常看到有這么SMTP端口設置這個欄, 服務器開放的是25號端口。 |
?---
| 1 2 3 4 5 6 | FTP:21端口用于連接,20端口用于傳輸數據 進行FTP文件傳輸中,客戶端首先連接到FTP服務器的21端口,進行用戶的認證,認證成功后,要傳輸文件時,服務器會開一個 端口為20來進行傳輸數據文件。 也就是說,端口20才是真正傳輸所用到的端口,端口21只用于FTP的登陸認證。我們平常下載文件 時,會遇到下載到99%時,文件不完成,不能成功的下載。其實是因為文件下載完畢后,還要在21端口再行進行用戶認證,而下載文 件的時間如果過長,客戶機與服務器的21端口的連接會被服務器認為是超時連接而中斷掉,就是這個原因。解決方法就是設置21端口 的響應時間。 |
255,255,240,0對應的二進制是11111111|11111111|11110000|00000000,我們知道最后一個1之前是子網,那么對應的剩下的位置就是可放置的主機數,因此是2的12次冪,4096
子網掩碼中所有0的位數就是主機的位數,總共12位,所以可以有2的12次方,總共4096個,但是要除去全0和全1,最后只有4094個
如果在一個建立了TCP連接的socket上調用recv函數,返回值為0,則表示對端關閉了連接
返回說明:?
成功執行時,返回接收到的字節數。
另一端已關閉則返回0。
失敗返回-1,
?
server為多為靜態內容時,開啟keep-alive,增加傳輸效率。動態請求,已占用的資源得不到釋放,效率低下。
?
我們知道現在咱用的小塑料盒寬帶路由器,可以為WAN口配置一個IP地址,或者通過PPPOE方式獲取到一個IP地址,LAN口可以設定一個IP地址,這樣的話,最多也就只能接入兩個網段。因為它沒有虛接口(也叫子接口)功能。 高端的電信級路由器,可以在一個物理端口上設置劃分出虛接口(子接口),并為每一個子接口配置IP地址和路由策略。它的上/下聯鏈路使用標準的802.1Q VLAN TRUNK方式接入,我們知道根據IEEE的規范,最大可以有4096個VLAN,這樣的話,TRUNK鏈路里最多就可以包含4096個網段。而如果兩個物理接口分別接入4096個VLAN,且每個VLAN通過可變長掩碼等方式使各網段地址均不直接相通,則一個兩端口的路由器兩側均有4096個網段,兩側加在一起就是8192個網段,當然大于4個了。crontab 分六大塊組成,具體如下:?
MIN(分鐘) HOUR(小時) DAY(日期) MONTH(月份) DAYOFWEEK(星期) COMMAND(命令)
/etc/services ? ???文件是記錄網絡服務名和它們對應使用的端口號及協議。 /etc/nsswitch.conf ? ? ??規定通過哪些途徑以及按照什么順序通過這些途徑來查找特定類型的信息。還可以指定某個方法奏效或失效時系統將采取什么動作。?? /etc/hosts ? ? ??是配置ip地址和其對應主機名的文件,這里可以記錄本機的或其他主機的ip及其對應主機名。不同的linux版本,這個配置文件也可能不同 文件/etc/nsswitch.conf(name service switch configuration?,名字服務切換配置?)?規定通過哪些途徑以及按照什么順序通過這些途徑來查找特定類型的信息。還可以指定某個方法奏效或失效時系統將采取什么動作。???
Nsswitch.conf中的每一行配置都指明了如何搜索信息,每行配置的格式如下:???
Info: method[[action]] [method[[action]]...]???
??? 其中,info?指定該行所描述的信息的類型,?method?為用來查找該信息的方法,?action?是對前面的?method?返回狀態的響應。?action要放在方括號里。 LINUX的硬鏈接不能鏈接到目錄是因為引入了對目錄的硬連接就有可能在目錄中引入循環,在目錄遍歷的時候系統就會陷入無限循環當中,這樣導致無法定位到訪問目錄。? 硬鏈接:為原文件創建一個新的文件名,但本質中只增加了一個目錄項,并使用與原來相等的inode,指向 原文件的區域。數據區為兩個名字共享。 使用限制:源文件和鏈接文件必須在同一個文件系統內,且目錄文件不能創建硬鏈接。 命令:ln a b // 給a創建鏈接文件b 可以使用ls -i查看兩個inode是完全一樣的。 同時注意連接計數count。count的意義對于文件來說是硬鏈接的個數,對于目錄,一般(count-2)為目錄包含的子文件個數。 注意:兩者的權限也是完全一樣的。對其中一個進行讀寫操作,另外一個也會更新。但刪除其中一個,只會刪除目錄項,不會刪除存儲區數據。另外一個文件的使用和操作完全不受影響。除非count-1結果0,才將數據區刪除。 作用:節省空間,兩個文件能同步更新,防止重要文件被“誤刪”。 軟鏈接:也叫符號鏈接。本質是創建一個新的文件,保存源文件的路徑名。因此inode和源文件的inode是不一樣的。使用沒有文件系統的限制,也沒有文件和目錄的限制。 命令:ln -s a b ? 注意:產生的文件權限和源文件是不一樣的。由于軟鏈接使用比較靈活,可能斷鏈,也可以自循環,往往需要多次查找增加文件操作的步驟而降低效率。盡量少用,并避免出現循環。 符號鏈接也叫軟連接。
硬鏈接是一個文件有一個或多個文件名。
軟連接是一個文件內存在另一個文件的指向。 1、硬連接適用于在同一個卷的文件級別,不允許給目錄創建硬鏈接;
2、硬連接是不能跨卷的,只有在同一文件系統中的文件之間才能創建鏈接。 wc -l只輸出文件行數 Linux系統中的wc(Word Count)命令的功能為統計指定文件中的字節數、字數、行數,并將統計結果顯示輸出。 1.命令格式: wc [選項]文件... 2.命令功能: 統計指定文件中的字節數、字數、行數,并將統計結果顯示輸出。該命令統計指定文件中的字節數、字數、行數。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所指定文件的總統計數。 3.命令參數: -c 統計字節數。 -l 統計行數。 -m 統計字符數。這個標志不能與 -c 標志一起使用。 -w 統計字數。一個字被定義為由空白、跳格或換行字符分隔的字符串。 -L 打印最長行的長度。 -help 顯示幫助信息 --version 顯示版本信息 4.使用實例: 實例1:查看文件的字節數、字數、行數 命令: wc test.txt 輸出: [root@localhost test]# cat test.txt? hnlinux peida.cnblogs.com ubuntu ubuntu linux redhat Redhat linuxmint [root@localhost test]# wc test.txt 7 ?8 70 test.txt [root@localhost test]# wc -l test.txt? 7 test.txt [root@localhost test]# wc -c test.txt? 70 test.txt [root@localhost test]# wc -w test.txt? 8 test.txt [root@localhost test]# wc -m test.txt? 70 test.txt [root@localhost test]# wc -L test.txt? 17 test.txt 說明: 7 ? ? 8 ? ? 70 ? ? test.txt 行數 單詞數 字節數 文件名 實例2:用wc命令怎么做到只打印統計數字不打印文件名 命令: 輸出: [root@localhost test]# wc -l test.txt? 7 test.txt [root@localhost test]# cat test.txt |wc -l 7[root@localhost test]# 說明: 使用管道線,這在編寫shell腳本時特別有用。 實例3:用來統計當前目錄下的文件數 命令: ls -l | wc -l 輸出: [root@localhost test]# cd test6 [root@localhost test6]# ll 總計 604 ---xr--r-- 1 root mail ?302108 11-30 08:39 linklog.log ---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log -rw-r--r-- 1 mail users ? ? 61 11-30 08:39 log2013.log -rw-r--r-- 1 root mail ? ? ? 0 11-30 08:39 log2014.log -rw-r--r-- 1 root mail ? ? ? 0 11-30 08:39 log2015.log -rw-r--r-- 1 root mail ? ? ? 0 11-30 08:39 log2016.log -rw-r--r-- 1 root mail ? ? ? 0 11-30 08:39 log2017.log [root@localhost test6]# ls -l | wc -l 8 [root@localhost test6]# 說明: 數量中包含當前目錄 Linux執行ls,會引起哪些系統調用 shell命令執行機制就是 fork+exec,?fork是分身,execve是變身。ls命令要列出目錄下的文件,所以read也會調用。 注意題目說的是系統調用(System Call)不是庫函數,是linux內核提供給外界的接口,庫函數只是封裝了這些接口而已 ls會讀文件夾所以用了read, 調用ls這個程序的時候會使用execv, 題目沒說是shell里調用ls所以沒有fork,也許是你代碼里手動通過exec系的函數調用ls nmap也就是Network Mapper,最早是Linux下的網絡掃描和嗅探工具包。nmap?是一個網絡連接端掃描軟件,用來掃描網上電腦開放的網絡連接端。 execve 函數是所有執行程序函數最底層的實現
轉載于:https://www.cnblogs.com/Hanzo/p/5876006.html
總結
- 上一篇: 获取版本号
- 下一篇: Linux部署Apache Active