Flash Filesystem Advanced Filesystem Ext4 / Brtfs POHMELFS AXFS / Logfs / UBIFS

Total Page:16

File Type:pdf, Size:1020Kb

Flash Filesystem Advanced Filesystem Ext4 / Brtfs POHMELFS AXFS / Logfs / UBIFS Developing a Simple Filesystem I. File Concepts II. File IO / Standard IO Libarary III. Filesystem-based Concepts IV. Kernel Concepts V. Developing Filesystem VI. Other Filesystem 2008. 10. 31 LG Electronics Software Center 심재훈 1 File concepts File Type Regular / Directories / Symbolic Links / Hard Links / Named Pipes Special Files File Descriptors handle through which the file can be subsequently accessed Basic File Properties file type / access permission link count owner and group of file size / date / name 2 File concepts Basic File Properties(con’t) 3 File concepts # VFS Inode structure 4 File concepts {“.”, 3333} / {“..”, 2} inode {“directory.”, 12668259} KELP_seminar/ 3333 {“file”, 8463735} 3 {“hard_link”, 8463735} {“symbolic_link.”, 8463736} {“symbolic_link2”, 8463740} directory/ file hard_link symbolic_link symbolic_link2 inode inode inode inode 12668259 8463735 8463736 8463740 inode number 2 2 1 1 nlink {“.”, 12668259} regular file “file” “./file” {“..”, 3333} hard_link 5 File IO basic file operations open() / creat() / close() / lseek() / read() / write() . truncate() / unlink() seeking and IO combined . pread() / pwrite() . read-write loop 1 million times. 35sec → 25sec vectored IO . readv() / writev() . use in case single-read data needs to placed in different areas of memory. asynchronous IO . aio_read() / aio_write() / aio_return() / aio_error() / aio_cancel() file and record locking . fcntl() : F_GETLK / F_SETLK / F_SETLKW memory mapped files, direct IO sparse file 6 File IO ## Vectored IO ## user address space readv(fd, &uiop, 3) ## Sparse File ## struct uio uip = { {addr1, 512}, {addr2, 512}, file size addr2 {addr3, 1024} }; not allocated area addr1 file offset ## Memory Mapping IO ## ## Direct IO ## user address space addr = mmap(NULL, MAPSZ, user address space fd = open(filename, O_DIRECT, mode) PROT_READ, MAP_SHARED, fd, 0); write(fd, buf, size); memcpy(addr, buf, size); page cache file offset file offset 7 Filesystem concepts Properties has root directory(/) and lost+found directory(most disk-based FS) each file and directory is identified uniquely by inode . normally root inode (2), lost+found (3) self-contained . no dependencies between filesystems clean / dirty state Disk, Partition, Volumes Creating filesystem : mkfs Repairing filesystem : fsck journaling / log-structured FS User / Group quotas 8 kernel concepts VFS objects on-disk layout file descriptors / file table inode cache / page cache pathname resolution opening file / reading file / closing files 9 Linux Filesystem Structure Overview User application User space system call Virtual FileSystem NFS network Ext3 FAT JFFS Yaffs SMB buffer / page cache Kernel space io interface FTL block device driver Flash driver storage device 10 VFS Object Virtual Filesystem Object[2] superblock object . stores information concerning a mounted filesystem. corresponds to filesystem control block stored on disk. inode object . stores general information about a specific file. corresponds to file control block stored on disk. file object . stores information about the interaction between open file and process dentry object . stores information about the linking of a directory entry with the corresponding file . recently used that are contained in dentry cache 11 VFS objects Interaction between process and VFS objects[2] page disk file cache Superblock Inode object object i_sb d_inode fd Process 1 File object f_dentry Process 2 File object dentry dentry object object Process 3 File object dentry cache 12 VFS Object File object associated with process struct fs_struct count f_flags root f_mode pwd f_dentry dentry object rootmnt f_pos pwdmnt f_count altroot f_op struct task_struct struct file fs files fdt max_fds fdtab fd next_fd open_fds f_flags f_mode fd_array[0] f_dentry dentry object fd_array[1] f_pos fd_array[2] f_count fd_array[3] f_op struct file fd_array[N] struct file 13 VFS Object dentry d_subdirs d_u.d_child d_parent dentry_hashtable[] d_hash 0 1 d_subdirs d_subdirs 2 d_u.d_child d_u.d_child 3 d_parent d_parent d_hash d_hash d_subdirs d_u.d_child d_parent i_dentry d_subdirs d_hash d_u.d_child d_lru d_parent d_alias d_hash d_inode d_lru d_name struct inode d_alias d_op struct dentry d_sb superblock struct super_block 14 VFS Object inode inode_hashtable[] inode_in_use inode_unused 0 i_hash i_hash 1 i_list i_list 2 i_dentry i_dentry 3 i_sb i_sb i_hash i_list i_hash i_hash i_dentry i_list i_list i_sb i_dentry i_dentry i_sb i_sb i_op i_hash i_fop i_list dentry i_mappinig i_dentry i_private i_sb specific inode structure page cache sb->s_dirty struct super_block SB dinode volume 15 VFS Object superblock & file_system_type super_blocks sb_lock s_list s_list s_list s_instance s_instance s_instance s_dirty s_dirty s_dirty s_inodes i_hash i_hash s_inodes s_inodes s_dirt i_list i_list s_dirt s_dirt s_root i_dentry i_dentry s_root s_root s_type i_sb i_sb s_type s_type s_fs_info s_fs_info ext3 jffs proc specific superblock structure name name name fs_supers fs_supers fs_supers get_sb() get_sb() get_sb() SB file_systems kill_sb() kill_sb() kill_sb() next next next volume file_systems_lock fs_flags fs_flags fs_flags struct file_system_type 16 VFS Object Virtual Filesystem Operations struct super_operations . alloc_inode / destroy_inode / read_inode / write_inode / delete_inode . statfs / put_super struct inode_operations . create / link / unlink / lookup / mkdir / rmdir / setattr / truncate struct file_operations . open / lseek / read / write / mmap / ioctl struct address_space_operations . write_page / read_page / direct_IO / release_page struct dentry_operations . d_revalidate / d_hash / d_compare 17 VFS Object Main Structure for file access super_blocks struct task_struct s_list files fd s_op struct files_struct struct super_block alloc_inode /destroy_inode f_flags d_sb f_mode d_inode f_dentry d_op i_sb f_pos struct inode i_op f_reada struct dentry i_mapping f_op struct address_space struct file a_ops create llseek lookup writepage / readpage d_revalidate read /write link / unlink sync_page d_hash aio_read/aio_write symlink writepages / readpages d_delete readdir mkdir / rmdir set_page_dirty d_release poll mknod prepare_write d_compare ioctl rename commit_write mmap readlink bmap open /release follow_link direct_IO flush / fsync / fasync truncate get_xip_page lock / flock truncate_range invalidatepage setattr releasepage 18 Reading file example fd = open(filename, flag) read(fd, buf, 512); kernel 2.6 kernel 2.4 kernel 2.2 buf buf buf user mode kernel mode struct task_struct struct file pathname struct inode struct dentry page cache lookup find block page cache page cache struct address_space buffer cache (0th block) (radix tree) (hashtable) I/O I/O I/O on disk using bio using bh using bh block 0 superblock inode for filename inodes 0th block data 19 Developing filesystem design filesystem module init / exit mount / umount directory lookup / pathname resolution inode manipulation allo c / wr ite / delete file creating / link management create / removing directories filesystem status 20 Filesystem Analysis Basic Categories Filesystem / Filename / Metadata / Contents / Application [10] Journaling Filesystem Application Category Category Layout & Size Quota Data Superblock Information Resource Group File Name Metadata Contents Category Category Category Times & Content Data file1.txt Address #1 Content Data #2 Times & file2.txt Address Content Data Directory structure(inode) File structure(inode) #1 Journal / Journaling Allocation/Deallocation Category Recovery 21 UXFS Layout Super lost+ root Inodes Data Blocks Block found block 0 block 8 ~ 39 40 41 for each inode struct ux_superblock { struct ux_inode { struct ux_dirent { __u32 s_magic; __u32 i_mode; __u32 d_ino; __u32 s_mod; __u32 i_nlink; char d_name[28]; __u32 s_nifree; __u32 i_atime; }; __u32 s_inode[UX_MAXFILES]; __u32 i_mtime; __u32 s_nbfree; __u32 i_ctime; d_ino = 2, d_name = “.” __u32 s_block[UX_MAXBLOCKS]; __u32 i_uid; d_ino = 2, d_name = “..” }; __u32 i_gid; __u32 i_size; d_ino = 3, d_name = “lost+found” __u32 i_blocks; __u32 i_addr[UX_DIRECT_BLOCKS]; d_ino = 4, d_name = “fred” }; d_ino = 0, d_name = “” #define UX_DIRECT_BLOCKS 16 #define UX_MAXFILES 32 #define UX_MAXBLOCKS 470 22 UXFS Layout Design Detail supports only 512-byte block (UX_BSIZE) fixed number of blocks (UX_MAXBLOCKS) . 470 blocks superblock is stored in block 0 there are only 32 inodes (UX_MAXFILES) . 실제로는 28개 사용가능(0, 1, root inode:2, lost+found:3 제외) . has 9 direct pointer. → limits the file size to (9 * 512) first data block is 42th . 40th block store root directory entries . 41th block store lost+found directory entries directory entries are fixed in size (32byte) . max filename size is 28 byte 23 Filesystem Registration register_filesystem() struct file_system_type static struct file_system_type uxfs_fs_type = { name .owner = THIS_MODULE, fs_flags .name = "uxfs", get_sb() kill_sb() .get_sb = ux_get_sb, next .kill_sb = kill_block_super, fs_supers .fs_flags = FS_REQUIRES_DEV, s_lock_key }; s_umount_key ... register_filesystem(&uxfs_fs_type); ext3 jffs proc file_systems name name name file_systems_lock fs_flags fs_flags fs_flags get_sb() get_sb() get_sb() kill_sb() kill_sb() kill_sb() next next next fs_supers fs_supers fs_supers struct file_system_type s_instances s_instances s_instances struct super_block 24 Filesystem mount # mount -t uxfs /dev/sdd1 /mnt/testdir / mnt/ testdir find dentry user using hash mode find directory lookup : ino = ux_find_entry() kernel /mnt/testdir pathname
Recommended publications
  • Table of Contents
    A Comprehensive Introduction to Vista Operating System Table of Contents Chapter 1 - Windows Vista Chapter 2 - Development of Windows Vista Chapter 3 - Features New to Windows Vista Chapter 4 - Technical Features New to Windows Vista Chapter 5 - Security and Safety Features New to Windows Vista Chapter 6 - Windows Vista Editions Chapter 7 - Criticism of Windows Vista Chapter 8 - Windows Vista Networking Technologies Chapter 9 -WT Vista Transformation Pack _____________________ WORLD TECHNOLOGIES _____________________ Abstraction and Closure in Computer Science Table of Contents Chapter 1 - Abstraction (Computer Science) Chapter 2 - Closure (Computer Science) Chapter 3 - Control Flow and Structured Programming Chapter 4 - Abstract Data Type and Object (Computer Science) Chapter 5 - Levels of Abstraction Chapter 6 - Anonymous Function WT _____________________ WORLD TECHNOLOGIES _____________________ Advanced Linux Operating Systems Table of Contents Chapter 1 - Introduction to Linux Chapter 2 - Linux Kernel Chapter 3 - History of Linux Chapter 4 - Linux Adoption Chapter 5 - Linux Distribution Chapter 6 - SCO-Linux Controversies Chapter 7 - GNU/Linux Naming Controversy Chapter 8 -WT Criticism of Desktop Linux _____________________ WORLD TECHNOLOGIES _____________________ Advanced Software Testing Table of Contents Chapter 1 - Software Testing Chapter 2 - Application Programming Interface and Code Coverage Chapter 3 - Fault Injection and Mutation Testing Chapter 4 - Exploratory Testing, Fuzz Testing and Equivalence Partitioning Chapter 5
    [Show full text]
  • Non-Volatileメインメモリとファイルシステムの融合
    情報処理学会論文誌 Vol.54 No.3 1153–1164 (Mar. 2013) Non-Volatileメインメモリとファイルシステムの融合 追川 修一1,a) 受付日 2012年7月9日, 採録日 2012年12月7日 概要:近年,不揮発性の non-volatile(NV)メモリの性能向上が著しく,高速化,大容量化,低価格化が 進んでいることから,それらをメインメモリとして用いる研究,またストレージデバイスとして用いる研 究が,それぞれ別個に行われてきた.しかしながら,メインメモリおよびストレージの両方としても用い ることのできる NV メモリは,その両方を融合できることを意味する.融合により,メインメモリとして 使用できるメモリ領域が増加し,これまでメインメモリ容量を超えてメモリ割当て要求があった場合に発 生していたページスワップが不要になることで,システムの処理性能が向上する.本論文は Linux を対象 とし,NV メモリから構成されるメインメモリとファイルシステムの具体的な融合方法を提案する.そし て,Linux をエミュレータ上で実行する評価実験を行い,融合が可能であること,また性能面でも有効で あることを示す. キーワード:オペレーティングシステム,メモリ管理,ファイルシステム,不揮発性メモリ Unification of Non-Volatile Main Memory and a File System Shuichi Oikawa1,a) Received: July 9, 2012, Accepted: December 7, 2012 Abstract: Recent advances of non-volatile (NV) memory technologies make significant improvements on its performance including faster access speed, larger capacity, and cheaper costs. While the active researches on its use for main memory or storage devices have been stimulated by such improvements, they were conducted independently. The fact that NV memory can be used for both main memory and storage devices means that they can be unified. The unification of main memory and a file system based on NV memory enables the improvement of system performance because paging becomes unnecessary. This paper proposes a method of such unification and its implementation for the Linux kernel. The evaluation results performed by executing Linux on a system emulator shows the feasibility of the proposed unification method. Keywords: operating systems, memory management, file systems,
    [Show full text]
  • Embedded Systems
    Embedded Systems Peter Marwedel Embedded System Design Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things Fourth Edition Embedded Systems Series editors Nikil D. Dutt, Irvine, CA, USA Grant Martin, Santa Clara, CA, USA Peter Marwedel, Dortmund, Germany This Series addresses current and future challenges pertaining to embedded hard- ware, software, specifications and techniques. Titles in the Series cover a focused set of embedded topics relating to traditional computing devices as well as high- tech appliances used in newer, personal devices, and related topics. The material will vary by topic but in general most volumes will include fundamental material (when appropriate), methods, designs, and techniques. More information about this series at http://www.springer.com/series/8563 Peter Marwedel Embedded System Design Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things Fourth Edition 123 Peter Marwedel TU Dortmund Dortmund, Germany ISSN 2193-0155 ISSN 2193-0163 (electronic) Embedded Systems ISBN 978-3-030-60909-2 ISBN 978-3-030-60910-8 (eBook) https://doi.org/10.1007/978-3-030-60910-8 1st edition: Springer US 2006 2nd edition: Springer Netherlands 2011 3rd edition: Springer International Publishing 2018 © The Editor(s) (if applicable) and The Author(s) 2021. This book is an open access publication. Open Access This book is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
    [Show full text]
  • ELC 2008 Agenda
    Embedded Linux Conference, 2008 Program Agenda Mountain View, California, April 15-17 Table of Contents Agenda...............................................................................................................................2 Tuesday...........................................................................................................................2 Wednesday......................................................................................................................3 Thursday.........................................................................................................................4 Keynote List........................................................................................................................5 Keynote Descriptions.........................................................................................................5 Session List........................................................................................................................7 Session Descriptions..........................................................................................................9 BOF List............................................................................................................................30 BOF Descriptions.............................................................................................................30 Agenda Tuesday Session Schedule - Tuesday, April 15 Time Room A - Hahn Room B - Boole Room C - Noyce 8:00 - 900 Registration 9:00 - 9:50 Keynote:
    [Show full text]
  • Update on Filesystems for Flash Storage
    Embedded Linux Conference Europe Update on filesystems for flash storage Michael Opdenacker. Free Electrons http://free-electrons.com/ 1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Contents Introduction Available flash filesystems Our benchmarks Best choices Advice for flash-based block devices Experimental filesystems 2 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Update on filesystems for flash storage Introduction 3 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Flash storage We are talking about flash chips, accessed by the Linux kernel as Memory Technology devices. Compact Flash, MMC/SD, Memory Stick cards, together with USB flash drives and Solid State Drives (SSD), are interfaced as block storage, like regular hard disks. At the end, we will say a few words about dealing with the second category. 4 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Existing solutions For the last years, only 2 filesystem choices for flash storage jffs2 yaffs2 Wear leveling, ECC Wear leveling, ECC Power down resistant Power down resistant Compression No compression Huge mount times Very quick mount time Rather big memory usage Programmed by Wookies (at least 1) Mainstream support Available as a Linux patch. 2 solutions, but far from being perfect! 5 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Election time! At last, new choices have been developed. LogFS How do they compare New filesystem for MTD to existing solutions? storage Mounting time UBI Access speed New layer managing erase blocks and wear leveling Memory usage UBIFS CPU usage New filesystem taking Size? advantage of UBI©s capabilities AXFS Advanced XIP FileSystem 6 Free Electrons.
    [Show full text]
  • Filesystems for Flash Storage
    JM2L 2008 Update on filesystems for flash storage Michael Opdenacker. Bootlin https://bootlin.com/ 1 Bootlin. Kernel, drivers and embedded Linux development, consulting, training and support. http://bootlin.com About this document This document is released under the terms of the Creative-Commons BY-SA 3.0 license: http://creativecommons.org/licenses/by-sa/3.0/ Documents updates can be found or described on https://bootlin.com/pub/conferences/2008/elce/ 2 Bootlin. Kernel, drivers and embedded Linux development, consulting, training and support. http://bootlin.com Contents Introduction Available flash filesystems Our benchmarks Best choices Experimental filesystems Advice for flash-based block devices 3 Bootlin. Kernel, drivers and embedded Linux development, consulting, training and support. http://bootlin.com Update on filesystems for flash storage Introduction 4 Bootlin. Kernel, drivers and embedded Linux development, consulting, training and support. http://bootlin.com Flash storage We are talking about flash chips, accessed by the Linux kernel as Memory Technology devices. Compact Flash, MMC/SD, Memory Stick cards, together with USB flash drives and Solid State Drives (SSD), are interfaced as block storage, like regular hard disks. At the end, we will say a few words about dealing with the second category. 5 Bootlin. Kernel, drivers and embedded Linux development, consulting, training and support. http://bootlin.com Existing solutions For the last years, only 2 filesystem choices for flash storage jffs2 yaffs2 Wear leveling, ECC Wear leveling, ECC Power down resistant Power down resistant Compression No compression Huge mount times Very quick mount time Rather big memory usage Programmed by Wookies (at least 1) Mainstream support Available as a Linux patch.
    [Show full text]
  • The Enabling of an Execute-In-Place Architecture to Reduce the Embedded System Memory Footprint and Boot Time
    JOURNAL OF COMPUTERS, VOL. 3, NO. 1, JANUARY 2008 79 The Enabling of an Execute-In-Place Architecture to Reduce the Embedded System Memory Footprint and Boot Time Tony Benavides Intel Corporation, Folsom, CA USA Email: [email protected] Justin Treon, Jared Hulbert and Weide Chang Flash Memory Group, Intel Corporation California State University, Sacramento USA Department of Computer Science Email: [email protected], [email protected], [email protected] Abstract—Success in the embedded world revolves around Both of these models vary the way that they use RAM two key concepts: cost effectiveness and performance. The and Non-Volatile Memory in a system. ability for an operating system to boot quickly combined with The current eXecute-In- Place (XIP) memory model speedy application usage at runtime is important to consumer works excellent for code execution and data storage. In unit adoption. The most common memory sub-system setup in systems that exhibit a situation where some data cannot cellular phone architectures today is what is called an eXecute-In-Place architecture. This type of memory sub- take advantage of the cache in order to meet a limited system defines the execution of code and data directly from latency requirement it will be of a great benefit to focus NOR flash memory. An additional memory architecture of on this Balanced XIP System architecture. choice is called a Store and Download architecture. This is a When using a pure Store and Download (SnD) model, memory sub-system where the code gets copied to RAM at boot the battery life decreases due to the fact that more volatile time and executes out of the RAM.
    [Show full text]
  • Linux in Automotive Environment
    Linux in Automotive Environment Master of Science Thesis at Computer Science and Engineering ARON ULMESTRAND DANIEL ÖKVIST Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, June 2010 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. ARON ULMESTRAND DANIEL ÖKVIST © Aron Ulmestrand, June 2010. © Daniel Ökvist, June 2010. Examiner: Catarina Coquand Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden June 2010 Preface Linux in Automotive Environment is a Master Thesis at the department of Computer Science and Engineering at Chalmers University of Technology. It is written by Aron Ulmestrand and Daniel Okvist.¨ The work has been carried out at Mecel AB in Gothenburg.
    [Show full text]
  • APPLICATION NOTE XIP Linux for RZ/A1
    APPLICATION NOTE RZ/A1 EU_00181 Rev.1.10 XIP Linux for RZ/A1 Jun 13, 2016 Introduction Target Device Contents 1. Frame of Reference .......................................................................................................................... 2 2. What is an XIP Linux Kernel ............................................................................................................. 2 3. RZ/A1 XIP SPI Flash Hardware Support .......................................................................................... 2 4. Updating the kernel image ................................................................................................................ 3 5. Kernel RAM usage ............................................................................................................................ 3 6. Simple Benchmarks .......................................................................................................................... 3 7. Kernel vs Userland ............................................................................................................................ 6 8. Files Systems and Storage ............................................................................................................... 6 9. u-boot Modifications .......................................................................................................................... 7 EU_00181 Rev.1.10 Page 1 of 8 Jun 13, 2016 RZ/A1 XIP Linux for RZ/A1 1. Frame of Reference Since the Linux kernel and open source community is constantly
    [Show full text]
  • Embedded Linux System Development Training
    Free Electrons Embedded Linux system development training Thomas Petazzoni Florent Peyraud Michael Opdenacker 1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Linux kernel Linux device drivers Free Electrons Board support code Our services Mainstreaming kernel code Kernel debugging Custom Development System integration Embedded Linux Training Embedded Linux demos and prototypes All materials released with a free license! System optimization Unix and GNU/Linux basics Application and interface development Linux kernel and drivers development Real-time Linux, uClinux Consulting and technical support Development and profiling tools Help in decision making Lightweight tools for embedded systems System architecture Root filesystem creation System design and performance review Audio and multimedia Development tool and application support System optimization Investigating issues and fixing tool bugs Rights to copy © Copyright 2004-2009, Free Electrons [email protected] Document updates available on http://free-electrons.com/doc/training/embedded-linux/ Corrections, suggestions, contributions and translations are welcome! Attribution ± ShareAlike 3.0 Latest update: May 21, 2009 You are free to copy, distribute, display, and perform the work to make derivative works to make commercial use of the work Under the following conditions Attribution. You must give the original author credit. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder.
    [Show full text]
  • Proceedings of the Linux Symposium
    Proceedings of the Linux Symposium Volume One July 23rd–26th, 2008 Ottawa, Ontario Canada Contents x86 Network Booting: Integrating gPXE and PXELINUX 9 H. Peter Anvin Keeping the Linux Kernel Honest 19 Kamalesh Babulal & Balbir Singh Korset: Automated, Zero False-Alarm Intrusion Detection for Linux 31 Ohad Ben-Cohen & Avishai Wool Suspend-to-RAM in Linux 39 Len Brown & Rafael J. Wysocki Systems Monitoring Shootout 53 K. Buytaert, T. De Cooman, F. Descamps, & B. Verwilst Virtualization of Linux servers 63 F.L. Camargos, G. Girard, & B. des Ligneris MondoRescue: a GPL Disaster Recovery Solution 77 Bruno Cornec The Corosync Cluster Engine 85 Steven C. Dake LTTng: Tracing across execution layers, from the Hypervisor to user-space 101 Mathieu Desnoyers Getting the Bits Out: Fedora MirrorManager 107 Matt Domsch Applying Green Computing to clusters and the data center 113 Andre Kerstens & Steven A. DuChene Introduction to Web Application Security Flaws 123 Jake Edge Around the Linux File System World in 45 minutes 129 Steve French Peace, Love, and Rockets! 135 Bdale Garbee Secondary Arches, enabling Fedora to run everywhere 137 Dennis Gilmore Application Testing under Realtime Linux 143 Luis Claudio R. Gonçalves & Arnaldo Carvalho de Melo IO Containment 151 Naveen Gupta Linux Capabilities: making them work 163 Serge E. Hallyn & Andrew G. Morgan Issues in Linux Mirroring: Or, BitTorrent Considered Harmful 173 John Hawley Linux, Open Source, and System Bring-up Tools 183 Tim Hockin Audio streaming over Bluetooth 193 Marcel Holtmann Cloud Computing: Coming out of the fog 197 Gerrit Huizenga Introducing the Advanced XIP File System 211 Jared Hulbert Low Power MPEG4 Player 219 J.-Y.
    [Show full text]