Skip to main content
main-content

Über dieses Buch

"UNIX Operating System: The Development Tutorial via UNIX Kernel Services" introduces the hierarchical structure, principles, applications, kernel, shells, development, and management of the UNIX operation systems multi-dimensionally and systematically. It clarifies the natural bond between physical UNIX implementation and general operating system and software engineering theories, and presents self-explanatory illustrations for readers to visualize and understand the obscure relationships and intangible processes in UNIX operating system.
This book is intended for engineers and researchers in the field of applicable computing and engineering modeling.
Yukun Liu is an Associate Professor at the Department of Computer Science and Technology, Hebei University of Science and Technology, China; Professor Yong Yue is Director of the Institute for Research of Applicable Computing and Head of the Department of Computer Science and Technology, University of Bedfordshire, UK; Professor Liwei Guo is Dean of the College of Information Science and Engineering, Hebei University of Science and Technology, China.

Inhaltsverzeichnis

Frontmatter

1. Background of UNIX Operating System

Abstract
Before presenting the UNIX operating system, we describe the fundamental purpose of operating systems, different types of operating systems, and which type of operating systems UNIX belongs to. Then we discuss the development history of the UNIX, along with introducing different types of the UNIX.
Yukun Liu, Yong Yue, Liwei Guo

2. How to Start

Abstract
Before using the UNIX operating system, a brief introduction of the components and software structure of UNIX will be given. And it is also necessary for the users to know the working environment in UNIX in order to start to work in there and use its facilities. After learning the difference between a character user interface (CUI) and a graphical user interface (GUI) and also benefits of a CUI, it is helpful to learn the UNIX command lines and UNIX window systems. A UNIX shell is an important interface between the user and the operating system, and also a programming tool for users to write their own commands. This chapter will introduce only the shell setup files, and the detailed discussion on UNIX shells will be given in Chapter 8.
Yukun Liu, Yong Yue, Liwei Guo

3. Text Editors

Abstract
As the UNIX operating system is a text-driven operating system, it is necessary to learn how to use text editors, which are used to create and edit a plain-text file, such as programs, scripts, email messages, and so on (Bach 2006; Baecker 1986; Douglas et al 1983; Makatani et al 1986; Pelaprat et al 2002; Quarterman et al 1985; Ritchie et al 1974; Rosson 1985; Sarwar et al 2006; Stallings 1998; Walker et al 1988).We will introduce three popular text editors in this chapter, which are pico, emacs, and vi editors, in order that one of them is available in a certain version of UNIX.
Yukun Liu, Yong Yue, Liwei Guo

4. UNIX Process Management

Abstract
Since UNIX is one of multi-user and multiprocessing operating systems, UNIX has its solution to the system resource management. The UNIX kernel handles almost all the basic issues related to process management, memory management, file system, and I/O system, and provide well-defined system programs that have the clear-cut assignment of responsibility in order to allow user programs to call them with system calls (Bach 2006; McKusick et al 2005; Mohay et al 1997). This chapter will discuss the UNIX process management. Chapter 5 will introduce the UNIX memory management. Chapter 6 will focus on the UNIX file system. Chapter 7 will be related to the UNIX I/O system.
Yukun Liu, Yong Yue, Liwei Guo

5. UNIX Memory Management

Abstract
In this chapter, we will focus on the memory management in UNIX, which is one of the most important services of UNIX kernel. In a computer system, CPU must cooperate with the memory to accomplish any computing. The main memory has scarce space and cannot contain all the programs on the disk. However, a process cannot execute if it is not brought in memory. Thus, the memory management becomes quite important, especially when the sizes of application programs become fairly large. And the memory management has a close relationship with the process management. We will introduce the outline of memory management, process swapping in UNIX, and demand paging in UNIX in this chapter.
Yukun Liu, Yong Yue, Liwei Guo

6. UNIX File System

Abstract
When using a computer system, users are mostly performing file-related operations: reading, writing, modifying, creating, or executing files. And these operations are interacting with the file system. Therefore, readers need to understand the file system and file concept in UNIX, how they are managed and represented in the operating system, and how they are stored on the disk. In this chapter, we will discuss the file system structure, file concept in UNIX, how to manage file and file system, and the file representation and storage. This chapter will also focus on the local file system.
Yukun Liu, Yong Yue, Liwei Guo

7. UNIX I/O System, I/O Redirection and Piping

Abstract
Known from Chapter 6, in UNIX, it is through a special file to access one of hardware devices, including character devices (such as the keyboard and printer) and block devices (such as the hard disk). Each hardware device is corresponding to at least one special file. To access a device, use the command or system call that accesses its special file. All I/O devices in the UNIX are treated as files and are accessed as such with the almost same read and write system calls that are used to access all ordinary files (Isaak et al 1998; Jespersen 1995; Sarwar et al 2006). The difference is that device parameters must be set by using a special system call.
Yukun Liu, Yong Yue, Liwei Guo

8. UNIX Shell Introduction

Abstract
Known in Chapter 2, UNIX provides a text-based interface or a CUI interface (see Figure 2.1). This interface is a shell, which bridges between the UNIX kernel and users. In other words, when typing in a command line in a terminal system or a terminal window, users of UNIX work on one of the shells. When a user logs on and enters a terminal system, UNIX starts running a program that is a UNIX shell (Bach 2006; Miller et al 2000; Mohay et al 1997; Quarterman et al 1985; Ritchie et al 1974; Sarwar 2006). When the shell starts running, it gives a shell prompt ($ for the Bourne or Korn shell, or % for the C shell) and waits for the user to type in commands (Bourne 1978; Bourne 1983; Joy 1980; Korn 1983; Rosenblatt et al 2002). The UNIX shell executes commands that the user types on the keyboard.
Yukun Liu, Yong Yue, Liwei Guo

9. How to Program in Bourne Shell (1)

Abstract
Considering there are so many shells that two chapters cannot accommodate them totally (maybe a whole book can hold them), as a language, we will just discuss Bourne shell in detail and readers can find some references about other shells at the end of the chapter.
Yukun Liu, Yong Yue, Liwei Guo

10. How to Program in Bourne Shell (2)

Abstract
As a programming language, the Bourne shell has been discussed partly in Chapter 9. In order to program more advanced scripts, it is necessary to learn more statements and commands that can be used to program. In this chapter, the discussion on program control flow statements will be continued, which includes case, while, until, break, and continue statements. Except these statements, there are some more topics: how to process numeric data, the Bourne shell support of functions, and how to debug shell scripts.
Yukun Liu, Yong Yue, Liwei Guo

11. UNIX in Internet and Computer Networking

Abstract
In previous chapters, the local applications and services of UNIX in individual computers have been introduced. This chapter will present the remote and network functions and services of UNIX in servers and workstations. After explanation of general concepts about the Internet and computer networking, Transmission Control Protocol/Internet Protocol (TCP/IP) suit will be presented, and contents associated with layers of TCP/IP model from down to up will be discussed. Finally, we will explain how to use some commands in the application layer of the TCP/IP model, such as telnet, ping, ftp, etc.
Yukun Liu, Yong Yue, Liwei Guo

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise