10% off all books and free delivery over £40
Buy from our bookstore and 25% of the cover price will be given to a school of your choice to buy more books. *15% of eBooks.

Unix Programming

View All Editions

The selected edition of this book is not available to buy right now.
Add To Wishlist
Write A Review

About

Unix Programming Synopsis

UNIX, like other operating systems, has two primary functions: to manage the operations of the hardware and to manage the running of the applications. The UNIX system includes traditional components of the operating system, plus a set of libraries and a set of bundled applications. On the lowest, hardware level there are two components: the file system and the process control. On the intermediary level there is the set of programming libraries, while on the upper level there are the applications. The part of the UNIX operating system that manages the hardware and the processes is called the kernel. To enable control over the hardware devices, the UNIX system treats each device as a file (named device file). This allows for any hardware device to be accessed much like accessing the files in the system. The file system therefore manages read and/or write access to both user data and devices (such as a printer) connected to the computer. During process execution, UNIX allocates resources to processes (including the CPU, the disk, and the memory) and mediates the access to the hardware. A significant advantage of UNIX over other operating systems is its application portability, i.e. the ability to have an application executed on various types of computer hardware, without the need to modify it. This allows the programmer to develop software that, with minimal effort, will execute on different types of hardware. In this way, the application development costs are reduced and the number of potential application uses is increased. This edition is dedicated to the UNIX programming, which is basically done in the standard C language (BSD C library), that exists for almost 50 years. Section 1 explains the basic concepts of the UNIX operating system, such as the kernel, the file system, and the processes. Section 2 covers the basic programming techniques that involve input and output operations (stdin, stdout, stderr), shell scripts, compiling and linking (gcc), the Makefile option, and using standard programming libraries. Section 3 goes into intermediary topics in UNIX programming and covers file access and manipulation, such as file descriptors, read/write/seek functions, file properties (stat, fstat, lstat), user privileges, processes (main, fork, exit), pipes and fifos, domain sockets and memory access. Section 4 covers advanced topics in UNIX programming dedicated on network programming (bind, connect, listen, send, receive, accept, close) and multithread programming, such as synchronization, pthread_create, pthread_exit, and pthread_join.

About This Edition

ISBN: 9781680944501
Publication date: 30th November 2016
Author: Jovan Pehcevski
Publisher: Arcler Education Inc
Format: Hardback
Pagination: 244 pages
Genres: Computer networking and communications
Computer science