Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

u_course

.pdf
Скачиваний:
38
Добавлен:
04.06.2017
Размер:
1 Mб
Скачать

СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

«Английский язык в информационных технологиях»

Красноярск

2007

2

Представлены оригинальные тексты на английском языке по темам: «Современное программное обеспечение», «Сети и телекоммуникации», «Современные интерфейсы», «Системы искусственного интеллекта» с

упражнениями и заданиями для развития всех видов языковой коммуникативной компетенции.

Приведены грамматические и информационно-справочные материалы, а также глоссарий терминов по специальности.

Пособие предназначено для студентов-бакалавров, изучающих английский язык как специальную дисциплину, укрупненной группы направления подготовки 230000 «Информатика и вычислительная техника» направления 230100 «Информатика и вычислительная техника»; 230200 «Информационные системы и технологии».

3

ПРЕДИСЛОВИЕ

Всовременном мире контакты в профессиональной сфере с зарубежными партнерами требуют достаточно высокого уровня языковой компетенции специалиста, особенно, если он имеет академическую степень «бакалавр». Языковая компетенция необходима для изучения и осмысления

передового зарубежного опыта в области специальности и смежных областях науки и техники. Обмен опытом, знакомство с новейшими разработками особо актуальны в таких быстроразвивающихся областях как информатика, компьютерная техника и информационные технологии.

Студенты неязыковых вузов заканчивают изучение базового курса английского языка после двух лет обучения в вузе. Однако студенты-

бакалавры имеют возможность продолжить изучение языка как специальной дисциплины на третьем и четвертом курсе. Эта схема обучение подробно

описана в Примерной программе по иностранным языкам для неязыковых вузов. Программа предлагает формировать языковую коммуникативную компетенцию более высокого уровня на втором, а затем и на третьем этапе обучения. Такая модель обучения особо актуальна для будущих специалистов в области информационных технологий, так как английский язык является «родным» языком информатики.

Учебное пособие «Английский язык в информационных технологиях» предназначено для тех студентов-бакалавров, которые продолжают изучение английского языка на старших курсах. Будущая профессиональная деятельность этих студентов связана с вычислительной техникой, компьютерным программным обеспечением, работой в Интернете, информационными технологиями. Предлагаемое пособие является продолжением стандартного курса английского языка, изучаемого на младших курсах. Между первым и вторым этапом изучения языка существует тесная взаимосвязь, выраженная в преемственности основных принципов и методов обучения.

Впособии реализуется принцип обучения специальности через обучение иностранному языку.

4

ВВЕДЕНИЕ

Для достижения поставленной цели предлагаются неадаптированные аутентичные тексты по актуальным направлениям развития современных информационных технологий. Тексты сопровождаются упражнениями и заданиями, развивающими коммуникативные компетенции во всех аспектах речевой деятельности. Тексты и задания пособия имеют более высокий уровень сложности по сравнению с первым этапом обучения, но их уровень рассчитан на базовые знания и умения, приобретенные студентами на первом и втором курсах.

Пособие состоит из четырех модулей с оригинальными текстами на английском языке по темам «Современное программное обеспечение», «Сети и телекоммуникации», «Современные интерфейсы в информатике», «Системы искусственного интеллекта», а также грамматического справочника, информационно-справочных материалов и глоссария терминов.

Предтекстовые задания содержат проблемные вопросы, которые стимулируют речевую деятельность. Предтекстовые и послетекстовые

упражнения закрепляют лексический и грамматический материал текстов и развивают новые языковые умения и навыки.

Грамматический материал концентрирует внимание студентов на грамматических явлениях, наиболее часто встречающихся в текстах по специальности. Грамматические упражнения направлены на снятие

трудностей во время работы над текстами и при выполнении языковых упражнений.

Глоссарий терминов по специальности включает также аббревиатуры, часто употребляющиеся в профессиональном общении.

Помимо обучения всем видам коммуникативной деятельности, пособие решает образовательные и воспитательные задачи, расширяет кругозор студентов.

В информационно-справочных материалах они знакомятся с форматом основных международных экзаменов по английскому языку, с формами заявок на участие в грантах и международных проектах, узнают принципы составления аннотации к научной статье, написание тезисов и рефератов и получают другую информацию, которая, несомненно, окажется полезной в их будущей профессиональной деятельности.

5

MODERN SOFTWARE

What is computer software?

Study different opinions and match them with people who thinks so.

A teacher:

Computer software is a collection of computer programs, procedures and documentation that perform some task on a computer system.

A student:

Computer software – a computer program or piece of software designed to perform a specific task.

A programmer:

Computer software – written programs or procedures or rules and associated documentation pertaining to the operation of a computer system and that are stored in read/write memory.

What is your definition of software?

a flaw
fault isolation

6

Unit 1

What is OS? How can you define its place in a computer system?

1. PRE-READING ASSIGNMENT

1.1. Match the labels to the four layers of this diagram with the help of the diagram caption.

1.application program

2.user

3.hardware

4.operating system

Fig. 1. Conceptual diagram of an operating system

1.2. Study the text title.

Is this problem important and essential nowadays? Why? Is OS performance or reliability more important?

2. READING

Can We Make Operating Systems Reliable and Secure?

2.1. Translate the vocabulary used in the text below:

Sandboxing entire

 

7

to endeavor

interrupt

armored

to discard

to wrap

type-safe language

2.2. Look through the text and say:

Are unreliability and insecurity the same from the OS point of view?

What are the main causes of unreliability and insecurity of operating systems?

How many approaches to the problem are discussed in the text? What are their main ideas?

Microkernels – long discarded as unacceptable because of their lower

performance compared with monolithic kernels – might be making a comeback in operating systems due to their potentially higher reliability, which many researchers now regard as more important than performance.

The worst offender when it comes to reliability and security is the operating system. Although application programs contain many flaws, if the operating system were bug free, bugs in application programs could do only limited damage.

A few words about the relationship between reliability and security are to be said. Problems with each of these domains often have the same root cause: bugs in the software. A buffer overrun error can cause a system crash (reliability problem), but it can also allow a cleverly written virus or worm to take over the computer (security problem). Although we focus primarily on reliability, improving reliability can also improve security.

WHY ARE SYSTEMS UNRELIABLE?

Current operating systems have two characteristics that make them unreliable and insecure: They are huge and they have very poor fault isolation. The Linux kernel has more than 2.5 million lines of code; the Windows XP kernel is more than twice as large.

The large size of current operating systems means that no one person can understand the whole thing. Clearly, it is difficult to engineer a system well when nobody really understands it.

Operating systems do not have isolation between components. A modern operating system contains hundreds or thousands of procedures linked together as a single binary program running in kernel mode. Every single one of the millions

8

of lines of kernel code can overwrite key data structures that an unrelated component uses, crashing the system in ways difficult to detect. In addition, if a virus or worm infects one kernel procedure, there is no way to keep it from rapidly spreading to others and taking control of the entire machine.

Fortunately, the situation is not hopeless. Researchers are endeavoring to produce more reliable operating systems. There are four different approaches that researchers are using to make future operating systems more reliable and secure.

ARMORED OPERATING SYSTEMS

The most conservative approach, Nooks, is designed to improve the reliability of existing operating systems such as Windows and Linux. Nooks maintains the monolithic kernel structure, with hundreds or thousands of procedures linked together in a single address space in kernel mode, but it focuses on making device drivers – the core of the problem – less dangerous.

Fig. 2. The Nooks model.

In particular, as Figure 2 shows, Nooks protects the kernel from buggy device drivers by wrapping each driver in a layer of protective software to form a lightweight protection domain, a technique sometimes called sandboxing. The wrapper around each driver carefully monitors all interactions between the driver and the kernel.

The Nooks project’s goals are to

protect the kernel against driver failures,

recover automatically when a driver fails, and

do all of this with as few changes as possible to existing drivers and the kernel. Protecting the kernel against malicious drivers is not a goal.

PARAVIRTUAL MACHINES

9

The idea is to run a special control program, called a virtual machine monitor, on the bare hardware instead of an operating system. The virtual machine creates multiple instances of the true machine. Each instance can run any software the bare machine can.

This technique is commonly used to allow two or more operating systems, say Linux and Windows, to run on the same hardware at the same time, with each one thinking it has the entire machine to itself. The use of virtual machines has a well-deserved reputation for good fault isolation – after all, if none of the virtual machines even know about the other ones, problems in one machine cannot spread to others.

This research is to adapt this concept to protection within a single operating system, rather than between different operating systems.

Fig. 3. Virtual machines. One of the virtual Linux machines runs the application programs while one or more other machines run the device drivers.

MULTISERVER OPERATING SYSTEMS

This approach directly attacks the core of the problem: having the entire operating system run as a single gigantic binary program in kernel mode. Instead, only a tiny microkernel runs in kernel mode with the rest of the operating system running as a collection of fully isolated user-mode server and driver processes.

10

Fig. 4. The Minix 3 architecture.

As Figure 4 shows, in Minix 3, the microkernel handles interrupts, provides the basic mechanisms for process management, implements interprocess communication, and performs process scheduling.

LANGUAGE-BASED PROTECTION

The most radical approach comes from an unexpected source – Microsoft Research. In effect, the Microsoft approach discards the concept of an operating system as a single program running in kernel mode plus some collection of user processes running in user mode, and replaces it with a system written in new typesafe languages that do not have all the pointer and other problems associated with C and C++.

Thus, each of the four different attempts to improve operating system reliability focuses on preventing buggy device drivers from crashing the system.

It is not yet known which, if any, of these approaches will be widely adopted in the long run. Nevertheless, it is interesting to note that microkernels – long discarded as unacceptable because of their lower performance compared with monolithic kernels – might be making a comeback due to their potentially higher reliability, which many people now regard as more important than performance.

3.POST-READING

3.1.What approach to more reliable and secure OS is more acceptable from your point of view? Why?

3.2.Match the terms in table A with the statements in table B.