Responsive image
博碩士論文 etd-0627107-121851 詳細資訊
Title page for etd-0627107-121851
論文名稱
Title
行程管理及快速位置空間切換於 MinixARM
Process Management and Fast Context Switch for MinixARM
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
71
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2007-06-22
繳交日期
Date of Submission
2007-06-27
關鍵字
Keywords
行程管理
FCSE, PM
統計
Statistics
本論文已被瀏覽 5631 次,被下載 0
The thesis/dissertation has been browsed 5631 times, has been downloaded 0 times.
中文摘要
MINIX 是一個微核心的作業系統,起初是為了教育目的而發展的. 當今最為人所知且流行於世的作業系統 Linux 就是來至於 MINIX 的啟發所發展而成的.
MINIX 最具價值的地方就在於內嵌式系統上的應用. MINIX 本質就是一個內嵌式系統. 時下 SOC 的發展正紅日當頭, MINIX 將來有一天也許有機會整合於 SOC 的開發,進而發展具有創意的應用.

SOC 本身是 System On Chip 的縮寫, 意味著僅僅只有硬體上的進步亦然不足以應付日新月異的創新需求, 故而搭配開發設計精巧簡單的軟體系統也同樣重要.

MINIX 本身擁有完善的設計架構並持續精進中, 且其應用範圍亦相當的廣泛, 可實現大部分想實現的高階應用. 唯目前 MIINIX 只支援 INTEL x86 系列的 CPU, 對於現今世界上同樣廣受親睞的 ARM 核心之 CPU 卻未給予同樣的支援. 所以本著興趣與可研究性, 開始著手研究移植 MINIX 到 ARM 上的實作. 慶幸地在移植過程中與初步移植後能夠得到不錯的成果, 討論與進一步的發展方向. 期待為嵌入式系統添一股小小助力, 能在未來看到 MINIX 日益強大的功能與應用.
Abstract
MINIX is a tiny OS kernel originally for teaching purpose. The well known presently popular OS, Linux, is extended from right this OS kernel of MINIX. The most valuable one of MINIX feature is the application for embedded system. Nowadays the development of SOC is full of vitality and it might someday integrate the MINIX with creative application.

SOC is shorten from System On Chip. It implies that hardware cannot hold without a system so studying, developing and broadcasting the design of a fine and simple system is as important as designing a mature hardware.

MINIX has well designed architecture and can be elastically extended for any application if anything is wanted to carry out. But orginal MINIX is only designed for INTEL x86 CPU. It should be more extensively extended to more environments. ARM is nowadays popular CPU on the world and this gives our a worthy studying to port MINIX to ARM. Surely during and after porting we found a lot of circumstances that can help and give other evelopers useful information and methods to carry on farther studying and improvement.
目次 Table of Contents
Chapter 1 Introduction 1
1.1 What is Minix ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Chapter 2 Process manager 5
2.1 Process Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Memory Layout . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 7
2.3 System Calls Involving PM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Internal Communications in MINIX 3 . . . . . . . . . . . . . . . . . . . . . 10
i
Chapter 3 Porting PM 11
3.1 The ARM920T-S3C2410 Platform . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 The Tools . . . . . . . . . . . . . . . . . . 11
3.3 Porting PM . . . . . . . . . . . . . . . . .. 12
3.3.1 Reading Program Headers in ELF Format . . . . . . . . . . . . . . . 15
3.3.2 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . 19
Chapter 4 The Fast Context Switch Extension 22
4.1 About The FCSE Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Integrating FCSE Feature into MINIX ARM . . . . . . . . . . . . . . . . . . 23
4.2.1 Initialization . . . . . . . . . . . . . . . . . . . 23
4.2.2 Modifying and Patching . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.3 Kernel with FCSE . . . . . . . . . . . 31
4.2.4 Memory and Cache Data Coherency . . . . . . . . . . . . . . . . . . 32
4.2.5 Read-allocate and write-allocate on cache miss . . . . . . . . . . . . 38
4.2.6 Resolving Data Coherency . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.7 Page Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2.8 Domain Preemption . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2.9 Remapping Memory and I/O Space . . . . . . . . . . . . . . . . . . 49
ii
4.3 Performance Improvement . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 54
Chapter 5 Conclusion and Future Works 55
5.1 Conclusion . . . . . . . . . . . . . . . . .. . . . . . . 55
5.2 Future Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
參考文獻 References
[1] ARM System Developer’s Guide: Designing and Optimizing System Software by Andrew
N. Sloss, Dominic Symes, Chris Wright, John Rayfield.
[2] Operating Systems Design and Implementation (3/E) by Andrew S Tanenbaum and Albert
S Woodhull. Prentice Hall, 2006.
[3] Fast Address-Space Switching on the StrongARM SA-1100 Processor, Adam Wiggins
and Gernot Heiser. School of Computer Science and Engineering The University of New
South Wales, Sydney 2052, Australia. UNSW-CSE-TR-9906 — July 30,1999
[4] Intel 64 and IA-32 Architectures Software’s Manual Developer. Copyright 1997-2006
Intel Corporation. http://www.intel.com/
[5] ARM Developer Suite Assembler Guide (Version 1.2). Copyright 2000, 2001 ARM
Limited.
[6] Implementation of Fast Address-Space Switching and TLB Sharing on the StrongARM
Processor. Adam Wiggins, Harvey Tuch, Volkmar Uhlig, and Gernot Heiser; University
of New South Wales, Sydney 2052, Australia . University of Karlsruhe, Germany .
National ICT Australia, Sydney, Australia . fawiggins,htuch,gernotg@cse.unsw.edu.au .
[7] Using ld (The GNU linker) version 2. Red Hat Inc nickc@credhat.com,
doc@redhat.com Using LD, the GNU linker. Edited by Jeffrey Osier (jeffrey@
cygnus.com)
[8] Linkers and Loaders (The Morgan Kaufmann Series in Software Engineering and Programming)
(Paperback) by John R. Levine. Morgan Kaufmann, 2000
[9] S3C2410X 32-BIT RISC MICROPROCESSOR USER’S MANUAL (Revision 1.2).
Publication Number: 21.2-S3-C2410X-052003. Samsung Electronics, 2003.
[10] ARM: Assembly Language Programming by Stephen Welsh and Peter Knaggs. School
of Design, Engineering & Computing. BSc (Hons) Computing BSc (Hons) Software
Engineering Management. December 22, 2003.
[11] ELF for the ARM Architecture Development systems Division [Compiler Tools Group].
Document number: GENC-003538. Author: Richard Earnshaw. Authorized by: Copyright
ARM Limited 2003, 2004, 2005, 2006.
[12] Linux Kernel Development Second Edition By Robert Love. Publisher : Sams Publishing.
January 12, 2005.
[13] Understanding the Linux Kernel, 2nd Edition By Daniel P. Bovet, Marco Cesati.
O’Reilly, December 2002.
[14] Assembly Language for Intel-Based Computers (fourth edition) by KIP R. IRVINE.
Prentice Hall, 2002.
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內校外均不公開 not available
開放時間 Available:
校內 Campus:永不公開 not available
校外 Off-campus:永不公開 not available

您的 IP(校外) 位址是 18.217.144.32
論文開放下載的時間是 校外不公開

Your IP address is 18.217.144.32
This thesis will be available to you on Indicate off-campus access is not available.

紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code