校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15/2026
  • 初選第二階段 6/22/2026
  • 校際選修 8/24/2026
  • 初選第三階段 8/31/2026
  • 開學後加退選 9/7/2026
  • 逾期加退選 9/21/2026
選課資源

系統程式

System Programming

學期
110-2
學分
3 學分
當期課號
2807
永久課號
SET1458
開課單位
系統工程與科技學士學位學程
授課教師
林政寬
類別
選修
上課時間表
週二
2
09:00–09:50
系統程式
3 節連堂
3
10:10–11:00
4
11:10–12:00

* 根據陽明交大上課時間表所列

概述

為什麼需要學習「系統程式設計」 作業系統將「硬體」隱藏起來,提供程式設計介面(API)讓使用者可以間接操作硬體.本課程將在Linux系統上學習如何控制硬體,同時了解計算機硬體的操作邏輯. 同時,Linux是目前市佔率最高的作業系統,特別是在行動裝置與服務器的相關系統. 我們將會在Windows和MacOS中,通過VM安裝Linux,方便課程的實驗與操作. 本課程的目標在於讓修課同學: .熟悉UNIX相關作業系統的操作環境。 .理解UNIX相關作業系統之系統架構與系統服務。 .學習UNIX系統服務之應用程式介面(API)的相關標準。 .有能力在UNIX相關作業系統上,以C程式語言開發程式。 .有能力撰寫一產生多行程的程式,並處理多行程間的通訊與同步。 .有能力分析程式的正確性、安全性與執行效能。

先修科目

C Programming Language

教學方式

教材:PPT投影片 教材:PPT投影片 線上上課平台: Google Meet 會議 視訊通話連結:https://meet.google.com/uga-xqqb-dfv 或撥打以下電話號碼:‪(US) +1 240-532-3641‬ PIN 碼:‪592 336 293‬#

評分方式

出席與上課情形:20% 作業: 20% 期中考成績: 30% 期末考成績: 30%

週次計畫
週次主題
第 1 週介紹Linux系統的特色
第 2 週在VMware上安裝Linx並設定Linux
第 3 週基本程式開發設計,gcc、gdb、git等使用方式
第 4 週file hole、perror、flock、lockf三種同步方式
第 5 週使用flock和lockf分別設計「只允許一個人寫入」的小型資料庫
第 6 週buffer的三種形式,C函數庫中的setvbuf功能
第 7 週標準的UNIX的目錄及檔案屬性
第 8 週hardlink及softlink
第 9 週期中考
第 10 週chmod、ACL、inotify
第 11 週fork、wait、setaffinity、nice
第 12 週execve及zombie process
第 13 週SIGKILL、SIGSTOP、SIGINT、SIGALARM
第 14 週sigaction
第 15 週pipe和fifo
第 16 週設計nohup程式
第 17 週pthread
第 18 週期末考
教科書

Advanced Programming in the UNIX® Environment(APUE) UNIX環境高級編程(第3版),作者: (美)史蒂文斯,出版社:人民郵電出版社,出版日期:2014/06/01