簡易檢索 / 詳目顯示

研究生: 李佳青
Chia-Ching Lee
論文名稱: MuNAS: UNIX-based 作業系統下的多使用者網路音效系統
MuNAS: Multiuser Network Audio System for UNIX-based Operating Systems
指導教授: 黃冠寰
Hwang, Gwan-Hwan
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2003
畢業學年度: 91
語文別: 英文
論文頁數: 75
中文關鍵詞: UNIX網路音效系統Linux
英文關鍵詞: UNIX, Network Audio System, Linux
論文種類: 學術論文
相關次數: 點閱:148下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 此論文中我們提出一個 UNIX-based 作業系統下之多使用者網路音效系統架構並實際實作證明其可行性。網路音效系統,主要是在一台電腦執行應用程式,而將聲音經由網路傳送至另一台電腦上。我們的系統有以下之特點;第一,其支援多使用者環境,許多使用者可同時在一台主機上執行播音軟體,而聲音分別傳送至他們個人的電腦上;第二,不需對已存在的播音軟體,作任何的修改或重新編譯動作,也不需額外加入新的函式庫;第三,程式不因媒體之格式或裝置受限,亦即播放程式所支援任何媒體格式皆可播放。MuNAS主要由 system call serializer、audio data relay、audio-sending daemon、audio-receiving daemon及 ack-receiving daemon組成。目前MuNAS已開發完成,並於Linux發行版本 Red Hat 7.2、7.3 、8.0 及9.0都已充分測試。測試過的軟體包括 mpg123 、gtv 、realplay、alsaplayer、shockwave flash player 及 Esound等。根據我們的實驗,MuNAS和Open Sound System相容。這套方法也可應用在作何其他的UNIX-based 作業系統。MuNAS補足UNIX的X window系統並不支援傳遞音源的問題,其中一個重要的運用是使得在Unix下以X window系統為基礎的 thin client系統具有完整多媒體的功能。

    We present a scheme for implementing a multiuser, network-transparent audio system (MuNAS) on UNIX-based operating systems. In addition to the basic network audio functionality of transmitting the audio data through a network connection and playing it from another computer, our system has the following important features. First, it is designed to work on multiuser operating systems: several users can activate the network audio system by executing their own audio applications in the same computer and their audio data can be forwarded to different computers simultaneously. Second, existing audio applications do not need to be modified or recompiled, and no additional libraries are required. Third, the program is not restricted to any special form of audio data format or device type; i.e., the audio applications can arbitrarily define their own audio data formats and device types. The implementation of the MuNAS comprises making some audio data relays for users, embedding a system-call serializer in the kernel of the UNIX operating system, and executing daemon processes in the audio-sending , audio-receiving and ack-receiving computers. We have implemented MuNAS in Red Hat Linux 7.2 , 8.0 and 9.0, and have tested the implemented system using audio applications including mpg123, gtv, mplayer, realplayer, alsaplayer, shockwave flash player, record, and Esound etc. According to our experiment, the MuNAS is compatible to the Open Sound System. The scheme proposed can be applied to any UNIX-based operating system. MuNAS solves the problem that the X Window system does not support the transmission of audio data , and one of most application is that we have complete function of multimedia in thin-client system based on X window system of UNIX.

    Abstract II Table of Contents V List of Table VII List of Figures VIII Chapter 1 Introduction 9 Chapter 2 Related Work 14 2.1. Basic Network Audio System (BNAS) 14 2.2. Network Audio System (NAS) 14 2.3. Enlightened Sound System (Esound) 15 2.4. The Broadway Audio System (Xaudio) 16 Chapter 3 Introduction to Audio Programming in UNIX 18 3.1. Access Audio Device Files 18 3.2. Basic Audio Device Programming 20 Chapter 4 The Architecture of MuNAS 24 4.1. Audio Data Relay 25 4.2. The System-call Serializer 26 4.3. Audio-Sending, Audio-Receiving and Ack-Receiving Daemons 27 Chapter 5 The Implementation of MuNAS 29 5.1. The Implementation of System-call Serializer 29 5.1.1. Writing a New Device Driver 30 5.1.2. Modifications to Unix System Calls 33 5.1.2.1. Modification of the OPEN System Call 33 5.1.2.2. Modification of the IOCTL System Call 34 5.1.2.3. Modification of the WRITE System Call 35 5.1.2.4. Modification of the CLOSE System Call 35 5.2. Handling of Multiple Audio Devices 36 Chapter 6 Implementation details 38 6.1. Using Semaphore 38 6.2. Forbid Signals 39 6.3. A Special Mechanism : Delay close 40 Chapter 7 Conclusion and Future Work 41 7.1. Conclusion 41 7.2. Future Work 41 7.2.1. Embed Socket in Kernel of Operating System 41 7.2.2. Other Applications 42 Appendix A: FIFOs 44 Appendix B: Basic Socket Operations 47 Appendix C: Linux Module and Device Driver 53 Appendix D: Open Sound System 67 Appendix E: Export System Call 69 Appendix F: Signals in Linux/i386 70 Appendix G: A list of ioctl calls 71

    [1] “Introduction: About the X Window System”, http://www.x.org/X11.htm.
    [2] Jim Falton and Greg Renda, “The Network Audio System”, http://radscan.com/nas/docs/xcon94paper.ps.
    [3] Ray Tice and Mark Welch, “The Broadway Audio System”, http://www.x.org/contrib/audio/Xaudio/xtech96/xtech96_slides.html.
    [4] Bernardo Innocenti, “The Basic Network Audio System (BNAS)”, http://www.codewiz.org/projects/unix/bnas/.
    [5] “The Enlightened Sound Daemon”, http://www.tux.org/~ricdude/EsounD.html
    [6] “Red Hat – Linux, Embedded Linux and Open Source Solutions”, http://www.redhat.com/.
    [7] “Open Sound System”, http://www.opensound.com/oss.html
    [8] Jeff Tranter, “OSS Programmer’s guide v1.1”, http://www.opensound.com/pguide/oss.pdf
    [9] Eelke Klein, “OSS/Lite Audio Programming”, http://www.geocities.com/SiliconValley/Horizon/3991/lspaudio.html.
    [10] W. Richard Stevens, “Advanced Programming in the UNIX(R) Environment”, Addison-Wesley, ISBN: 0201563177, 1st edition (June 1992).
    [11] Mark Mitchell, Jeffrey Oldham, and Alex Samuel, “Advanced Linux Programming”, New Riders, ISBN: 0735710430, 1st edition (june, 2001).
    [12] Arne Georg Gleditsch and Per Kristian Gjermshus, “Cross-Referencing Linux”, http://lxr.linux.no/.
    [13] Alessandro Rubini, Jonathan Corbet, and Allesandro Rubini, “Linux Device Drivers”, O'Reilly & Associates; 2nd edition (June 2001), ISBN: 0596000081.

    QR CODE