亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Unix環(huán)境高級(jí)編程雖然是一本很經(jīng)典的案頭必備的書(shū)籍,但它更像是一本字典,對(duì)于初學(xué)者來(lái)說(shuō)看起來(lái)很艱難,《Unix/Linux編程實(shí)踐教程》中有趣的實(shí)例與循序漸進(jìn)的講解,我認(rèn)為更適合初學(xué)者的學(xué)習(xí)

【課程目錄】

第1章:unix系統(tǒng)編程概述

介紹

什么是系統(tǒng)編程

簡(jiǎn)單的程序模型

系統(tǒng)模型

操作系統(tǒng)的職責(zé)

為程序提供服務(wù)

理解系統(tǒng)編程

系統(tǒng)資源

目標(biāo):理解系統(tǒng)編程

方法:通過(guò)三個(gè)問(wèn)題來(lái)理解

從用戶(hù)的角度來(lái)理解unix

unix能做些什么

登錄–運(yùn)行程序–注銷(xiāo)

目錄操作

文件操作

從系統(tǒng)的角度來(lái)看unix

用戶(hù)和程序之間的連接方式

網(wǎng)絡(luò)橋牌

bc:unix的計(jì)算器

從bc/dc到web

動(dòng)手實(shí)踐

工作步驟與概要圖

接下來(lái)的工作步驟

unix的概要圖

unix的發(fā)展歷程

第2章:用戶(hù)、文件操作與聯(lián)機(jī)幫助:編寫(xiě)who命令

介紹

關(guān)于命令who

問(wèn)題1:who命令能做些什么

問(wèn)題2:who命令是如何工作的

問(wèn)題3:如何編寫(xiě)who

問(wèn)題:如何從文件中讀取數(shù)據(jù)結(jié)構(gòu)

答案:使用open、read和close

編寫(xiě)wh01.c

顯示登錄信息

編寫(xiě)wh02.c

回顧與展望

編寫(xiě)cp(讀和寫(xiě))

問(wèn)題1:cp命令能做些什么

問(wèn)題2:cp命令是如何創(chuàng)建/重寫(xiě)文件的

問(wèn)題3:如何編寫(xiě)cp

unix編程看起來(lái)好像很簡(jiǎn)單

提高文件i/o效率的方法:使用緩沖

緩沖區(qū)的大小對(duì)性能的影響

為什么系統(tǒng)調(diào)用需要很多時(shí)間

低效率的wh02.c

在wh02.c中運(yùn)用緩沖技術(shù)

內(nèi)核緩沖技術(shù)

文件讀寫(xiě)

注銷(xiāo)過(guò)程:做了些什么

注銷(xiāo)過(guò)程:如何工作的

改變文件的當(dāng)前位置

編寫(xiě)終端注銷(xiāo)的代碼

處理系統(tǒng)調(diào)用中的錯(cuò)誤

第3章:目錄與文件屬性:編寫(xiě)ls

介紹

問(wèn)題1:1s命令能做什么

1s可以列出文件名和文件的屬性

列出指定目錄或文件的信息

經(jīng)常用到的命令行選項(xiàng)

問(wèn)題1的答案

文件樹(shù)

問(wèn)題2:1s是如何工作的

什么是目錄

是否可以用open、read和close來(lái)操作目錄

如何讀目錄的內(nèi)容

問(wèn)題3:如何編寫(xiě)ls

編寫(xiě)ls-1

問(wèn)題1:ls-1能做些什么

問(wèn)題2:ls-1是如何工作的

用stat得到文件信息

stat提供的其他信息

如何實(shí)現(xiàn)

將模式字段轉(zhuǎn)換成字符

將用戶(hù)/組id轉(zhuǎn)換成字符串

編寫(xiě)ls2.c

三個(gè)特殊的位

set-user-id位

set-group-id位

sticky位

用ls-1看到的特殊屬性

ls小結(jié)

設(shè)置和修改文件的屬性

文件類(lèi)型

許可位與特殊屬性位

文件的鏈接數(shù)

文件所有者與組

文件大小

時(shí)間

文件名

第4章:文件系統(tǒng):編寫(xiě)pwd

介紹

從用戶(hù)的角度看文件系統(tǒng)

目錄和文件

目錄命令

文件操作命令

針對(duì)目錄樹(shù)的命令

目錄樹(shù)的深度幾乎沒(méi)有限制

unix文件系統(tǒng)小結(jié)

unix文件系統(tǒng)的內(nèi)部結(jié)構(gòu)

第一層抽象:從磁盤(pán)到分區(qū)

第二層抽象:從磁盤(pán)到塊序列

第三層抽象:從塊序列到三個(gè)區(qū)域的劃分

文件系統(tǒng)的實(shí)現(xiàn):創(chuàng)建一個(gè)文件的過(guò)程

文件系統(tǒng)的實(shí)現(xiàn):目錄的工作過(guò)程

文件系統(tǒng)的實(shí)現(xiàn):cat命令的工作原理

i-節(jié)點(diǎn)和大文件

unix文件系統(tǒng)的改進(jìn)

理解目錄

理解目錄結(jié)構(gòu)

與目錄樹(shù)相關(guān)的命令和系統(tǒng)調(diào)用

編寫(xiě)pwd

pwd的工作過(guò)程

pwd的一種版本

多個(gè)文件系統(tǒng)的組合:由多棵樹(shù)構(gòu)成的樹(shù)

裝載點(diǎn)

多重i-節(jié)點(diǎn)號(hào)和設(shè)備交叉鏈接

符號(hào)鏈接

第5章:連接控制:學(xué)習(xí)stty

為設(shè)備編程

設(shè)備就像文件

設(shè)備具有文件名

設(shè)備和系統(tǒng)調(diào)用

例子:終端就像文件

設(shè)備文件的屬性

編寫(xiě)write程序

設(shè)備文件和i-節(jié)點(diǎn)

設(shè)備與文件的不同之處

磁盤(pán)連接的屬性

屬性1:緩沖

屬性2:自動(dòng)添加模式

用open控制文件描述符

磁盤(pán)連接小結(jié)

終端連接的屬性

終端的i/o并不如此簡(jiǎn)單

終端驅(qū)動(dòng)程序

stty命令

編寫(xiě)終端驅(qū)動(dòng)程序:關(guān)于設(shè)置

編寫(xiě)終端驅(qū)動(dòng)程序:關(guān)tx數(shù)

編寫(xiě)終端驅(qū)動(dòng)程序:關(guān)于位

編寫(xiě)終端驅(qū)動(dòng)程序:幾個(gè)程序例子

終端連接小結(jié)

其他設(shè)備編程:ioctl

文件、設(shè)備和流

第6章:為用戶(hù)編程:終端控制和信號(hào)

軟件工具與針對(duì)特定設(shè)備編寫(xiě)的程序

終端驅(qū)動(dòng)程序的模式

規(guī)范模式:緩沖和編輯

非規(guī)范處理

終端模式小結(jié)

編寫(xiě)一個(gè)用戶(hù)程序:play_again.c

信號(hào)

ctrl-c做什么

信號(hào)是什么

進(jìn)程該如何處理信號(hào)

信號(hào)處理的例子

為處理信號(hào)做準(zhǔn)備:play_again4.c

進(jìn)程終止

為設(shè)備編程

第7章:事件驅(qū)動(dòng)編程:編寫(xiě)一個(gè)視頻游戲

視頻游戲和操作系統(tǒng)

任務(wù):?jiǎn)稳藦椙蛴螒?pong)

屏幕編程:curses庫(kù)

介紹curses

curses內(nèi)部:虛擬和實(shí)際屏幕

時(shí)間編程:sleep

時(shí)鐘編程1:alarms

添加時(shí)延:sleep

sleep()是如何工作的:使用unix中的alarms

調(diào)度將要發(fā)生的動(dòng)作

時(shí)間編程2:間隔計(jì)時(shí)器

添加精度更高的時(shí)延:usleep

三種計(jì)時(shí)器:真實(shí)、進(jìn)程和實(shí)用

兩種間隔:初始和重復(fù)

用間隔計(jì)時(shí)器編程

計(jì)算機(jī)有幾個(gè)時(shí)鐘

計(jì)時(shí)器小結(jié)

信號(hào)處理1:使用signal

早期的信號(hào)處理機(jī)制

處理多個(gè)信號(hào)

測(cè)試多個(gè)信號(hào)

信號(hào)機(jī)制其他的弱點(diǎn)

信號(hào)處理2:sigaction

處理多個(gè)信號(hào):sigaction

信號(hào)小結(jié)

防止數(shù)據(jù)損毀(datacorruption)

數(shù)據(jù)損毀的例子

臨界(criticalsections)

阻塞信號(hào):sigprocmask和sigsetops

重入代碼(reentrantcode):遞歸調(diào)用的危險(xiǎn)

視頻游戲中的臨界區(qū)

kill:從另–個(gè)進(jìn)程發(fā)送的信號(hào)

使用計(jì)時(shí)器和信號(hào):視頻游戲

bounceld.c:在一條線(xiàn)上控制動(dòng)畫(huà)

bounce2d.c:兩維動(dòng)畫(huà)

完成游戲

輸入信號(hào),異步i/o

使用異步i/o

方法1:使用oasync

方法2:使用aio..read

彈球程序中需要異步讀人嗎

異步輸入、視頻游戲和操作系統(tǒng)

第8章:進(jìn)程和程序:編寫(xiě)命令解釋器sh

進(jìn)程=運(yùn)行中的程序

通過(guò)命令ps學(xué)習(xí)進(jìn)程

系統(tǒng)進(jìn)程

進(jìn)程管理和文件管理

內(nèi)存和程序

shell:進(jìn)程控制和程序控制的–個(gè)工具

shell是如何運(yùn)行程序的

shell的主循環(huán)

問(wèn)題1:一個(gè)程序如何運(yùn)行另一個(gè)程序

問(wèn)題2:女口何建立新的進(jìn)程

問(wèn)題3:父進(jìn)程如何等待子進(jìn)程的退出

小結(jié):shell如何運(yùn)行程序

實(shí)現(xiàn)一個(gè)shell:psh2.c

思考:用進(jìn)程編程

exit和exec的其他細(xì)節(jié)

進(jìn)程死亡:exit和_exit

exec家族??

第9章:可編程的shell、shell變量和環(huán)境:編寫(xiě)自己的shell

shell編程

什么是以及為什么要使用shell腳本語(yǔ)言

smshl–命令行解析

shell中的流程控制

if語(yǔ)句做些什么

if是女口何工作的

在stash中增加if

smsh2.c:修改后的代碼

shell變量:局部和全局

使用shell變量

變量的存儲(chǔ)

增加變量命令:built-ins

效果如何

環(huán)境:個(gè)性化設(shè)置

使用環(huán)境

什么是環(huán)境以及它是如何工作的

在smsh中增加環(huán)境處理

varlib.c的代碼

已實(shí)現(xiàn)的shell的功能

第10章:i/o重定向和管道

shell編程

一個(gè)shell應(yīng)用程序:監(jiān)視系統(tǒng)用戶(hù)

標(biāo)準(zhǔn)i/o與重定向的若干概念

概念1:3個(gè)標(biāo)準(zhǔn)文件描述符

默認(rèn)的連接:tty

程序都輸出到stdout

重定向i/o的是shell而不是程序

理解i/o重定向

概念2:“最低可用文件描述符(lowest-available-fd)”原則

兩個(gè)概念的結(jié)合

如何將stdin定向到文件

方法1:closethenopen

方法2:open..close..dup..close

系統(tǒng)調(diào)用dup小結(jié)

方法3:open..dup2..close

shell為其他程序重定向stdin

為其他程序重定向i/o:who]userlist

管道編程

創(chuàng)建管道

使用fork來(lái)共享管道

使用pipe、fork以及exec

技術(shù)細(xì)節(jié):管道并非文件

第11章:連接到近端或遠(yuǎn)端的進(jìn)程:服務(wù)器與socket(套接宇)

產(chǎn)品和服務(wù)

一個(gè)簡(jiǎn)單的比喻:飲料機(jī)接口

bc:unix中使用的計(jì)算器

編寫(xiě)bc:pipe、fork、dup、exec

對(duì)協(xié)同進(jìn)程的討論

fdopen:讓文件描述符像文件–樣使用

popen-讓進(jìn)程看似文件

popen的功能

實(shí)現(xiàn)popen:使用fdopen命令

訪(fǎng)問(wèn)數(shù)據(jù):文件、應(yīng)用程序接el(apl)和服務(wù)器

socket:與遠(yuǎn)端進(jìn)程相連

類(lèi)比:“電話(huà)中傳來(lái)聲音:現(xiàn)在時(shí)間是…”

因特網(wǎng)時(shí)間、dap和天氣服務(wù)器

服務(wù)列表:眾所周知的端口

編寫(xiě)timeserv? ?? ???.? ?? ???cc時(shí)間服務(wù)器

測(cè)試timeserv.c

編寫(xiě)timecint.c:時(shí)間服務(wù)客戶(hù)端

測(cè)試timecint.c

另一種服務(wù)器:遠(yuǎn)程的ls

軟件精靈

第12章:連接和協(xié)議:編寫(xiě)web服務(wù)器

服務(wù)器設(shè)計(jì)重點(diǎn)

三個(gè)主要操作

操作1和操作2:建立連接

操作1:建立服務(wù)器端socket

操作2:建立到服務(wù)器的連接

socklib.c

操作3:客戶(hù)/服器的會(huì)話(huà)

使用socklib.c的timeserv/timecint

第2版的服務(wù)器:使用fork

服務(wù)器的設(shè)計(jì)問(wèn)題:diy或代理

編寫(xiě)web服務(wù)器

web服務(wù)器功能

設(shè)計(jì)web服務(wù)器

web服務(wù)器協(xié)議

編寫(xiě)web服務(wù)器

運(yùn)行web服務(wù)器

webserv的源程序

比較web服務(wù)器

第13章:基于數(shù)據(jù)報(bào)(datagram)的編程:編寫(xiě)許可證服務(wù)器

軟件控制

許可證控制簡(jiǎn)史

一個(gè)非計(jì)算機(jī)系統(tǒng)實(shí)例:轎車(chē)管理系統(tǒng)

轎車(chē)鑰匙管理描述

用客戶(hù)/服務(wù)器方式管理轎車(chē)

許可證管理

許可證服務(wù)系統(tǒng):它做些什么

許可證服務(wù)系統(tǒng):如何工作

一個(gè)通信系統(tǒng)的例子

數(shù)據(jù)報(bào)socket

流與數(shù)據(jù)報(bào)的比較

數(shù)據(jù)報(bào)編程

sendto和recvfrom的小結(jié)

數(shù)據(jù)報(bào)應(yīng)答

數(shù)據(jù)報(bào)小結(jié)

許可證服務(wù)器版本1.0

客戶(hù)端版本1

服務(wù)器端版本1

測(cè)試版本1

進(jìn)一步的工作

處理現(xiàn)實(shí)的問(wèn)題

處理客戶(hù)端崩潰

處理服務(wù)器崩潰

測(cè)試版本2

分布式許可證服務(wù)器

unix域socket

文件名作為socket地址

使用unix域socket編程

小結(jié);socket和服務(wù)器

第14章:線(xiàn)程機(jī)制:并發(fā)函數(shù)的使用

同一時(shí)刻完成多項(xiàng)任務(wù)

函數(shù)的執(zhí)行路線(xiàn)

一個(gè)單線(xiàn)程程序

一個(gè)多線(xiàn)程程序

相關(guān)函數(shù)小結(jié)

線(xiàn)程間的分工合作

例1:incrprint.c

例2:twordcount.c

線(xiàn)程內(nèi)部的分工合作:小結(jié)

線(xiàn)程與進(jìn)程

線(xiàn)程間互通消息

通知選舉中心

使用條件變量編寫(xiě)程序

使用條件變量的函數(shù)

回到web服務(wù)器的例子

多線(xiàn)程的web服務(wù)器

web服務(wù)器程序的改進(jìn)

多線(xiàn)程版本允許一個(gè)新的功能

防止僵尸線(xiàn)程(zombiethreads):獨(dú)立線(xiàn)程

web服務(wù)器代碼

線(xiàn)程和動(dòng)畫(huà)

使用線(xiàn)程的優(yōu)點(diǎn)

多線(xiàn)程版本的bouneeld.c

基于多線(xiàn)程機(jī)制的多重動(dòng)畫(huà):tanimate.c

tanimate.c中的互斥量

屏幕控制線(xiàn)程??

第15章:進(jìn)程間通信(1pc)

編程方式的選擇

talk命令:從多個(gè)數(shù)據(jù)源讀取數(shù)據(jù)

同時(shí)從兩個(gè)文件描述符讀取數(shù)據(jù)

select系統(tǒng)調(diào)用

select與talk

select與poll

通信的選擇

一個(gè)問(wèn)題的三種解決方案

通過(guò)文件的進(jìn)程間通信

命名管道

共享內(nèi)存

各種進(jìn)程間通信方法的比較

進(jìn)程之間的分工合作

文件鎖

信號(hào)量(semaphores)

socket及fifo與共享的存儲(chǔ)

打印池

多個(gè)寫(xiě)者、一個(gè)讀者

客戶(hù)/服務(wù)器模型

縱觀ipc

連接與游戲

分享到:
標(biāo)簽:unix 教程 電子書(shū) Linux
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定