Offshore
 Welding
 Materials
 Technology
 Science
 Engineering
 Business & Economics
 Computers
 Reference
 Mathematics
 Architecture
 Photography
 Transportation
 Catalogues
 

Publications » Computers » Operating Systems

BeOS: Porting UNIX Applications

Price £39.99

temporarily out of stock

BeOS: Porting UNIX Applications

Martin Brown

ISBN 1558605320
Pages 496

Description

The BeOS is the exciting new operating system designed natively for the Internet and digital media. Programmers are drawn to the BeOS by its many state-of-the-art features, including pervasive multithreading, a symmetric multiprocessing architecture, and an integrated multithreaded graphics system. The Be engineering team also built in many UNIX-like capabilities as part of a POSIX toolkit. Best of all, the BeOS runs on a variety of Intel architectures and PowerPC platforms and uses off-the-shelf hardware.

This book explores the BeOS from a POSIX programmer's point of view, providing a comprehensive and practical guide to porting UNIX and other POSIX-based software to the BeOS. BeOS: Porting UNIX Applications will help you move your favorite UNIX software to an environment designed from the ground up for high-performance applications.

Contents
Part I Preparation 1. Chapter 1 - Introduction to the Porting Process 1.1. Life Cycle of a Port 1.2. Choosing an Application to Port 1.3. Difficulties with the BeOS 2. Chapter 2 - BeOS Structure 2.1. Basic Structure 2.2. Applying UNIX structure to the BeOS 2.3. Missing links and Other Goodies 3. Chapter 3 - Were not in UNIX Anymore 3.1. The BeOS's Concept of Users 3.2. The BeOS's Concept of Groups 3.3. Effects on Porting 3.4. Processes 4. Chapter 4 - Useful Tools 4.1. bash 4.2. grep 4.3. sed 4.4. less 4.5. touch 4.6. tr 4.7. uniq and sort 4.8. Editors 5. Chapter 5 - Sources 5.1. Getting the Sources 5.2. Working with Archives 5.3. Archive Contents 6. Chapter 6 - Revisions and Backups 6.1. Revision Control System (RCS) 6.2. Concurrent Version System (CVS) 6.3. Using diff for Revisions 6.4. patch 6.5. Backups Part II The Porting Process 7. Chapter 7 - Getting Started 7.1. Reading the Documentation 7.2. Identifying the Build Type 7.3. Identifying the Build Process 8. Chapter 8 - Configuring the Package 8.1. Preparation 8.2. Expect to Change 8.3. Using #include in the Configuration Process 8.3. Using the #ifdef Macro 9. Chapter 9 - Makefiles 9.1. Principles of a Makefile 9.2. Anatomy of a Makefile 9.3. Execution Sequence 9.4. Coping with Errors 10. Chapter 10 - Configuration Scripts 10.1. Running under the BeOS 10.2. Faking Options 10.3. Manual Adjustments 10.4. Testing the Configuration 10.5. Cheating 11. Chapter 11 - Smart Compilers 11.1. Following the Script 11.2. Faking Options 11.3. Hand Compilation 11.4. Generating a Makefile 12. Chapter 12 - bison and flex 12.1. yacc and bison 12.2. lex and flex 13. Chapter 13 - The Compiler and Linker 13.1. How the Compiler and Linker work 13.2. Preprocessing 13.3. Optimization 13.4. Debugging 13.5. Header Files 13.6. Libraries 13.7. Making Libraries 13.8. Profiling 14. Chapter 14 - The Debugger 14.1. The BeOS Debugger 14.2. The Symbolic Debugger 14.3. Manual Debugging 15. Chapter 15 - Building the Package 15.1. Keeping a Log 15.2. Storing Output 15.3. Compilation Errors 15.4. Compilation Warnings 15.5. Linking Errors 15.6. Installation 15.7. Preparing to Test the Build 15.8. Checking the Created Files 15.9. Creating your Own Harness 15.10.Using the Supplied Harness 15.11.Pointers to Problems 16. Chapter 16 - Overview of BeOS Programming 16.1. Program Styles 16.2. Be Style 16.3. UNIX Style 17. Chapter 17 - POSIX 17.1. What is POSIX 17.2. POSIX and UNIX 17.3. The BeOS and POSIX 17.4. Effects on Porting 18. Chapter 18 - Kernel Support 18.1. Datatypes 18.2. Resource Limits 18.3. Memory Handling 18.4. Users and Groups 18.5. Processes 18.6. Signals 18.7. Interprocess Communication 18.8. System Calls 18.9. Regular Expressions 18.10. Non-local Jumps 18.11. Moving and Copying Memory 18.12. String Handling 18.13. Variable Argument Lists 19. Chapter 19 - Time Support 19.1. Standard Variables and Defines 19.2. Time Zones 19.3. Time Calculations 19.4. Getting the Time 19.5. Setting the Time 19.6. Timers 19.7. System Information 20. Chapter 20 - Terminals and Devices 20.1. Using I/O Devices 20.2. Working with Terminals 20.3. Device Drivers 21. Chapter 21 - Files and Directories 21.1. General Functions 21.2. Streams 21.3. UNIX File Descriptors 21.4. Utility Functions 21.5. File Systems 21.6. select and poll 22. Chapter 22 - Networking 22.1. Sockets 22.2. Utility Functions 22.3. Using select 22.4. Remote Procedure Calls (RPCs) 23. Chapter 23 - Summary 24. Appendix A - Resources 24.1. FTP 24.2. Web Sites 24.3. Mailing Lists and Newsgroups 24.4. CD-ROMs 24.5. Compatibility and Utility Software 25. Appendix B - Releasing the Software 25.1. Checking the Compilation 25.2. Packaging 25.3. Adding a License 25.4. Distribution 25.5. Contacting the Author