2 項進行中

115-1 選課時程

進行中

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

加入行事曆

選擇訂閱 Google Calendar,或下載通用的 ICS 檔案。

使用 Google Calendar 時,Google 會收到這份課表的公開連結。

系統程式

System Programming

學期
110-2
學分
0 學分
當期課號
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

Office Hours
地點
教師未提供此項資料
時間
教師未提供此項資料
聯絡方式
教師未提供此項資料