Computer system software for presentation. System software

Binding

Translation and subsequent steps to prepare a program for execution are the process of converting a program written in some formal language into another formal system - a computer architecture, in which it can be executed (interpreted). To understand this process, as well as the differences in different programming languages, the concept of binding is introduced, as well as binding time.

Binding is the process of establishing a correspondence between objects and their properties in a program in a formal language (operations, operators, data) and elements of a computer's architecture (commands, addresses).

Binding time the phase of preparing the program for execution (translation, linking, loading), in which this action is performed, is called, respectively. Various characteristics the same object (for example, a variable) can be associated with different elements of the architecture at different times, that is, the process of binding is not one-time.

Systemic software

Possible binding times

When determining the language; when implementing a compiler;

during the broadcast, including:

when the preprocessor (macroprocessor) is running

during lexical, syntactic and semantic analysis, code generation and optimization;

when composing; while loading the program;

during program execution, including: when entering a module (procedure, function); at an arbitrary point in the program execution.

System software

Linking to int a, b; ... a + b

The type of variables int is an integer variable in a machine word of standard length (signed integer representation, complementary code), associated with a similar form of data representation in a computer when defining a language.

The specific dimension of an int variable is determined by the implementation of the corresponding compiler.

The name a can be defined in a construction like

#define a 0x11FF. In this case, the name (pseudo-variable) is associated with its value at the first translation phase - in the preprocessor.

System software

Linking to int a, b; ... a + b

If the variable is defined in the usual way as int a; then the binding of the variable with the corresponding type occurs during translation (at the phase of semantic analysis).

If a variable is defined as external (global, outside the body of the function), then the meaning of its translation is to allocate memory for it in the program data segment that is created for the current module (file). In this case, the very binding of distributed memory to a specific random access memory is carried out in several stages:

System software

Linking to int a, b; ... a + b

during translation, the variable is bound to some relative address in the data segment of the object module (that is, its location is fixed only relative to the beginning of the module).

when linking, the data and command segments of different object modules are combined into a common program file, which is a memory image of the program. In it, the variable receives already a relative address from the beginning of the entire program.

when loading a program into a certain area of ​​memory, it may not be located from the very beginning of this area. In this case, the addresses of the variables specified in relative addresses from the beginning of the program module to memory addresses are linked, taking into account the movement of the program module.

System software

Linking to int a, b; ... a + b

if the program runs in virtual rather than physical memory, the loading process may be slightly different. A program module is conventionally considered loaded into a certain virtual address space (with or without moving both the entire program and its individual segments). The actual loading of the program into memory is carried out already in the process of running the program in parts (segments, pages), and the establishment of the correspondence (or linking) of virtual and physical addresses is carried out dynamically by the operating system using the appropriate hardware.

System software

Linking to int a, b; ... a + b

If a variable is defined as automatic (local inside the body of a function or block), then it is placed on the program stack:

during translation, its dimension is determined and commands are generated that reserve memory for it on the stack at the moment of entering the function body (block). That is, during translation, the variable is associated only with a relative address in the program stack;

binding of a local variable with its address in the stack segment is carried out when executed at the moment of entering the function body (block). Because of this way of binding, there are as many “instances” of local variables in a recursive function as the number of times the function calls itself.

Description of the presentation for individual slides:

1 slide

Slide Description:

2 slide

Slide Description:

Software (software) is a set of commands that control the operation of a computer. Without software, a computer will not be able to perform the tasks that we usually associate with computers. The functions of the software are as follows: to manage the computer resources of the organization; provide the user with all the tools necessary to extract value from these resources; act as an intermediary between organizations and stored information. Selecting software that meets the needs of the organization is one of the key tasks of management personnel. ...

3 slide

Slide Description:

4 slide

Slide Description:

System support is a set of programs that provide component management computer system... System software includes: operating systems, network software, command-file processors (shells), programming languages, service programs(test and diagnostic programs, system drivers of peripheral devices, utilities), archivers and antivirus programs. ...

5 slide

Slide Description:

6 slide

Slide Description:

Basic software - a set of programs that ensure the operation of a computer. The basic software includes: operating systems, operating shells (shell). Operating system (OS) - the program that is first loaded when the computer is turned on. The first operating system for an IBM-compatible computer (MS DOS) was created in 1981. The OS organizes the execution of other programs. Without it, human work on a computer is impossible. The OS manages the computer, its resources (RAM, disk space, etc.), launches service functions, controls the work technical devices and some auxiliary programs, makes a dialogue with the user, launches application and other programs for execution. Operating systems are the main software systems that perform the following main functions: 1) testing the operability of a computing system and setting it up at the initial start-up; 2) ensuring synchronous and efficient interaction of all hardware and software components of the computing system during its operation; 3) ensuring effective interaction between the user and the computing system. OS are classified into: · single-user single-tasking systems (MS-DOS, etc.); · Single-user multitasking systems (OS / 2, Windows 95/98/2000, etc., Vista); · Multiuser (network) systems (UNIX family, Linux, WindowsNT, etc.). The main functions of network operating systems designed to work in different networks, include: managing directories and files; protection against unauthorized access; ensuring fault tolerance; network management. The simplest network operating systems are peer-to-peer operating systems. Their function is to divide disks of different nodes among all users, to observe passwords and prohibitions on the use of certain disks.

7 slide

Slide Description:

Operating shells are the interface for user interaction with the operating system. Operating shells interpret (translate and execute) OS commands. Types of operating shells: graphical - for entering OS commands through menus, switches, buttons presented in the form of graphical images (Windows Explorer, including the "Desktop", the "Start" menu, the taskbar and file manager) Text command line- to enter OS commands from the keyboard (cmd.exe, Windows PowerShell MS Windows OS) packages - to write a sequence of OS commands to a file (file with the .bat extension), then the file is interpreted. windows - for entering OS commands through menus, switches, buttons, presented as a set of letters, numbers and pseudo-graphic symbols.

8 slide

Software: system / application System software is a complex of control and processing programs, descriptions and instructions that ensure the functioning of a computing system, as well as the development and execution of user programs. Synonym: "special software". Application software is a set of programs for solving specific problems from various fields of computer application. Synonym: "common software".






Operating systems OS / 360, EU OS, RSX, RT11, ... Multics, Unix Novell NetWare, IBM OS / 2 CP / M, Q-DOS, MS-DOS, ... Microsoft Windows… XP, Vista, Seven,… Unix-like, Linux Apple MacOS…, Tiger, X Leopard,… PalmOS, Symbian,… WindRiver VxWorks,… Ghost, gOS Cloud…


Operating shells MS DOS: Command.com NDOS.com (Norton Utilites for DOS v) OS / 2: Workplase Shell Windows: Windows GUI Linux: Bourne Again Shell (BASH) TCSH – shell ...


DOS, Windows and other OSSiO production Microsoft Operating shells launched from DOSDOS –Windows 1.0 | Windows 2.x | Windows 3.xWindows 1.0Windows 2.xWindows 3.x OS Family Windows 9x –Windows 95 | Windows 98 | Windows MeWindows 95Windows 98Windows Me Windows NT OS Family –NT 3.1 | NT 3.5 | NT 3.51 | NT 4.0 | 2000 (NT 5.0) | XP (NT 5.1) | Server 2003 (NT 5.2) | FLP | Vista (NT 6.0) | Home Server| Server 2008NT 3.1NT 3.5NT 3.51NT XPServer 2003FLPVistaHome ServerServer 2008 OS Family Windows CE –CE 2.0 | CE 3.0 | CE 4.0 | CE 5.0 | CE 6.0 | MobileCE 2.0CE 3.0CE 4.0CE 5.0CE 6.0Mobile Under development –Seven (Vienna / Blackcomb; NT 7.0) Seven Closed –Neptune | Nashville | OdysseyNeptuneNashvilleOdyssey More projects –Xenix | MS-DOS | OS / 2 | Cairo | SingularityXenixMS-DOSOS / 2CairoSingularity


Linux distributions… Slackware S.U.S.E Suse / OpenSUSE… Gentoo Fregate… Red Hat / Fedora Core Mandrake Mandriva… ASPLinux… Debian GNU / Linux Corel Linux Xandros… Mepis… Lindows Linspire… LiveCD Knoppix Gnoppix, Kurumin… Ubuntu Kubuntu, Edubuntu,……


Mobile OSs EPOC32 (Psion, 1990s) Symbian: –UIQ platform Before version 3.0 ( Sony ericsson) Versions 3.1, 3.2 (Motorola since 2007) - S60 platform (from Nokia Series 60, 2001) Revision 3 Revision 5 (draft, for Nokia Tube) Pocket PC Windows Mobile v.6.0 / 6.1 –Standard –Professional (sensor) OS X iPhone (for iPhone, iPhone 3G, iPod Touch) Linux –MobiLinux - Google android(for HTC Dream)


Specialized real-time operating systems: OS for automotive electronics, etc. Facts: An average car has about 70 microprocessors. Engine control system alone - several million lines of code ... Projects: JasPar (Japan Automotive Software Platform and Architecture: Toyota, Honda, Nissan, ...) Toyota + Nagoya University OSEK (Bosh + BMW, DaimlerChrysler) Microsoft SyncOS (Windows Auto) Wind River VVxWorks GHS Integrity ...








OS classifications By the number of users –Single-user (MS-DOS, NetWare, Windows, ...) –Multi-user (UNIX,…) By access modes –Batch (OS / 360,…) –Interactive (Windows, UNIX,…) –Real time ( QNX, RSX, ...) By the number of tasks to be solved –Single-tasking (MS-DOS,…) –Multi-tasking (Windows, UNIX,…) By bit depth (8,16,32,64,…) ...




What is OS structurally? Option 1. This is the core (minimalist point of view) Option 2. This is the core plus the infrastructure that builds on it: a set of system utilities and user applications, as well as tools for managing them (maximalist point of view) Option 3. This is the core and a set of tools that ensure its functionality ( intermediate point of view)


OS structure (modular) Kernel Startup utilities (means of loading a kernel image, managing plug-ins and initializing the system) Support utilities (means of providing basic kernel functionality) User utilities System libraries


OS kernel and its functions The core provides the interaction of system and user programs with the computer hardware: -Distribution of processor time between simultaneously running tasks -Working with physical and virtual memory -Access to data at the level file system, I / O control - Support network protocols and devices - ...

Slide 2

Organization of memory

The physical memory that the processor has access to via the address bus is called random access memory (or random access memory - RAM). RAM is organized as a sequence of cells - bytes. Each byte has its own unique address (its number), called physical. The range of values ​​of physical addresses depends on the width of the processor address bus. For 80486 and Pentium, it ranges from 0 to 232 - 1 (4 GB). For PentiumPro / II / III / IV processors, this range is wider - from 0 to 236 - 1 (64 GB). The 8086 had 1 MB of memory with a 20-bit address bus, from 0 to 220-1.

Slide 3

The processor hardware supports two models of RAM usage: In a segmented model, contiguous memory areas (segments) are allocated to the program, and the program itself can access only the data that is in these segments. The page model can be viewed as an add-on over the segmented model. The main application of this model is associated with the organization of virtual memory, which allows the operating system to use a memory space for the operation of programs larger than the amount of physical memory by combining the operating and external memory

Slide 4

By the way, another name for a physical address is a linear address. This duality in the name is precisely due to the presence of a page model of the organization of RAM. These names are synonymous only when paging address translation is disabled (in real mode, paging is always disabled). In the paging model, linear and physical addresses have different meanings. The memory management mechanism is completely hardware and allows to provide: compact storage of the address in a machine command flexibility of the addressing mechanism protection of address spaces of tasks in a multitasking system support for virtual memory

Slide 5

In the 80x86 family of processors, the choice of the memory access method is determined by the processor operating mode. In real mode, the processor can only access the first megabyte of memory, whose addresses range from 00000 to FFFFF in hexadecimal. In this case, the processor operates in a single-program mode (i.e., at a given time, it can execute only one program). However, in this case, he can interrupt its execution at any time and switch to the procedure for processing an interrupt received from one of the peripheral devices. Any program that the processor is executing at this moment is allowed access without restriction to any memory areas located within the first megabyte: to RAM - for reading and writing, and to ROM, of course, only for reading. The actual operating mode of the processor is used in the MS DOS operating system, as well as in Windows systems 95 and 98 when booting in MS DOS emulation mode.

Slide 6

In protected mode, the processor can execute multiple programs at the same time. In this case, each process (i.e. running program) can be assigned up to 4 GB of RAM. To prevent the mutual influence of running programs on each other, they are allocated isolated areas of memory. Operating systems such as MS Windows and Linux work in protected mode. In virtual addressing mode of the 8086, the latter actually operates in protected mode. For each task, its own virtual machine is created, which is allocated an isolated 1 MB memory area, and the operation of the 80x86 processor in real addressing mode is fully emulated. For example, in Windows 2000 and XP, an 8086 virtual machine is created each time the user starts a command interpreter window (MS DOS session).

Slide 7

Real addressing mode The distinctive features of the physical memory addressing mechanism in real mode are as follows: The range of physical address change is from 0 to 1 MB, since only 20 least significant bits of the address bus are used for addressing The maximum size of memory addressed using 16-bit registers is 64 KB For access to a specific physical address in all available random access memory uses memory segmentation, i.e. splitting the available address space into 64 KB segments and using instead of a physical logical address in the form:, i.e. combinations of segment start address and intra-segment offset 16-bit segment start address is placed in one of six segment registers (CS, DS, ES, SS, FS, or GS) Programs directly operate on only a 16-bit offset specified relative to the segment start

Slide 8

The least significant hexadecimal digit in the address of each segment is zero, i.e. the address of any segment will always be a multiple of 16 bytes. The segment boundaries are located every 16 bytes of physical addresses. Each of these 16-byte chunks is called a paragraph.

Slide 9

The addresses specified in the programs in the form "segment-offset" are automatically converted by the processor into 20-bit linear addresses during the execution of the command according to the following scheme:

Slide 10

Example: byte specified in segment-offset form: 8000: 0250 in hexadecimal transcription. Logical address: 8000: 0250 –––––––––––––––––––––––––––––– Segment: 80000 + Offset: 0250 ––––––– ––––––––––––––––––––––– Physical address: 80250 A typical program written for the 80x86 family typically has three segments: code, data, and stack. When the program starts, their base segment addresses are loaded into the CS, DS and SS registers, respectively. In the three remaining registers ES, FS and GS, the program can store pointers to additional segments.

Slide 11

The disadvantages of this memory organization: the segments are uncontrolledly allocated from any address that is a multiple of 16 (since the contents of the segment register are shifted by hardware by 4 bits), and, as a result, the program can access any addresses, including those that do not actually exist, have a maximum size 64KB segments can overlap with other segments

Slide 12

Protected addressing mode When operating in protected mode, each program can be allocated a block of memory up to 4 GB in size, whose addresses in hexadecimal notation can vary from 00000000 to FFFFFFFF. It is said that the program is allocated a linear address space. In the protected mode, segment registers (CS, DS, SS, ES, FS, GS) do not store 16-bit base segment addresses, but selector pointers to segment descriptors located in one of the system descriptor tables ... From the information in the descriptor, the operating system determines the linear addresses of program segments. There are two flavors of tables: GlobalDescriptorTable (global descriptor table) and LocalDescriptorTables (local descriptor tables).

Slide 13

Segment descriptor selector structure: The descriptor consists of 8 bytes, which include the base segment address, size and other information:

Slide 14

Descriptor 0 is illegal - it can be safely loaded into the segment register to indicate that the segment register is not currently available, but an interrupt is generated when attempting to use it. In a typical program written for protected mode, there are usually three segments: code, data, and stack, information about which is stored in the three segment registers listed below. The CS register stores the pointer to the program code segment descriptor The DS register stores the pointer to the program data segment descriptor The SS register stores the pointer to the program stack segment descriptor

Slide 15

The conversion of a selector-offset pair to a physical address is as follows: If paging is disabled (using a bit in the global control register), the linear address is interpreted as a physical address and sent to memory for reading or writing. On the other hand, if paging is available, the linear address is interpreted as a virtual address and mapped to the physical address using the page table.

Slide 16

In protected mode, hardware memory models are supported: FlatModel (flat, solid or linear model) - memory organization in which all segments are mapped to a single linear address area. To do this, descriptors of all segments point to the same memory segment, which corresponds to the entire 32-bit physical address space of the computer. For a flat model, at least two descriptors must be generated, one for code references and one for data references.

Slide 17

Descriptors are stored in a special system table called the Global Descriptor Table (GDT). For a flat model, each descriptor has a base address of 0. The value of the field defining the segment boundary is multiplied by the processor by the hexadecimal number 1000. Segments can cover the entire 4 GB range of physical addresses, or only those addresses that are mapped to physical memory. If you set the segment boundary to 4 gigabytes, the segmentation mechanism prevents exceptions from being thrown for memory references that go beyond the segment boundary.

Slide 18

This model makes it possible to exclude the segmentation mechanism from the system architecture, since all memory operations refer to a common memory space. From a programmer's point of view, this model is the easiest to use, since a single 32-bit integer is enough to store the address of any variable or command.

Slide 19

MultisegmentedModel Each program has its own segment descriptor table called the Local Descriptor Table (LDT). In this case, it becomes possible for each process to create its own set of segments that do not overlap with the segments of other processes. As a result, each segment is in an isolated address space.

Slide 20

The figure shows that each entry in the local descriptor table defines a different memory segment. Each segment descriptor indicates its exact length. For example, a segment starting at address 3000 is 2000 bytes long in hex, because the segment boundary descriptor field is 0002 and 0002x1000 = 2000. By analogy, the length of the segment starting at address 8000 is A000. It should be noted that the Flat Model is implemented as a special case of a segmented model, when the program accesses a segment for which the entire linear space is allocated.

Slide 21

Paging This model is a form of memory management for simulating a large non-segmented address space using a portion of disk memory and a fragmented address space. Provides access to data structures that are larger than the size of the available memory, storing them partly in RAM and partly on disk. According to this model, the linear address space is divided into blocks the same size(usually 4 KB), which are called pages (page).

Slide 22

The figure shows a linear address divided into three fields: Directory, Page and Offset. The Directory field is used as an index in the page directory to locate the pointer to the correct page table.

Slide 23

The Page field is then processed as an index in the page table to find the physical address of the page block. To obtain the physical address of the required byte or word, the last Offset field is added to the page block address. As a result, you can easily make the total amount of RAM used in all programs running on your computer exceed the amount of real memory on your computer. This is why paging memory is very often called virtual memory. The health of the virtual memory system is ensured by a special program that is part of the operating system called the virtual memory manager.

Slide 24

The paging organization of memory is the best solution to the problem of insufficient memory. The fact is that before starting execution, any program must be loaded into RAM, the size of which is always limited (for example, due to design features computer or the cost of a memory module). Computer users usually load several programs into memory at once in order to be able to switch between them during their work (for example, switch from one window to another). On the other hand, the amount of disk memory is much larger than the amount of RAM in a computer, and besides, this memory is much cheaper. Therefore, by using disk memory when paging memory, the user gets the impression that he has unlimited RAM. Of course, you have to pay for everything: the speed of access to disk memory is several orders of magnitude lower than to RAM.

Slide 25

When the program is running, parts of its RAM (or pages) that are not used at the moment can be painlessly saved to disk. They say that part of the task is swapped out to disk. It makes sense to save only those pages in the computer's RAM that the processor actively accesses, for example, executes some program code. If the processor has to access the memory page, which in currently preempted to disk occurs system error(or interruption) due to missing page (pagefault). This error is handled by the operating system's virtual memory manager, which finds a page on disk that contains required code or data, and loads it into a free area of ​​RAM.

Slide 26

Closely related to virtual memory is the topic of security. The Pentium supports four levels of protection, with level 0 being the most privileged and level 3 the least privileged. At every moment of time, a running program is at a certain level. Each segment in the system also has its own level.

Slide 27

Level 0 is the operating system kernel, which handles I / O processing, memory management, and other primary issues. At level 1, a system call handler. User programs at this level can access procedures to make system calls, but only to a specific and protected list of procedures. Level 2 contains library routines, possibly shared by multiple running programs. User programs can call these procedures and read their data, but cannot modify them. Finally, user programs run at level 3, which is the least secure.

View all slides

Software (software, software) - a set of programs executed by a computer system. Software is an integral part of a computer system. It is a logical continuation of technical means. The scope of application of a particular computer is determined by the software created for it. The computer itself has no knowledge of any application. All this knowledge is concentrated in programs running on computers. Software (software, software) - a set of programs executed by a computer system. Software is an integral part of a computer system. It is a logical continuation of technical means. The scope of application of a particular computer is determined by the software created for it. The computer itself has no knowledge of any application. All this knowledge is concentrated in programs running on computers.


All programs running on a computer can be conditionally divided into three types: application programs that directly ensure the performance of the work required by users; application programs system programs designed to control the operation of a computing system, perform various secondary functions for example: system programs computer resource management; making copies of the information used; checking the performance of computer devices; issuance of reference information about a computer, etc.; instrumental software systems that facilitate the process of creating new programs for a computer. instrumental software systems




An application program is any specific program that facilitates the solution of a problem within a given problem area. In contrast, the operating system or tooling software does not directly contribute to meeting the end user needs. Application programs can be used either autonomously, that is, to solve the assigned task without the help of other programs, or as part of software systems or packages.




Document editors are the most widely used type of application software. They allow you to prepare documents much faster and more conveniently than using a typewriter. Text editors can provide a variety of functions, namely: Table processors. Table processors are a convenient tool for performing accounting and statistical calculations. Each package contains hundreds of built-in math functions and statistical data processing algorithms. In addition, there are powerful tools for linking tables to each other, creating and editing electronic databases. Systems computer-aided design(CAD) or CAD (Computer-Aided Design) software package designed to create drawings, design and / or technological documentation and / or 3D models. Among the systems of small and middle class in the world the most popular system is AutoCad from AutoDesk. Domestic package with similar functions - Compass


Graphic editors allow you to create and edit drawings. The simplest editors provide the ability to draw lines, curves, paint areas of the screen, create inscriptions in various fonts, etc. Most editors allow you to process images obtained with scanners. Representatives of graphic editors - Adobe programs Photoshop, Corel Draw. Database management systems (DBMS) allow you to manage large information arrays - databases. Software systems of this type allow you to process arrays of information on a computer, provide input, search, sorting, selection of records, compilation of reports, etc. Representatives of this class programs - Microsoft Access, Clipper, Paradox, FoxPro. Integrated systems combine the capabilities of a database management system, a table processor, text editor, systems business graphics and sometimes other possibilities. As a rule, all components of an integrated system have a similar interface, which makes it easier to learn how to work with them. Representatives of integrated systems - Microsoft Office and its free analogue Open Office.


System programs run together with application programs and are used to manage computer resources central processing unit, memory, input-output. These are programs of general use, which are intended for all computer users. System software is designed so that a computer can efficiently execute application programs.


System software can be divided into: Base software - the minimum set of software tools to ensure the operation of a computer. The basic software includes: operating system; operating shells (textual and graphical); network operating system. Service software of the program and software packages that expand the capabilities of the basic software and organize a more convenient environment for the user - utilities.


The operating system is a complex of interconnected system programs, the purpose of which is to organize the interaction of the user with the computer and the execution of all other programs. The operating system can be called a software continuation of the computer control device. The operating system hides from the user complex unnecessary details of interaction with the hardware, forming a layer between them. As a result, people are freed from the very time-consuming work of organizing interaction with computer hardware. In addition, it is the OS that provides the ability individual customization computer: the OS determines from which components the computer on which it is installed is assembled, and configures itself to work with these components. Skins are programs designed to make it easier to work with complex software systems, such as DOS. They transform awkward command user interface into a friendly graphical interface or a "menu" type interface. Shells provide the user with convenient file access and extensive services. Network operating systems are a set of programs that provide processing, transmission and storage of data in the network. The network operating system provides users with various types of network services (file management, e-mail, network management processes, etc.), supports work in subscriber systems.


Utilities (lat. Utilitas benefit) - either expand and supplement the corresponding capabilities of the operating system, or solve independent important tasks. Let's briefly describe some types of utilities: programs for monitoring, testing and diagnostics programs-packers (archivers) programs-drivers antivirus programs programs for creating backups information programs for memory management programs for optimization and quality control of disk space; programs for optimization and quality control of disk space; communication programs, etc.


Control, testing and diagnostic programs that are used to check the correct functioning of computer devices and to detect malfunctions during operation; indicate the cause and location of the malfunction; driver programs that expand the capabilities of the operating system to manage input-output devices, RAM, etc.; with the help of drivers, it is possible to connect new devices to the computer or non-standard use of existing ones; Packing programs (archivers) that allow using special algorithms for packing information to compress information on disks, i.e. create smaller copies of files, as well as combine copies of multiple files into one archive file. The use of archiving programs is very useful when creating an archive of files, since in most cases it is much more convenient to store them, having previously compressed them with archiving programs. Representatives of these programs are WinRar and WinZip.


Antivirus software designed to prevent infection with computer viruses and eliminate the consequences of infection by viruses; Representatives of the antivirus family of programs - Kaspersky Antivirus, DrWeb, Norton Antivirus. programs for creating backup copies of information allow you to periodically copy important information located on the hard disk of your computer to additional media. Program representatives Reserve copy- APBackUp, Acronis True Image disk space optimization and quality control software; communication programs are designed to organize the exchange of information between computers. These programs allow you to conveniently transfer files from one computer to another by connecting their serial ports with a cable. Another type of such programs provides the ability to communicate with computers on telephone network(if you have a modem). They make it possible to send and receive fax messages. Representatives of communication programs - Venta Fax, Cute FTP. memory management programs that provide more flexible use of RAM;


Instrumental software these are programs that are used in the course of developing, adjusting, or developing other application or system programs. Software development tools can provide assistance at all stages of software development. By their purpose, they are close to programming systems, programming systems.


A programming system is a system for developing new programs in a specific programming language. Modern programming systems usually provide users with powerful and easy-to-use programming tools. They include: a compiler or interpreter, a compiler or an interpreter, an integrated development environment; tools for creating and editing program texts; extensive libraries standard programs and functions; debug programs, i.e. programs that help to find and fix errors in the program; powerful graphics libraries; utilities for working with libraries; built-in help service; other specifics.


Translator (English translator translator) is a translator program. It converts a program written in one of the languages high level, into a program consisting of machine instructions. Translators are implemented as compilers or interpreters. Compiler and interpreter differ significantly in terms of how the work is done. The compiler (English compiler, collector) reads the entire program as a whole, makes its translation and creates a complete version of the program in machine language, which is then executed. The interpreter translates and executes the program line by line. Once the program is compiled, neither the original program nor the compiler is needed anymore. At the same time, the program processed by the interpreter must be re-translated to machine language every time the program is started. Compiled programs run faster, but interpreted programs are easier to fix and change. Popular programming systems - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C ++, Borland Delphi, etc.


Most systems today are smoothly flowing to the Web. The World Wide Web is pulling in more and more applications. Databases are acquiring Web-based user interfaces instead of previous desktop applications. Ultimately, it is to be expected that the end user will only need a web browser to be able to meet all possible software needs. V this case the user doesn't care which operating system is running local computer, the main thing is server reliability and performance. (For example, Microsoft Office can be installed on remote servers, and not on end-user systems, but the launch of applications will occur as quickly as on local PCs). Thus, all programs will be able to run both locally and remotely via the Web.