
- •2. Translate the following sentences from Ukrainian into English
- •7. Translate the text
- •9. "At sight" translation: translate the text without making notes. Take your time. Look through the sentence you are going to translate, think over the best variant.
- •1. Bios (Basic Input-Output System)
- •2. Binding
- •3. Chipset
1. Bios (Basic Input-Output System)
With any computer system a fundamental design problem is how to provide for the basic communication between the processor and the devices used to obtain or display data, such as the video screen, keyboard, and parallel and serial ports.
In personal computers, the BIOS (Basic Input-Output System) solves this problem by providing a set of routines for direct control of key system hardware such as disk drives, the keyboard, video interface, and serial and parallel ports. Once DOS is running, routines in the operating system kernel can access the hardware by making calls to the BIOS routines. In turn, application programs can call the operating system, which passes requests on to the BIOS routines.
In modern PCs the BIOS setup screen also allows users to specify the order of devices to be used for loading system start-up code. This, for example, might allow a potentially corrupted hard drive to be bypassed in favor of a bootable CD or DVD with disk repair tools. Another scenario would allow users to boot from a USB memory stick and use a preferred operating system and working files without disturbing the PC’s main setup. The data on these chips is maintained by a small on- board battery so settings are not lost when the main system power is turned off.
Additionally, modern PC BIOS chips use “flash memory to store the code”. These chips can be “flashed” or reprogrammed with newer versions of the BIOS, enabling the support of newer devices without having to replace any chips.
2. Binding
Designers of program compilers are faced with the question of when to translate a statement written in the source language into final instructions in machine language. This can happen at different times depending on the nature of the statement and the decision of the compiler designer.
Many programming languages use formal data types (such as integer, floating point, double, string, and so on) that result in allocation of an exact amount of storage space to hold the data. A statement that declares a variable with such a type can be effectively bound immediately (that is, a final machine code statement can be generated). This is also called compile-time binding.
However, there are a variety of statements for which binding must be deferred until more information becomes available. For example, it is common for programmers to use libraries of precompiled routines. A statement that calls such a routine cannot be turned immediately into machine language because the compiler doesn’t know the actual address where the routine will be embedded in the final compiled program. (That address will be determined by a program called a linker that links the object code from the source program to the library routines called upon by that code).
Another aspect of binding arises when there is more than one object in a program with the same name. In languages such as C or Pascal that use a nested block structure, lexical binding can determine that a name refers to the closest declaration of that name—that is, the smallest scope that contains that name . In a few languages such as Lisp, however, the reference for a name depends how (or for what) the function is being called, so binding can be done only at run time.