Linux on the OSF Mach3 Microkernel

Linux on the OSF Mach3 Microkernel

Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel Linux on top of OSF MK The Mach3.0 Microkernel: Design • microkernel abstractions François Barbou des Places ([email protected]) • task, thread, port, message, memory object Nick Stephen ([email protected]) • resources and services represented as ports OSF Research Institute - Grenoble • interfaces implemented via RPC to an object port Task Message • Objectives: • widen the audience for the free OSF micro-kernel Ports • provide a complete and free platform to develop new Threads servers, applications or kernel extensions • provide Apple with a freely redistributable microkernel-based operating system for the Memory Apple/PowerMac platform Object Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 1/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 2/17 Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel The Mach3.0 microkernel: Benefits OSF MK Improvements • portability (modular design) • performance • symmetric multi-processing support • kernel-loaded servers (collocation) • thread migration • scalability (from desktop PCs to high-end multi-computers) • short-circuited RPC • extensibility • real-time • OS-neutrality • preemptable kernel • support for OS personalities running as user tasks • real-time RPC, priority inheritance • pageable, preemptable • distributed system (clusters and multi-computers) • more portable: isolated from hardware • DIPC: transparent Distributed IPC • simpler: no device drivers, scheduling, VM... • XMM: transparent distributed shared memory • external memory managers • more: MK++, CORDS (xkernel), Fault Tolerance, ... Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 3/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 4/17 Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel OSF MK on the Apple/PowerMac Linux Server • portability: no changes to machine-independent code Why Linux ? • validated with the MPTS (MK performance test suite) • pleasant and efficient development platform • initial target: PPC601 (PowerMac 7100 and 8100) • evolving very quickly: leverage the effort • support from Apple Computer, Inc. • heavily supported by Internet community • status • not derived from BSD • supports the Linux server • performant dynamic buffer cache • console, SCSI disk, serial port, ethernet drivers • X-Window running Drawbacks • next steps • portability: still quite biased towards PC • support more hardware (drivers, PPC603 and 604, • fast moving target PCI and CHRP PowerMacs) Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 5/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 6/17 Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel Linux Server: Design Constraints Linux Server: Code Reuse • leverage Linux evolution linux-1.2.13 + server • minimize changes to Linux code 1117 files • binary compatibility new server files Linux files • integration into the Linux tree: 188 929 • new “architectures”: osfmach3_i386 and osfmach3_ppc • machine-independent code in osfmach3 subdirectory machine new unmodified dependent PPC 866 • build on Linux or the Linux server 100 20 • serialized multi-threaded single server machine modified independent for server • no emulation library 88 43 • objective: performance parity with Linux ~ 50% of those files are in machine-dependent locations, but don’t really need to be ported Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 7/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 8/17 Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel Linux Server: Syscall Redirection Linux Server: Device Access emulation library syscall exception Linux Linux server sys_read sys_read emulation shared library memory block_read block_read ll_rw_block ll_rw_block OS user OS make_request make_request task device_reply_thread server server device intr user driver queue wait_on_buffer block_read_reply task copy data wait_on_buffer ... unlock_buffer ... end_request return ... unlock_buffer microkernel microkernel return microkernel - unprotected privileged code + safety device interfaces - complexity + unique and simple interface this code is common to all this code is replicated in - multi-threaded tasks - no optimized local syscalls block devices and machine each block device driver independent + optimized local syscalls Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 9/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 10/17 Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel Linux Server: Memory Management Linux Server: Signals and Time Linux Linux Server Fake Interrupts vm areas vm areas • signals normally processed on returned from interrupt or system call page tables dummy page tables • force signal delivery on user-mode-bound processes • take control of process by suspending and aborting microkernel Hardware MMU the Mach user thread if not in a system call VM interfaces • fall back to the exception handling path • Linux’s vm_area structs translated into Mach VM mappings Jiffies • keep dummy and generic page table code for code re-use • jiffies thread • mapped files • use Mach clock services to sleep 10 millisecs • memory object associated to an inode • call do_timer • inode pager (EMM) thread, serving requests from MK • simple but inefficient, will be redesigned Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 11/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 12/17 Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel Linux Server: Dynamic Buffer Cache Linux on OSF MK: Status on i*86 • cooperation between VM (microkernel) and Buffer Cache • boots from LILO (Linux server) • 100% binary compatible • emulate the free_area pool of pages in a memory object • supports virtual consoles, X-Window, gpm and sdoom ! • external memory manager: a Linux server thread • advisory pageout to avoid races and select page to free • current overall performance: 93% of Linux’s performance • memory_object_discard_request EMM interface • disk IO performance better than Linux • try_to_free_page() • memory_object_lock_request: let the MK release the page • biggest performance penalty on syscall path and copyin/out operations • MK falls back to default pager in case of problem • also avoids double paging (paging buffer cache pages) Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 13/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 14/17 Linux on top of the OSF Mach3 Microkernel Linux on top of the OSF Mach3 Microkernel Linux on OSF MK: Conclusion Linux on OSF MK: Apple PowerMac Achievements • runs the available Linux/PPC commands and X-Window • OSF MK can support Linux and with good performance Further Information • a free development platform for OSF MK now exists Next Steps http://www.mklinux.apple.com • complete functionality and improve performance Availability • integrate Linux device drivers • summer 1996 • take advantage of OSF MK added value BOF Session at the OSF • multi-threaded tasks, SMP, real-time, clusters Snapshot Available for i*86 • this evening (Sunday Feb 5) from 8:30 to 10:00 PM • at OSF, 11 Cambridge Center - 100 yards from the Marriott http://www.gr.osf.org/mklinux • demo of Linux on OSF MK on Intel and PowerMac Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 15/17 Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 16/17 Linux on top of the OSF Mach3 Microkernel Linux on OSF MK: Apple PowerMac • runs the available Linux/PPC commands and X-Window Further Information http://www.mklinux.apple.com Availability • summer 1996 BOF Session at the OSF • this evening (Sunday Feb 5) from 8:30 to 10:00 PM • demo of Linux on OSF MK on Intel and PowerMac Freely Redistributable Software Conference - 5 Feb 1996 - Cambridge 17/17.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us