Unix Programming, Hardback Book

Unix Programming Hardback

Edited by Jovan Pehcevski

Hardback

  • Information

Description

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.

Information

Save 8%

£164.00

£150.74

Information