Т.А. Волошина, Л.Б. Саратовская - English Reader in Computer Science (1098536), страница 8
Текст из файла (страница 8)
The Windows NT series of operating systems, by contrast, are true multi-user, and implement absolute memory protection.
In November 2006, after more than five years of development work, Microsoft released Windows Vista, a major new operating system version of Microsoft Windows family which contains a large number of new features and architectural changes. Chief amongst these are a new user interface and visual style called Windows Aero, a number of new security features, and a few new multimedia applications.
Unix/Linux
Ken Thompson used B to write Unix. Later B was replaced by C, and Unix developed into a large complex family of inter-related operating systems which have been influential in every modern operating system. The Unix-like family is a diverse group of operating systems, with several major sub-categories including Linux. The term “Unix-like” is commonly used to refer to the large set of operating systems, which resembles original Unix. Unix-like systems run on a wide variety of machine architectures. They are used heavily for servers in business, as well as workstations in academic and engineering environments.
In 1994 an undergraduate called Linus Torvalds set out to write his own “kernel”. When he had written a basic kernel, he released the source code on the Internet.
Programmers in different parts of the world began using Linux. When they found out that it didn’t do the things they wanted it to do – they fixed it. All the improvements were sent to Linus, who rolled them into the kernel. As a result Linux began to grow.
There is a special term for this model of software development - it is called Open Source. Anyone can have the source code, as it is free, and can contribute to it.
Linux is now the most widely–ported operating system. It became quite popular nowadays.
Conclusion
Operating systems evidently form our computer life, for they are our computers’ faces, arms and legs. Nowadays the absence of an operating system on the computer could mean only two things: either it is a microwave or it is still in the stone era. Since modern business is too strongly tied with computers, the latter must provide the easiest, fastest and most convenient way of communication, document handling, accounting, and so on. The continuing growth of the Internet and the proliferation of computers that aren’t standard desktop or laptop machines means that operating systems will change to keep pace, but the core management and interface functions will continue, even as they evolve.
Ex. 1. Answer the following questions:
-
What is an operating system?
-
What is the role of an operating system?
3. What is the relationship between an operating system and a
user?
4. Does operating system offer a number of services to
application programs?
5. Can you name the most popular operating systems
nowadays?
6. Why was an operating system invented?
7. What is regarded to be the first operating system?
8. What are the first operating systems and their main
peculiarities?
9. What are the main features of operating systems?
10. Can you characterize Microsoft Windows family of
operating systems?
11. Can you name the main features of Unix-like operating
systems?
12. What are the functions of an operating system?
13. What are the basic types of operating systems?
Ex. 2. Give the main ideas of the text in logical order.
Ex. 3. Translate in writing:
Что такое операционная система?
Операционная система – это комплекс взаимосвязанных системных программ, назначение которого – помогать взаимодействию пользователя с компьютером и выполнению всех других программ. Операционная система выступает как связующее звено между аппаратурой компьютера и выполняемыми программами, с одной стороны, а также пользователем с другой стороны.
Операционную систему можно назвать программным продолжением устройства управления компьютера.
Операционная система скрывает от пользователя сложные ненужные подробности взаимодействия с аппаратурой. В результате этого люди освобождаются от очень трудоемкой работы по организации взаимодействия с аппаратурой компьютера.
Для управления внешними устройствами компьютера используются специальные системные программы-драйверы. Драйверы стандартных устройств образуют в совокупности базовую систему ввода-вывода (BIOS – Basic Input Output System), которая обычно заносится в постоянное ЗУ (запоминающее устройство) компьютера.
В различных моделях компьютера используют операционные системы с разной архитектурой и возможностями. Для их работы требуются разные ресурсы.
Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ. Этот процесс называется загрузкой операционной системы (downloading).
Анализ и исполнение команд пользователя, включая загрузку готовых программ из файлов в оперативную память и их запуск, осуществляет командный процессор операционной системы.
В функции операционной системы входит:
-
Осуществление диалога с пользователем;
-
Ввод-вывод и управление данными;
-
Планирование и организация процесса обработки программ;
-
Распределение ресурсов (оперативной памяти и КЭШа, процессора, внешних устройств);
-
Запуск программ на выполнение;
-
Всевозможные вспомогательные операции обслуживания;
-
Передача информации между различными внутренними устройствами;
-
Программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера, и др.)
Exercise 4. Topics for discussion.
-
The idea of an operating system and the development of this concept.
-
The ideal operating system. Its features and capabilities.
-
Windows or Linux (Unix-like operating systems). Advantages and disadvantages.
-
Operating systems of the future. What are they?
UNIT 10
High-level languages
Key vocabulary:
-
Convenient adj. – удобный, подходящий,
пригодный
-
Means n. – средство, pl. средства
-
Portable adj. – переносной, мобильный
-
Conciseness n. – краткость
-
Because of adv. – благодаря, из-за
-
Objective n. – цель
-
Explicitly adv. – точно, ясно, подробно;
явно
-
Efficiency n. – эффективность,
продуктивность
-
Meaning n. – значение, смысл
-
Permit v. – позволять, разрешать,
допускать
-
Measure v. – измерять, мерить
-
Identifier n. – идентификатор
-
Result in v. – приводить к
-
Scope n. – область (действия)
-
Resolve v. – решать, разрешать
-
Goal n. – цель, задача
-
Implementation n. – реализация, внедрение,
осуществление
-
Clarity n. – ясность, чистота
What is a High Level Language?
A high level language is a problem oriented programming language, whereas a low level language is machine oriented. In other words, a high level language is a convenient and simple means of describing the information structures and sequences of actions required to perform a particular task.
A high level language is independent of the architecture of the computer which supports it. This has two major advantages. Firstly, the person writing the programs does not have to know anything about the computer on which the program will be run. Secondly, programs are portable, the same program can (in theory) be run on different types of computers. However, this feature of machine independence is not always achieved in practice.
In most cases, programs in high level language are shorter than equivalent programs in low level languages. However, conciseness can be carried too far, to the point where programs become impossible to understand. More important features of a high level language are its ability to reflect clearly the structure of programs written on it, and its reliability.
High level languages may be broadly classified as a general-purpose or special-purpose. General-purpose languages are intended to be equally well suited to business, scientific, engineering or systems software tasks. The commonest general-purpose languages are Algol 68 and PL/1. The language Ada also falls into this category. Because of their broad capabilities, these languages are large, and relatively difficult to use.
The commonest categories of special-purpose languages are commercial, scientific and educational. In the commercial field, Cobol still reigns supreme, while Fortran is still the most widely used scientific language. In the computer educational field, Basic is widely used in schools, with Logo and Prolog gaining popularity. Pascal is the most popular language at universities. Pascal is a powerful general-purpose language in its own right.
Another way of classifying high level languages is as procedural and declarative languages. Procedural languages state how a task is to be performed, often breaking programs into procedures, each of which specifies how a particular operation is to be performed. All the early high level languages are procedural, with Algol, Pascal and Ada as typical examples.
Declarative programming languages describe the data structures and relationships between data relevant to a particular task, and specify what the objective of the task is. The process by which the task is to be carried out is not stated explicitly in the program. This process is determined by the language translation system. Prolog is an example of a declarative programming language.
The defining characteristics of a high level language are problem-orientation and machine independence.
The first objective of a high level language is to provide a convenient means of expressing the solution of a problem. There are two common ways of doing this - mathematics, and natural languages, such as English. Most high level languages borrow, without much modification, concepts and symbols from mathematics. The problem with natural languages is that in their full richness and complexity, they are quite impossible to use to instruct a computer. Nevertheless, high level languages use words from natural languages and allow these words and mathematical symbols to be combined according to various rules. These rules create the structure of programs written in the language. The result, in a good high level language, is a clear structure, not too different from our customary ways of thinking and expressing ourselves.
The discussion leads to the second objective of high level languages - simplicity. Simplicity is achieved by a small set of basic operations, a few clear rules for combining these operations, and, above all, the avoidance of special cases.
The third objective of a high level language is efficiency. Programs in the language must be able to be translated into machine code fairly quickly, and the resulting machine code must be run efficiently. This objective almost always conflicts with the first two. Most high level languages reflect a compromise between these objectives.
The final objective is reliability of programs. A good high level language should enable programs to be written which are clear to read without additional comments. Regrettably, some high level languages ignore this objective altogether.
Features of High Level Languages
The character set used by a language is the set of all characters which may be used in programs written in the language. Almost all languages use letters and decimal digits.
Most high level languages use reserved words. These are words which have a specific meaning in programs, and may not be used by the programmer for any other purpose. For example, in Pascal, reserved words include read, if… then .. else and write. Some languages permit abbreviations of reserved words it uses. The size and complexity of a language can be measured by the number of reserved words it uses. For example, Occam has 28 reserved words, while Ada uses more than sixty.
Perhaps the most important feature of a high level language is the way in which programs in it are structured. The structure of a program is specified by a set of rules, called rules of syntax. Different languages have different ways of expressing these rules. In some, the rules are written in concise English. Others use syntax diagrams, while others (notably Algol) use a notation originally called Backus-Naur form, now known as BNF.
Much attention has been devoted, in the development and use of high level languages, to the way in which programs are split up into blocks or modules, each module doing a specific task. In some languages, notably Fortran, these blocks are called subroutines, in others such as Algol and Pascal, these blocks are called procedures or functions. Because of the careful structuring of programs into blocks which they permit, Algol, Pascal and similar languages are called block-structured languages.
Procedures, functions, or subroutines are activated via calls from the other parts of the program. For example, if a program contains a function to calculate the square root of a given number, this function is called every time a square root is required in the rest of the program. Most languages permit a procedure or function to call itself, a feature known as recursion. This is an extremely powerful feature for handling such data structures as lists, stacks and trees, and for such tasks as analyzing the structure of arithmetic expressions.
An important aspect of high level languages is the way in which they handle the data items and data structures used in a program. Broadly speaking, data items fall into two categories: variables, which can change their value during the running of a program, and constants, which keep the same value. In most programming languages, variables are given names, or identifiers. In some languages, such as Fortran and Basic, constants are referred to by their values, while in others, such as Algol and Pascal, constants are also given identifiers.
Some programming languages require that all variables be declared before they are used. Generally, variables are declared by listing them at the start of the procedure or subroutine in which they are to be used. An attempt to use a variable which has not been declared results in an error.