簡易檢索 / 詳目顯示

研究生: 郭烱彬
Chiung-Pin Kuo
論文名稱: 可移植網路教學型作業系統的設計與實作
Porting XINU as a User Process Under LINUX
指導教授: 鄭永斌
Cheng, Yung-Pin
學位類別: 碩士
Master
系所名稱: 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2006
畢業學年度: 94
語文別: 英文
論文頁數: 40頁
中文關鍵詞: 教學型作業系統TCP/IP網路網路
英文關鍵詞: courseware, TCP/IP networking, networking
論文種類: 學術論文
相關次數: 點閱:183下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • TCP/IP網路包含了許多協定及各個協定的互動情形,但是幾乎所有的網路教科書都將各個協定分散在各個不同的章節作說明,而沒有詳細描述各個協定如何和其他協定作互動。為了補足教科書上的不足,目前有許多針對網路課程所設計的教學系統。Xinu也是其中之一,學生可以經由執行這套系統以及讀Xinu中的TCP/IP程式碼清楚地了解各個protocol如何和其他的協定的互動。雖然Xinu提供完整TCP/IP的技術,但因為Xinu是一套完整的作業系統直接執行於硬體上,有很大的系統移植與維護的問題。而這些問題也造成Xinu的難以普及。
    在本篇論文中,我們根據Xinu的TCP/IP原始碼及Linux所提供的系統呼叫,開發實作出一個較為容易使用的網路教學系統。我們使用message passing 將TCP/IP移植成一個可以在Linux上執行的應用程式。除此之外,我們設計一個網路拓樸的模擬器,用來作為建置一個虛擬的網路環境。另外,根據我們開發的網路教學系統設計了三個網路課程的實作作業,經由實作的作業學生可以更加清楚地了解TCP/IP網路的概念。本篇論文將對使用message passing 把TCP/IP移植成應用程式和網路拓樸模擬器的實作加以闡述。

    TCP/IP protocol contains many protocols that interact with each other, but most networking textbooks discuss each protocol in different chapters and don’t describe how a protocol interacts with other protocols in the suite. In order to make students understand these network protocols solidly, many networking courseware are designed for tutors of the networking class. Xinu is a courseware for networking course, by doing projects over Xinu, students can understand clearly how each protocol interact with other protocols. Although Xinu is a good O.S. for teaching TCP/IP, it must be executed on a bare machine; that is, it is a real OS. Such kind of courseware suffers the problems of porting and maintenance. As a result, the prevalence of using Xinu in networking class is limited.
    In this thesis, we describe how we implement a networking courseware PIN/XINU which is based on XINU. We use message passing to make TCP/IP run as a user process under Linux. Besides, we designed a network topology simulator, which is used to build a virtual network environment. Furthermore, we use the networking courseware to design three networking assignments. Students can understand more clearly the TCP/IP networking concepts by completing these projects. Porting TCP/IP as user process, network topology simulator, and how we use the courseware for teaching the TCP/IP in networking classes are emphases of this thesis.

    Table of Contents 摘要 i Abstract ii Table of Contents iii List of Figures v Chapter 1. Introduction 1 1.1. Overview 1 1.2. Organization 4 Chapter 2. Background 5 2.1. Kernel-level Courseware 5 2.2. User-level Courseware 7 2.3. Kernel-level Courseware Versus User-level Courseware 8 2.4. Several Well-known Courseware 9 2.4.1. XINU 9 2.4.2. MINIX 10 2.4.3. NACHOS 11 2.4.4. AWK-LINUX 12 2.5. Networking course 13 Chapter 3. Using Message Passing to Make TCP/IP to Run as a User Process 15 3.1. Xinu 16 3.2. Using Message Passing to Make TCP/IP as User Process 18 Chapter 4. Implementation of PIN/XINU 24 4.1. The Process Concept and Synchronization 24 4.1.1. Process Creation and Termination 24 4.1.2. Process Synchronization 25 4.1.2.1. Semaphore 25 4.1.2.2. Ports 26 4.1.2.3. Message Passing 27 4.2. Network Interface Device Driver 28 4.2.1. Device Abstraction 28 4.3. Network Topology Simulator 29 Chapter 5. Using PIN/XINU to Design Networking Assignments 31 5.1. ARP Protocol Assignment 31 5.2. A Network Application Program – Chat 32 5.3. RIP Protocol Assignment 33 Chapter 6. Discussion and Conclusion 36 6.1. Discussion 36 6.2. Conclusions 36 Reference 38

    [1] Bryant, R. E.[1977], Simulation of Packet Communication Architecture Computer System

    [2] BOGGS, D. and SHOCH, J. and TAFT, E. and METCALFE, R. [April 1980], An Internetwork Architecture, IEEE Transactions on Communications

    [3] Berk, T.S.[March 1996], A Simple Student Environment for Lightweight Process Concurrent Programming under SunOs

    [4] Burroughs, Ann[2002] Laboratory Course Presentation

    [5] Carissimo, J.W.[1995], Xinu – An Easy to Use Prototype for an Operating System Course

    [6] Carson, M. and Santay, D.[2003], NIST Net- a Linux-based net-work emulation tool

    [7] Christopher, W.A. and Proctor, S.J. and Anderson, T.E. [1992], The Nacho instructional operating system

    [8] Cheriton, D. R.[1983], Local Networking and Internetworking in the V-System

    [9] Cigas, John[2003], An Introductory Course in Network Administration

    [10] Comer, Douglas[1984], Operating System Design: The Xinu Approach, Prentice-Hall, Englewood Cliffs, New Jersey

    [11] Comer, Douglas [1987], Operating System Design Vol II. ¬– Internetworking With XINU, Prentice-Hall, Englewood Cliffs, New Jersey

    [12] Cormer, Douglas and Lin, J.[1996], A Laboratory Environment For Experimenting with Xinu

    [13] Cormer, Douglas[2002], Hands-on Networking with Internet Application

    [14] Fossum, Timothy[1987], PC-Xinu: Features and Installation

    [15] Frank, H., and Chou, W.[1971] Routing in computer Networks

    [16] Goldberg, R. P.[June 1974], Survey of Virtual Machine Research

    [17] Haberman, A. N.[1972], Synchronization of communicating processes

    [18] Hill, J., Carver C., Humphries, J. and Pooch, U.[2001] Using an Isolated Network Laboratory to Teach Advanced Networks and Security

    [19] Holland, D. A. , Lim, A. T. , and Seltzer, M. I.[2002], A New Instructional Operating System

    [20] Hummel, J.[1989], Xinu/WU: An Improved PC-Xinu Clone

    [21] Kiddle, Cameron, Simmonds, Rob and Unger, Brian[2005], Improving Scalability of Network Emulation through Parallelism and Abstraction

    [22] Liu, B., Figueredo, R., Guo, Y., Kurose, J., and Towsley, D.[2001], A study of networks simulation efficiency: Fluid simulation vs. packet-level simulation

    [23] Mead, Jerud [1988], The Multiuser Calculator: an Operating System Project

    [24] Nieh, Jason and Vaill, Chris[2005], Experiences Teaching Operating Systems Using Virtual Platforms and Linux

    [25] POSTEL, J. B. [April 1980], Internetwork Protocol Approaches, IEEE Transactions on Communications

    [26] Silberschatz, A. and Galvin, P.[1994], Operating Sytem Concepts, 4th ed.

    [27] Stallings, W.[1985], Data and Computer Communications

    [28] Tanenbaum, Andrew[1997], Operating Systems: Design and Implementation, 2nd ed.

    [29] White, B., Lepreau, J., et.al.[Dec 2002], An Integrated Experimental Environment for Distributed Systems and Networks

    [30] Yung-Pin Cheng [2003], Awk-Linux: An Educational Operating System by Program Instrumentation

    QR CODE