亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Linux環境高級編程

系統 1835 0

Linux環境高級編程

Linux環境高級編程

一、課程目標

本次課程涵蓋Linux系統編程的幾個主要方面,通過本次課程的學習,學員將具備以下能力:

  • 了解Linux系統調用和類庫的區別;
  • 熟悉文件I/O、文件和目錄、進程管理、進程間通信(IPC)、信號、時間與定時器的編程。

二、參訓要求

參加本次課程的學員須具備以下能力:

  • 本次課程使用 C語言 教學,所以學員需擁有較好的C語言基礎;
  • 能熟練使用常用的Linux命令;
  • 能熟練使用gcc、gdb、熟練撰寫makefile;
  • 最好熟練使用vi、emacs等文本編輯器其中的一種。

三、課程實踐環境

  • 學員自備電腦
  • 操作系統:GNU/Linux 2.6+(建議使用Redhat AS 5+或Ubuntu、Fedora)
  • 編譯器:GCC v4.1+、GDB v7.0+
  • 可選IDE:Eclipse CDT

四、課程大綱

本次課程由以下幾個部分構成:

1、 預備知識

  • UNIX歷史和標準

    ?

    • UNIX; BSD & System V
    • GNU project; Linux Kernel
    • POSIX, SUSv3, SUSv4
  • Linux系統相關概念

    ?

    • 系統調用和庫函數
    • 錯誤處理
    • 特性測試宏
    • 系統數據類型
    • 系統限制和選項 (sysconf(), pathconf())
    • 系統參數: /proc文件系統

2、文件I/O

  • Linux I/O系統調用與C標準庫stdio的比較
  • I/O系統調用: open(), close(), read(), write()
  • 控制I/O的Buffer
  • 讀寫指針的定位:lseek()
  • I/O控制:ioctl()
  • 原子操作和數據競態
  • 文件控制: fcntl()
  • 文件打開的狀態標志(status flags)
  • 文件描述符
  • 復制文件描述符:dup(), dup2()

3、文件和目錄

  • 文件屬性

    ?

    • 獲取文件的屬性:stat()
    • 文件的時間戳
    • 文件的所有權:chown()
    • 文件的操作權限:chmod()
  • 目錄和連接文件

    ?

    • 硬連接和軟連接 (符號連接)
    • 目錄
    • 迭代目錄樹
    • 當前工作目錄(CWD)
    • 路徑名
  • 監控文件系統的事件:inotify

    ?

    • inotify API
    • inotify事件
    • inotify限制

4、 進程控制

  • 進程屬性

    ?

    • 進程ID(PID)和父進程ID(PPID)
    • 進程內存布局
    • 棧 (Stack)
    • 堆 (Heap)
    • 命令行參數和環境變量列表
    • 非局部goto (nonlocal goto): setjmp() 和 longjmp()
  • 創建和終止進程

    ?

    • 創建進程:fork()
    • fork() 后的多進程數據競態
    • 進程終止:exit(3) 和 _exit(2)
    • 退出處理器:atexit()
    • 等待子進程的退出:wait(), waitpid(), waitid()
    • SIGCHLD 信號
  • 執行程序

    ?

    • execve()
    • exec() 系列庫函數
    • 解釋腳本
    • 文件描述符和 exec()
    • 信號和 exec()
    • 執行Shell命令:system()
  • 守護進程 (Daemons)

    ?

    • 創建守護進程的幾個步驟
    • 使用 SIGHUP 信號使一個進程變成守護進程
    • 系統中守護進程的示例:syslog
  • 進程權限相關

    ?

    • 文件 /etc/passwd 和 /etc/group
    • User ID, and Group ID
    • Real, effective, and saved set IDs
    • 其它 group IDs
    • Set-user-ID and set-group-ID programs
    • 獲取或修改進程權限


5、信號
(Signals)

  • 信號類型和默認動作
  • 信號處理方式
  • 信號處理器
  • 發送信號
  • 信號集
  • 阻塞信號(signal mask)
  • 系統調用的中斷和重新執行
  • 等待信號

6、時間和定時器(Timers) ?

  • 時間相關的數據類型
  • POSIX Clock
  • 獲取當前時間
  • 設置當前時間
  • C標準庫 時間函數
  • Sleep
  • 定時器(Timers)

    ?

    • 簡單的定時器:alarm()
    • interval Timers
    • 高級定時器


7、進程間通信
(Interprocess Communication, IPC)

  • 傳統UNIX IPC

    ?

    • 管道和優先隊列 (Pipe and FIFO)
    • SYSV 消息隊列 (SYSV Message Queue)
    • SYSV 信號量 (SYSV Semaphore)
    • SYSV 共享內存 (SYSV Shared Memory Segments)
    • 內存映射文件 (Memory Mapping Files)
  • POSIX IPC

    ?

    • POSIX IPC的優勢
    • POSIX 消息隊列 (POSIX Message Queue)
    • POSIX 信號量 (POSIX Semaphore)
    • POSIX 共享內存 (POSIX Shared Memory Segments)

五、時間安排

課程時間:3天,以每天6小時計,具體安排如下:

  • Day1

    ?

    • 1 - 預備知識
    • 2 - 文件I/O
    • 3 - 文件與目錄
  • Day2

    ?

    • 4 - 進程控制
    • 5 - 信號
    • 6 - 定時器
  • Day3

    ?

    • 7 - 進程間通信
    • 課程回顧與總結

六、課程資源

????? 可獲取的課程資源見: 教學資源

Linux環境高級編程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 五月色婷婷综合激情免费视频 | 久久久久爽亚洲精品 | 亚洲成年网站 | 97欧美| 久久国产精品成人免费 | 日韩欧美在线播放 | 伊人久久波多野结衣中文字幕 | 久青草国产在线 | 狠狠激情五月综合婷婷俺 | 九九色在线视频 | 欧美激情久久欧美激情 | 就色干综合 | 色天使色婷婷丁香久久综合 | 不卡免费播放 | 日韩精品大片 | 欧美91 | 99九九精品视频 | 国产精品久久久久精 | 色综合天天综合网亚洲影院 | 色老老精品偷偷鲁 | 天啪天干在线视频 | 国产一级淫片a免费播放口欧美 | 亚洲欧美成人 | 久久精品国产一区二区小说 | 免费观看日本污污ww网站精选 | 欧美成人高清视频 | 成人午夜大片免费7777 | 久久se精品动漫一区二区三区 | 靠逼影院 | 成人毛片基地 | 伊人久久精品午夜 | 国产精品66在线观看 | 波多野结衣久久精品免费播放 | 久久精品男人的天堂 | 一级高清在线观看影片 | 四虎4hu影库永久地址 | 日韩在线一区二区三区 | 亚洲一二区 | 国产区成人综合色在线 | 香蕉人在线香蕉人在线 | 一本清高清dvd日本播放器 |