課程簡介
了解Unix的高階程式,像FreeBSD、MacOS、Solaris...,這些雖然不是作業系統理論的介紹,但卻是操作設計課程必備的實際基礎知識。
本課程主要介紹組譯器、編譯器、連結器及作業系統的基本原理 ,並利用Linux學習編譯器程式的發展工具,進而能撰寫簡單的編譯器程式。
課程目標
1.學習者將對目前最廣泛使用的四種作業系統 (Linux, Solaris, FreeBSD, MacOS)中系統程式有深層認識,且以Linux作為實習之主要作業系統。
2.學習者將具備系統程式效能分析與優化的能力。
3.學習者將可對行程 (process) 以及執行緒 (threads) 進行有效控制與溝通。
適用對象
對資訊系統之運作有興趣者,包括理、工等科系之學生、工程師及社會人士等
課程特色
理論與實務並重設計:
系統程式人才,需要兼具理論認知與實務能力方能發會所學。
生活化與產業化應用:
課程內容設計將加入日常生活及產業應用例子,激發學習者的學習動機。
跨平台系統觀念建立:
在多重與跨平台的時代中,如何設計與運用有效的系統程式變得很重要。本課程將以各種方式強調程式的跨平台設計。
多元化:
課程設計將藉由多元教學與學習活動可考慮跨校、跨組織、跨單位之合作。
國際化:
課程設計將考慮不同國家之學生修習課程之接受度與難易度設計。
課程進度
第一週:Linux安裝與操作、編譯環境介紹
第二週:程式碼追蹤工具、檔案輸入與輸出
第三週:標準輸出入程式庫 (Standard I/O Library)、檔案系統
第四週:檔案連結(file link)、程序 (Process)
第五週:程序控制 (Process Control)、號誌 (Signals)
第六週:pipe、非同步I/O