開源系統軟體與實務

臺北科技大學 114-2 學期課程,課號 354662。

課程大綱

開源軟體 (open-source software)對於資訊世界的發展極其重要,尤其是系統軟體與中介軟體。在1990年代快速發展的GNU/Linux,1990年代末期進入互連網時代,世界上最多伺服器使用的開源碼網頁伺服器Apache HTTP Server應運而生,之後更衍生出傳奇性的開源碼Apache Project。迄今,各個開源碼社群持續改進、優化既有的軟體,並且不斷地開發出有巨大影響力的新計畫,包括廣泛用於建構雲端服務與巨量資料運算的 OpenStack、Hadoop和Spark,世界上最多人使用在智慧手機和平板的Android作業環境。開源系統軟體與中介軟體更成為物聯網和巨量資料分析時代的重要基礎,高效率、即時性、機器與機器之間良好的溝通與合作是這個時代應用開發的關鍵,除了需要有高效率、穩定、安全的作業系統之外,還需要更多高品質、優化度高的系統軟體與中介軟體。 -------------------------------------------------------------------------------------------------------- Open-source software is extremely important to the development of the information world, especially system software and middleware. GNU/Linux developed rapidly in the 1990s and entered the Internet era in the late 1990s. The open-source web server Apache HTTP Server, which is used by the most servers in the world, came into being, and then the legendary open-source Apache Project was born. So far, various open-source communities have continued to improve and optimize existing software, and continue to develop new projects with great influence, including OpenStack, Hadoop and Spark, which are widely used to build cloud services and massive data computing. The most widely used Android work environment on smartphones and tablets. Open-source system software and intermediary software have become an important foundation in the era of Internet of Things and massive data analysis. High efficiency, immediacy, and good communication and cooperation between machines are the keys to application development in this era. In addition to high efficiency, In addition to a stable and secure operating system, more high-quality, highly optimized system software and middleware are needed.

課程進度

第 1 週 - 課程介紹 第 2 週 - Linux 系統課程 第 3 週 - 安裝 Linux 開源軟體系統 第 4 週 - Linux 開源軟體系統基本命令 第 5 週 - Linux 開源軟體系統基本應用程式介紹 第 6 週 - Linux 開源軟體系統應用程式介紹 第 7 週 - NU/Linux shell 介紹 第 8 週 - NU/Linux 伺服器與開發平台 第 9 週 - 期中評量 第 10 週 -認識Git 版本控管 第 11 週 -Git 程式碼管理實戰 第 12 週 - Linux Kernel Introduction 第 13 週 - Linux Kernel Configuration 第 14 週 - Linux Kernel Networking 第 15 週 - Linux Kernel Programming 第 16 週 - Linux 開源軟體資安威脅與防護 第 17 週 - 期末專題報告 第 18 週 - 期末專題報告 ------------------------------------------------------------------------------------ Week 1 - Course Introduction Week 2 - Linux System Course Week 3 - Installing a Linux Open Source System Week 4 - Basic Linux Open Source System Commands Week 5 - Introduction to Basic Linux Open Source System Applications Week 6 - Introduction to Linux Open Source System Applications Week 7 - Introduction to NU/Linux Shell Week 8 - NU/Linux Servers and Development Platforms Week 9 - Midterm Assessment Week 10 - Understanding Git Version Control Week 11 - Practical Git Code Management Week 12 - Introduction to the Linux Kernel Week 13 - Linux Kernel Configuration Week 14 - Linux Kernel Networking Week 15 - Linux Kernel Programming Week 16 - Linux Open Source System Security Threats and Protection Week 17 - Final Project Report Week 18 - Final Project Report

評量方式

期中評量:20.0 % 期末專題報告:20.0 % 回家作業: 30 % 小考評量:15.0 % 出席率:15.0 % ------------------------------------------- Mid-term assessment: 20.0% Final assessment: 20.0% Homework : 30.0% Quiz and Assessment: 15.0 % Attendance: 15.0%

教材

【遵守智慧財產權觀念,請使用正版教科書,不得使用非法影印教科書】 使用外文原文書:是 1. 書藉 : Your Unix/Linux: The Ultimate Guide 3e 作著:Sumitabha Das 出版社:McGraw-Hill 2013年出版 ISBN 978-007-108629-5 頁數 760面 2. Linux for Programmers and Users, Graham Glass, King Ables, Pearson Education