(itstool) path: listitem/para
Generic system interfaces: the I/O, control, and multiplexing operations performed on descriptors
Context English Portuguese (Brazil) State
Any real operating system has operational issues, such as how to start it running. Startup and operational issues are described in Chapter 14.
Sections 2.3 through 2.14 present introductory material related to Chapters 3 through 14. We shall define terms, mention basic system calls, and explore historical developments. Finally, we shall give the reasons for many major design decisions.
The Kernel O Kernel
The <emphasis>kernel</emphasis> is the part of the system that runs in protected mode and mediates access by all user programs to the underlying hardware (e.g., CPU, disks, terminals, network links) and software constructs (e.g., filesystem, network protocols). The kernel provides the basic system facilities; it creates and manages processes, and provides functions to access the filesystem and communication facilities. These functions, called <emphasis>system calls</emphasis> appear to user processes as library subroutines. These system calls are the only interface that processes have to these facilities. Details of the system-call mechanism are given in Chapter 3, as are descriptions of several kernel mechanisms that do not execute as the direct result of a process doing a system call.
A <emphasis>kernel</emphasis> in traditional operating-system terminology, is a small nucleus of software that provides only the minimal facilities necessary for implementing additional operating-system services. In contemporary research operating systems -- such as Chorus <xref linkend="biblio-rozier"/>, Mach <xref linkend="biblio-accetta"/>, Tunis <xref linkend="biblio-ewens"/>, and the V Kernel <xref linkend="biblio-cheriton"/> -- this division of functionality is more than just a logical one. Services such as filesystems and networking protocols are implemented as client application processes of the nucleus or kernel.
The 4.4BSD kernel is not partitioned into multiple processes. This basic design decision was made in the earliest versions of UNIX. The first two implementations by Ken Thompson had no memory mapping, and thus made no hardware-enforced distinction between user and kernel space <xref linkend="biblio-ritchie"/>. A message-passing system could have been implemented as readily as the actually implemented model of kernel and user processes. The monolithic kernel was chosen for simplicity and performance. And the early kernels were small; the inclusion of facilities such as networking into the kernel has increased its size. The current trend in operating-systems research is to reduce the kernel size by placing such services in user space.
Users ordinarily interact with the system through a command-language interpreter, called a <emphasis>shell</emphasis>, and perhaps through additional user application programs. Such programs and the shell are implemented with processes. Details of such programs are beyond the scope of this book, which instead concentrates almost exclusively on the kernel.
Sections 2.3 and 2.4 describe the services provided by the 4.4BSD kernel, and give an overview of the latter's design. Later chapters describe the detailed design and implementation of these services as they appear in 4.4BSD.
Kernel Organization Organização do Kernel
In this section, we view the organization of the 4.4BSD kernel in two ways:
As a static body of software, categorized by the functionality offered by the modules that make up the kernel
By its dynamic operation, categorized according to the services provided to users
The largest part of the kernel implements the system services that applications access through system calls. In 4.4BSD, this software has been organized according to the following:
Basic kernel facilities: timer and system-clock handling, descriptor management, and process management
Memory-management support: paging and swapping Suporte de gerenciamento de memória: paginação e troca
Generic system interfaces: the I/O, control, and multiplexing operations performed on descriptors
The filesystem: files, directories, pathname translation, file locking, and I/O buffer management
Terminal-handling support: the terminal-interface driver and terminal line disciplines
Interprocess-communication facilities: sockets Instalações de comunicação entre processos: soquetes
Support for network communication: communication protocols and generic network facilities, such as routing
Machine-independent software in the 4.4BSD kernel Software independente de máquina no kernel 4.4BSD
Category Categoria
Lines of code Linhas de código
Percentage of kernel Porcentagem do kernel
total machine independent total independente da máquina
162,617 162,617
80.4 80,4
headers cabeçalhos
9,393 9.393
4.6 4,6
initialization inicialização


User avatar None

New source string

FreeBSD Doc / books_design-44bsdPortuguese (Brazil)

New source string a year ago
Browse all component changes


English Portuguese (Brazil)
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: listitem/para
Source string location
String age
a year ago
Source string age
a year ago
Translation file
books/pt_BR/design-44bsd.po, string 31