Главная страница
Навигация по странице:

  • Networking and Communication

  • MODULE 2 1. Read and translate the following text into Russian. Architecture and Organization

  • 2. Read the following text and render it in English. Operating Systems

  • Лаба. Англ. Учебное пособие Москва Издательство мгту им. Н. Э. Баумана 2022 удк 81 378(075) ббк 81. 2 Англ С00


    Скачать 0.6 Mb.
    НазваниеУчебное пособие Москва Издательство мгту им. Н. Э. Баумана 2022 удк 81 378(075) ббк 81. 2 Англ С00
    Дата14.10.2022
    Размер0.6 Mb.
    Формат файлаdocx
    Имя файлаАнгл .docx
    ТипУчебное пособие
    #733896
    страница23 из 25
    1   ...   17   18   19   20   21   22   23   24   25

    2. Read the following text and render it in English.

    Intelligent Systems

    Artificial intelligence (AI) is an area of research that goes back to the very beginnings of computer science. The idea of building a machine that can perform tasks perceived as requiring human intelligence is an attractive one. The tasks that have been studied from this point of view include game playing, language translation, natural language understanding, fault diagnosis, robotics, and supplying expert advice. (For a more detailed discussion of the successes and failures of AI over the years, see artificial intelligence.)

    Since the late 20th century, the field of intelligent systems has focused on the support of everyday applications ₋ e-mail, word processing, and search ₋ using nontraditional techniques. These techniques include the design and analysis of autonomous agents that perceive their environment and interact rationally with it. The solutions rely on a broad set of knowledge-representation schemes, problem-solving mechanisms, and learning strategies. They deal with sensing (e.g., speech recognition, natural language understanding, and computer vision), problem-solving (e.g., search and planning), acting (e.g., robotics), and the architectures needed to support them (e.g., agents and multi-agents).

    Networking and Communication

    The field of networking and communication includes the analysis, design, implementation, and use of local, wide-area, and mobile networks that link computers together. The Internet itself is a network that makes it feasible for nearly all computers in the world to communicate.

    A computer network links computers together via a combination of infrared light signals, radio wave transmissions, telephone lines, television cables, and satellite links. The challenge for computer scientists has been to develop protocols (standardized rules for the format and exchange of messages) that allow processes running on host computers to interpret the signals they receive and to engage in meaningful “conversations” in order to accomplish tasks on behalf of users. Network protocols also include flow control, which keeps a data sender from swamping a receiver with messages that it has no time to process or space to store, and error control, which involves transmission error detection and automatic resending of messages to correct such errors. (For some of the technical details of error detection and correction, see information theory.)

    The standardization of protocols is an international effort. Since it would otherwise be impossible for different kinds of machines and operating systems to communicate with one another, the key concern has been that system components (computers) be “open.” This terminology comes from the open systems interconnection (OSI) communication standards, established by the International Organization for Standardization. The OSI reference model specifies network protocol standards in seven layers. Each layer is defined by the functions it relies upon from the layer below it and by the services it provides to the layer above it.

    At the bottom of the protocol lies the physical layer, containing rules for the transport of bits across a physical link. The data-link layer handles standard-sized “packets” of data and adds reliability in the form of error detection and flow control bits. The network and transport layers break messages into the standard-size packets and route them to their destinations. The session layer supports interactions between applications on two communicating machines. For example, it provides a mechanism with which to insert checkpoints (saving the current status of a task) into a long file transfer so that, in case of a failure, only the data after the last checkpoint need to be retransmitted. The presentation layer is concerned with functions that encode data, so that heterogeneous systems may engage in meaningful communication. At the highest level are protocols that support specific applications. An example of such an application is the file transfer protocol (FTP), which governs the transfer of files from one host to another.

    The development of networks and communication protocols has also spawned distributed systems, in which computers linked in a network share data and processing tasks. A distributed database system, for example, has a database spread among (or replicated at) different network sites. Data are replicated at “mirror sites,” and replication can improve availability and reliability. A distributed DBMS manages a database whose components are distributed across several computers on a network.

    A client-server network is a distributed system in which the database resides on one computer (the server) and the users connect to this computer over the network from their own computers (the clients). The server provides data and responds to requests from each client, while each client accesses the data on the server in a way that is independent and ignorant of the presence of other clients accessing the same database. Client-server systems require that individual actions from several clients to the same part of the server’s database be synchronized, so that conflicts are resolved in a reasonable way. For example, airline reservations are implemented using a client-server model. The server contains all the data about upcoming flights, such as current bookings and seat assignments. Each client wants to access this data for the purpose of booking a flight, obtaining a seat assignment, and paying for the flight. During this process, it is likely that two or more client requests want to access the same flight and that there is only one seat left to be assigned. The software must synchronize these two requests so that the remaining seat is assigned in a rational way (usually to the person who made the request first).

    Another popular type of distributed system is the peer-to-peer network. Unlike client-server networks, a peer-to-peer network assumes that each computer (user) connected to it can act both as a client and as a server; thus, everyone on the network is a peer. This strategy makes sense for groups that share audio collections on the Internet and for organizing social networks such as LinkedIn and Facebook. Each person connected to such a network both receives information from others and shares his or her own information with others.

    MODULE 2
    1. Read and translate the following text into Russian.

    Architecture and Organization

    Computer architecture deals with the design of computers, data storage devices, and networking components that store and run programs, transmit data, and drive interactions between computers, across networks, and with users. Computer architects use parallelism and various strategies for memory organization to design computing systems with very high performance. Computer architecture requires strong communication between computer scientists and computer engineers, since they both focus fundamentally on hardware design.

    At its most fundamental level, a computer consists of a control unit, an arithmetic logic unit (ALU), a memory unit, and input/output (I/O) controllers. The ALU performs simple addition, subtraction, multiplication, division, and logic operations, such as OR and AND. The memory stores the program’s instructions and data. The control unit fetches data and instructions from memory and uses operations of the ALU to carry out those instructions using that data. (The control unit and ALU together are referred to as the central processing unit [CPU].) When an input or output instruction is encountered, the control unit transfers the data between the memory and the designated I/O controller. The operational speed of the CPU primarily determines the speed of the computer as a whole. All of these components ₋ the control unit, the ALU, the memory, and the I/O controllers ₋ are realized with transistor circuits.

    Computers also have another level of memory called a cache, a small, extremely fast (compared with the main memory, or random access memory [RAM]) unit that can be used to store information that is urgently or frequently needed. Current research includes cache design and algorithms that can predict what data is likely to be needed next and preload it into the cache for improved performance.

    I/O controllers connect the computer to specific input devices (such as keyboards and touch screen displays) for feeding information to the memory, and output devices (such as printers and displays) for transmitting information from the memory to users. Additional I/O controllers connect the computer to a network via ports that provide the conduit through which data flows when the computer is connected to the Internet.

    Linked to the I/O controllers are secondary storage devices, such as a disk drive, that are slower and have a larger capacity than main or cache memory. Disk drives are used for maintaining permanent data. They can be either permanently or temporarily attached to the computer in the form of a compact disc (CD), a digital video disc (DVD), or a memory stick (also called a flash drive).

    The operation of a computer, once a program and some data have been loaded into RAM, takes place as follows. The first instruction is transferred from RAM into the control unit and interpreted by the hardware circuitry. For instance, suppose that the instruction is a string of bits that is the code for LOAD 10. This instruction loads the contents of memory location 10 into the ALU. The next instruction, say ADD 15, is fetched. The control unit then loads the contents of memory location 15 into the ALU and adds it to the number already there. Finally, the instruction STORE 20 would store that sum into location 20. At this level, the operation of a computer is not much different from that of a pocket calculator.

    In general, programs are not just lengthy sequences of LOAD, STORE, and arithmetic operations. Most importantly, computer languages include conditional instructions ₋ essentially, rules that say, “If memory location n satisfies condition a, do instruction number x next, otherwise do instruction y.” This allows the course of a program to be determined by the results of previous operations ₋ a critically important ability.

    Finally, programs typically contain sequences of instructions that are repeated a number of times until a predetermined condition becomes true. Such a sequence is called a loop. For example, a loop would be needed to compute the sum of the first n integers, where n is a value stored in a separate memory location. Computer architectures that can execute sequences of instructions, conditional instructions, and loops are called “Turing complete,” which means that they can carry out the execution of any algorithm that can be defined. Turing completeness is a fundamental and essential characteristic of any computer organization.

    Logic design is the area of computer science that deals with the design of electronic circuits using the fundamental principles and properties of logic (see Boolean algebra) to carry out the operations of the control unit, the ALU, the I/O controllers, and other hardware. Each logical function (AND, OR, and NOT) is realized by a particular type of device called a gate. For example, the addition circuit of the ALU has inputs corresponding to all the bits of the two numbers to be added and outputs corresponding to the bits of the sum. The arrangement of wires and gates that link inputs to outputs is determined by the mathematical definition of addition. The design of the control unit provides the circuits that interpret instructions. Due to the need for efficiency, logic design must also optimize the circuitry to function with maximum speed and has a minimum number of gates and circuits.

    An important area related to architecture is the design of microprocessors, which are complete CPUs ₋ control unit, ALU, and memory ₋ on a single integrated circuit chip. Additional memory and I/O control circuitry are linked to this chip to form a complete computer. These thumbnail-sized devices contain millions of transistors that implement the processing and memory units of modern computers.

    VLSI microprocessor design occurs in a number of stages, which include creating the initial functional or behavioral specification, encoding this specification into a hardware description language, and breaking down the design into modules and generating sizes and shapes for the eventual chip components. It also involves chip planning, which includes building a “floor plan” to indicate where on the chip each component should be placed and connected to other components. Computer scientists are also involved in creating the computer-aided design (CAD) tools that support engineers in the various stages of chip design and in developing the necessary theoretical results, such as how to efficiently design a floor plan with near-minimal area that satisfies the given constraints.

    Advances in integrated circuit technology have been incredible. For example, in 1971 the first microprocessor chip (Intel Corporation’s 4004) had only 2,300 transistors, in 1993 Intel’s Pentium chip had more than 3 million transistors, and by 2000 the number of transistors on such a chip was about 50 million. The Power7 chip introduced in 2010 by IBM contained approximately 1 billion transistors. The phenomenon of the number of transistors in an integrated circuit doubling about every two years is widely known as Moore’s law.

    Fault tolerance is the ability of a computer to continue operation when one or more of its components fails. To ensure fault tolerance, key components are often replicated so that the backup component can take over if needed. Such applications as aircraft control and manufacturing process control run on systems with backup processors ready to take over if the main processor fails, and the backup systems often run in parallel so the transition is smooth. If the systems are critical in that their failure would be potentially disastrous (as in aircraft control), incompatible outcomes collected from replicated processes running in parallel on separate machines are resolved by a voting mechanism. Computer scientists are involved in the analysis of such replicated systems, providing theoretical approaches to estimating the reliability achieved by a given configuration and processor parameters, such as average time between failures and average time required to repair the processor. Fault tolerance is also a desirable feature in distributed systems and networks. For example, an advantage of a distributed database is that data replicated on different network hosts can provide a natural backup mechanism when one host fails.
    2. Read the following text and render it in English.

    Operating Systems

    An operating system is a specialized collection of software that stands between a computer’s hardware architecture and its applications. It performs a number of fundamental activities such as file system management, process scheduling, memory allocation, network interfacing, and resource sharing among the computer’s users. Operating systems have evolved in their complexity over time, beginning with the earliest computers in the 1960s.

    With early computers, the user typed programs onto punched tape or cards, which were read into the computer, assembled or compiled, and run. The results were then transmitted to a printer or a magnetic tape. These early operating systems engaged in batch processing; i.e., handling sequences of jobs that are compiled and executed one at a time without intervention by the user. Accompanying each job in a batch were instructions to the operating system (OS) detailing the resources needed by the job, such as the amount of CPU time required, the files needed, and the storage devices on which the files resided. From these beginnings came the key concept of an operating system as a resource allocator. This role became more important with the rise of multiprogramming, in which several jobs reside in the computer simultaneously and share resources, for example, by being allocated fixed amounts of CPU time in turn. More sophisticated hardware allowed one job to be reading data while another wrote to a printer and still another performed computations. The operating system thus managed these tasks in such a way that all the jobs were completed without interfering with one another.

    The advent of time sharing, in which users enter commands and receive results directly at a terminal, added more tasks to the operating system. Processes known as terminal handlers were needed, along with mechanisms such as interrupts (to get the attention of the operating system to handle urgent tasks) and buffers (for temporary storage of data during input/output to make the transfer run more smoothly). Modern large computers interact with hundreds of users simultaneously, giving each one the perception of being the sole user.

    Another area of operating system research is the design of virtual memory. Virtual memory is a scheme that gives users the illusion of working with a large block of contiguous memory space (perhaps even larger than real memory), when in actuality most of their work is on auxiliary storage (disk). Fixed-size blocks (pages) or variable-size blocks (segments) of the job are read into main memory as needed. Questions such as how much main memory space to allocate to users and which pages or segments should be returned to disk (“swapped out”) to make room for incoming pages or segments must be addressed in order for the system to execute jobs efficiently.

    The first commercially viable operating systems were developed by IBM in the 1960s and were called OS/360 and DOS/360. Unix was developed at Bell Laboratories in the early 1970s and since has spawned many variants, including Linux, Berkeley Unix, GNU, and Apple’s iOS. Operating systems developed for the first personal computers in the 1980s included IBM’s (and later Microsoft’s) DOS, which evolved into various flavors of Windows. An important 21st-century development in operating systems was that they became increasingly machine-independent.
    1   ...   17   18   19   20   21   22   23   24   25


    написать администратору сайта