教學大綱 Syllabus

科目名稱:作業系統

Course Name: Operating Systems

修別:選

Type of Credit: Elective

3.0

學分數

Credit(s)

50

預收人數

Number of Students

課程資料Course Details

課程簡介Course Description

This course provides a comprehensive exploration of operating system principles, design, and administration. It covers the core concepts that drive modern operating systems, including process managment, memory management, file systems, as well as various system services. Through a blend of theoretical knowledge and practical exercises, students will develop the skills to understand, plan, and design fundamental software components that support computer systems.

Remarks:

  • This course actively welcomes students from diverse perspectives and backgrounds.
  • Programming skills are required.(需有一般程式設計基礎。)

核心能力分析圖 Core Competence Analysis Chart

能力項目說明


    課程目標與學習成效Course Objectives & Learning Outcomes

    By the end of this course, students will be able to:

    1. Comprehend the fundamental concepts and architecture of operating systems, including process, memory, and file management.
    2. Analyze and apply algorithms for CPU scheduling, synchronization, and memory allocation.
    3. Compare and contrast the structure and functionalities of UNIX- and Windows-based operating systems.
    4. Utilize commands and utilities in Linux environments.
    5. Plan and design application services on Linux.

    每周課程進度與作業要求 Course Schedule & Requirements

    教學週次Course Week 彈性補充教學週次Flexible Supplemental Instruction Week 彈性補充教學類別Flexible Supplemental Instruction Type

    Week

    Topic

    Activity

    1

    ◆ Introduction

     

    2 ◆ Operating-System Structures - I  
    3

    ◆ Operating-System Structures - II

    ◆ Linux Concepts and Case Studies:

    • Installation
    • Basic Commands
    • Editors

     

    4

    ◆ Processes - I

    ◆ Linux Concepts and Case Studies:

    • File System Management
    • Process Management
    • Compiler and Linker
    Individual Assignment 1
    5

    ◆ Processes - II

     
    6 ◆ Threads and Concurrency - I  
    7

    ◆ Threads and Concurrency - II

    ◆ Programming on Linux Using C, C++, and Java

    ◆ Multithread Programming

     

    8

    ◆ Understanding OS Services in Action: Deploying a WordPress Server on Ubuntu

    • Apache Web Server
    • MySQL Database Server
    • PHP
    • WordPress
    • Shell Scripts

    Individual Assignment 2

    Note: Please make sure you can access your Linux machine locally or remotely.

    9 Flexible Learning (No Class)  
    10 ◆ CPU Scheduling  
    11 ◆ Synchronization  
    12 ◆ Deadloks Individual Assignment 3
    13

    ◆ Memory

     

    14

    ◆ Mass-Storage Structure

     

    15 ◆ I/O and File Systems Individual Assignment 4
    16 Flexible Learning (No Class)

     

    17 Team Project Presentation 1

     

    18 Team Project Presentation 2

     

    授課方式Teaching Approach

    50%

    講述 Lecture

    20%

    討論 Discussion

    30%

    小組活動 Group activity

    0%

    數位學習 E-learning

    0%

    其他: Others:

    評量工具與策略、評分標準成效Evaluation Criteria

    Course evaluation:

    • Individual assignments: 40% (Late submission can only be accepted within two weeks.)
    • Team project presentation: 60%
      • Instructor's evaluation: 20%
      • Intra-group peer evaluation: 20%
      • Inter-group peer evaluation: 20%

    Team composition:

    • Group size: 3 to 5 members.
    • Each team will develop and pitch a business or academic idea related to operating systems.

    Essential elements for a successful pitch:

    • Problem definition: Clearly outline the problem you are addressing.
    • Target audience: Define the audience for your solution (e.g., business, government, or civil society).
    • Importance of the problem: Provide evidence that the problem is significant.
    • Solution justification: Explain why Linux (or your selected operating system) is a suitable or advantageous solution.
    • Technical details and proof of concept: Include relevant technical information and, if possible, a proof of concept.
    • Potential impact: Highlight the expected impact on business and/or society.

    Evaluation criteria for the team project presentation and report:

    • Novelty: 25%
    • Technical depth: 25%
    • Business and/or social impact: 25%
    • Presentation skills: 25%

    指定/參考書目Textbook & References

    Required Readings

    1. Operating System Concepts (10th Edition), by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne.
    2. GitHub of this course

    已申請之圖書館指定參考書目 圖書館指定參考書查詢 |相關處理要點

    書名 Book Title 作者 Author 出版年 Publish Year 出版者 Publisher ISBN 館藏來源* 備註 Note

    維護智慧財產權,務必使用正版書籍。 Respect Copyright.

    本課程可否使用生成式AI工具Course Policies on the Use of Generative AI Tools

    有條件開放使用:可當輔助學習工具,但不得抄襲。 Conditional Permitted to Use

    課程相關連結Course Related Links

    
                

    課程附件Course Attachments

    課程進行中,使用智慧型手機、平板等隨身設備 To Use Smart Devices During the Class

    需經教師同意始得使用 Approval

    列印