Глава 0: Интерфейсы операционных систем | Participants
|
- Statistics
- Participants
- Translate into Russian
- Translation result
- 36% translated in draft.
If you do not want to register an account, you can sign in with OpenID.
Chapter 0: Operating system interfaces | ||
The job of an operating system is to share a computer among multiple programs and to provide a more useful set of services than the hardware alone supports. The operating system manages the low-level hardware, so that, for example, a word processor need not concern itself with which video card is being used. It also multiplexes the hardware, allowing many programs to share the computer and run (or appear to run) at the same time. Finally, operating systems provide controlled ways for programs to interact with each other, so that programs can share data or work together. | Работа операционной системы заключается в разделении компьютера между несколькими программами и предоставлении более полезного набора служб, чем то, которое поддерживает оборудование. Операционная система управляет низкоуровневым оборудованием, так, например, текстовому процессору не нужно самому заботиться о видеокарте, с которой он используется. Она также мультиплексирует оборудование, что позволило многим программам разделить компьютер и запустить (или по всей видимости запустить) когда-нибудь. Наконец, операционные системы предоставляют управляемый способ взаимодействия программ друг с другом так, что программы могут обмениваться данными или работать вместе. | |
This description of an operating system does not say exactly what interface the operating system provides to user programs. Operating systems researchers have experimented and continue to experiment with a variety of interfaces. Designing a good interface turns out to be a difficult challenge. On the one hand, we would like the interface to be simple and narrow because that makes it easier to get the implementation right. On the other hand, application writers want to offer many features to users. The trick in resolving this tension is to design interfaces that rely on a few mechanism that can be combined in ways to provide much generality. | Данное описание операционной системы не предписывает точно, какой интерфейс операционная система предоставляет пользовательским программам. Исследователи операционных систем экспериментировали и продолжают экспериментировать с различными интерфейсами. Разработка хорошего интерфейса оказалась трудной задачей. С одной стороны, мы бы хотели чтобы интерфейс был простым и минималистичным, потому что это позволяет проще реализовать его правильно. С другой стороны разработчики приложений хотят предложить пользователям множество возможностей. Уловкой, которая позволяет разрешить данный конфликт, будет проектирование такого интерфейса, которые опирается на несколько механизмов, которые могут комбинироваться для того, чтобы обеспечить большую применимость. | |
This book uses a single operating system as a concrete example to illustrate operating system concepts. That operating system, xv6, provides the basic interfaces introduced by Ken Thompson and Dennis Ritchie’s Unix operating system, as well as mimicking Unix’s internal design. The Unix operating system provides an an example of narrow interface whose mechanisms combine well, offering a surprising degree of generality. This interface has been so successful that modern operating systems—BSD, Linux, Mac OS X, Solaris, and even, to a lesser extent, Microsoft Windows—have Unix-like interfaces. Understanding xv6 is a good start toward understanding any of these systems and many others. | Данная книга использует одну операционную систему в качестве конкретного примера, чтобы продемонстрировать общие идеи операционной системы. Операционная система, xv6, предоставляет базовые интерфейсы, введенные Кенном Томпсоном и операционной системы Unix Денниса Ритчи, а также внутреннюю конструкцию Unix. Операционная система Unix предоставляет пример ограниченного интерфейса, чьи механизмы объединяются отлично, предполагающий удивительный уровень обобщенности. Этот интерфейс уже на столько успешен, что современные операционные системы - BSD, Linux, Max OS X, Solaris и даже, в меньше степени, в Microsoft Windows - имеют Unix-подобные интерфейсы. Понимание xv6 является хорошим началом к пониманию любых из таких систем и многих других. | |
Xv6 takes the form of a kernel, a special program that provides services to running programs. Each running program, called a process, has memory containing instructions, data, and a stack. The instructions correspond to the machine instructions that implement the program’s computation. The data corresponds to the data structures that the program uses to implement its computation. The stack allows the program to invoke procedure calls. | Xv6 принимает форму ядра, специальной программы, которая предоставляет услуги, чтобы запускать программы. Каждая запускаемая программа, называется процессом, имеет память, содержащую инструкции, данные и стек. Инструкции соответствуют машинным командам, которые реализуют программные вычисления. Данные соответствуют структурам данных, которые программа использует для реализации этих вычислений. Стек позволяет программам выполнять вызовы процедур. |
