オープンコミュニティ「要求開発アライアンス」(http://www.openthology.org)の2008年10月定例会発表資料です。
Open Community "Requirement Development Alliance" 2008 October regular meeting of the presentation materials.
This document discusses how to write shared libraries. It begins with a brief history of shared libraries, noting that they allow code to be reused across processes by loading it into memory once. It then discusses some of the challenges with early binary formats not being designed for shared libraries, and how Linux initially used a.out but later switched to ELF to address limitations. The document will cover rules for properly using shared libraries to optimize resource usage and structure programs.
This document introduces the C programming language and provides an overview of the organization of the book "Modern C". It is organized into levels that summarize increasing levels of familiarity with C, from basic concepts to more advanced topics. The levels cover everything from simple programs and data types to pointers, memory management, and parallel programming. The document provides context on the evolution of C and its standards over time. It aims to give readers a comprehensive understanding of C beyond just writing code.
オープンコミュニティ「要求開発アライアンス」(http://www.openthology.org)の2008年10月定例会発表資料です。
Open Community "Requirement Development Alliance" 2008 October regular meeting of the presentation materials.
This document discusses how to write shared libraries. It begins with a brief history of shared libraries, noting that they allow code to be reused across processes by loading it into memory once. It then discusses some of the challenges with early binary formats not being designed for shared libraries, and how Linux initially used a.out but later switched to ELF to address limitations. The document will cover rules for properly using shared libraries to optimize resource usage and structure programs.
This document introduces the C programming language and provides an overview of the organization of the book "Modern C". It is organized into levels that summarize increasing levels of familiarity with C, from basic concepts to more advanced topics. The levels cover everything from simple programs and data types to pointers, memory management, and parallel programming. The document provides context on the evolution of C and its standards over time. It aims to give readers a comprehensive understanding of C beyond just writing code.
This document describes multimedia programming interfaces and data specifications that are common to both OS/2 and Windows environments. It defines the Resource Interchange File Format (RIFF) and several multimedia file formats. It also describes the Media Control Interface (MCI), which provides a device-independent interface for controlling multimedia devices and files through command strings.
1032 cs208 g operation system ip camera case share.v0.2Stanley Ho
The document discusses optimizing video performance on Android devices. It begins with an example of using VideoView and MediaPlayer to play video files. It then discusses issues with solely using the ffmpeg software library for video decoding, which can only decode one VGA stream or higher resolutions will lag. Profiling is suggested to find bottlenecks. Potential optimizations mentioned include using ARM/Thumb instructions, concurrent processing, offloading decoding to the GPU, and utilizing hardware video decoding components to meet frame rate targets.
This master's thesis documents the Linux kernel version 2.6. It begins with an introduction to operating systems concepts and an overview of Linux kernel subsystems. The core chapters analyze important kernel mechanisms such as synchronization, scheduling, memory management and device drivers. Code examples are provided to illustrate kernel programming concepts. The thesis concludes with the documentation of a sample loadable kernel module.
This document provides an introduction and multiple versions of a "Hello World" program written in Bluespec. It begins with a simple single rule design that outputs "Hello World" on every clock cycle. Subsequent versions add improvements like only outputting it once, outputting it 5 times using a counter, and discussing alternative implementations that may not work as intended. The goal is to demonstrate the basics of writing Bluespec programs and get the reader started with their first design.
USB In A Nutshell - Making Sense of the USB Standard.Stanley Ho
The USB standard is over 650 pages long and includes additional specifications for different device classes and host controllers, making it daunting for those new to USB. However, not all parts of the standard need to be read - some chapters are aimed at marketing, lower link layers handled by USB controllers, or host and hub developers. The document aims to take a brief journey through the USB 2.0 specification chapters to help make sense of the extensive standard.
This document discusses USB (Universal Serial Bus) standards and architecture. It introduces USB, covering its origins in 1996 and versions 1.0, 1.1, and 2.0. It also describes USB architecture, including the host/device model and use of descriptors to identify devices and their capabilities. Transferring data over USB is explained, along with standard commands.
2002 5 1 Introduction To Amba Bus SystemStanley Ho
This document provides an introduction to the AMBA (Advanced Microcontroller Bus Architecture) bus system developed by ARM Limited. It describes the original AMBA specification which included the AHB, ASB, APB and test methodology buses. It focuses on the key AHB and APB buses, and explores some important characteristics of the AHB bus. The AMBA specification is open and free to download from the ARM website for full technical details.