Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Information Technology - part 2.doc
Скачиваний:
13
Добавлен:
13.11.2019
Размер:
293.38 Кб
Скачать

Inheritance

Inheritance allows one data type to acquire properties of other data types. Inheritance from a base class may be declared as public, protected, or private. This access specifier determines whether unrelated and derived classes can access the inherited public and protected members of the base class. Only public inheritance corresponds to what is usually meant by "inheritance". The other two forms are much less frequently used. If the access specifier is omitted, a "class" inherits privately, while a "struct" inherits publicly. Base classes may be declared as virtual; this is called virtual inheritance. Virtual inheritance ensures that only one instance of a base class exists in the inheritance graph, avoiding some of the ambiguity problems of multiple inheritance.

Multiple inheritance is a C++ feature not found in most other languages, allowing a class to be derived from more than one base classes; this allows for more elaborate inheritance relationships. For example, a "Flying Cat" class can inherit from both "Cat" and "Flying Mammal". Some other languages, such as C# or Java, accomplish something similar (although more limited) by allowing inheritance of multiple interfaces while restricting the number of base classes to one (interfaces, unlike classes, provide only declarations of member functions, no implementation or member data). An interface as in C# and Java can be defined in C++ as a class containing only pure virtual functions, often known as an abstract base class or "ABC". The member functions of such an abstract base class are normally explicitly defined in the derived class, not inherited implicitly.

Polymorphism

Polymorphism enables one common interface for many implementations, and for objects to act differently under different circumstances.

C++ supports several kinds of static (compile-time) and dynamic (run-time) polymorphisms. Compile-time polymorphism does not allow for certain run-time decisions, while run-time polymorphism typically incurs a performance penalty.

Questions:

What is encapsulation?

What is inheritance?

What is multiple inheritance?

What is polymorphism?

Unit 7 operating systems

What is operating system?

Read and memorize the following words:

operating system (OS) — операционная система (ОС)

memory allocation — выделение памяти

intermediary — посредник

parallel processing — параллельная обработка

mainframe — большая ЭВМ

kernel — ядро

low-level processes — низкоуровневые процессы

multitasking — многозадачная

scheduling — планирование

embedded os — встраиваемая ОС

application code — код программы

to execute — выполнять

cellular phones and video game consoles — сотовые телефоны и игровые приставки

parallel processing — параллельная обработка

desktop — рабочий стол

multi-tasking — многозадачная система

pre-emptive — приоритетная

distributed computations — распределенные вычисления

co-operative — совместное

An operating system (OS) is software, consisting of programs and data, that runs on computers, manages computer hardware resources, and provides common services for execution of various application software.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between application programs and the computer hardware(pic.1), although the application code is usually executed directly by the hardware and will frequently call the OS or be interrupted by it. Operating systems are found on almost any device that contains a computer—from cellular phones and video game consoles to supercomputers and web servers.

Examples of popular modern operating systems are: BSD, Linux, OS X, Microsoft Windows and UNIX.

Early computers were built to perform a series of single tasks, like a calculator. Operating systems did not exist in their modern and more complex forms until the early 1960s. Some operating system features were developed in the 1950s, such as monitor programs that could automatically run different application programs in succession to speed up processing. Hardware features were added that enabled use of runtime libraries, interrupts, and parallel processing. When personal computers by companies such as Apple Inc., Atari, IBM and Amiga became popular in the 1980s, vendors added operating system features that had previously become widely used on mainframe and mini computers. Later, many features such as graphical user interface were developed specifically for personal computer operating systems.

An operating system consists of many parts. One of the most important components is the kernel, which controls low-level processes that the average user usually cannot see: it controls how memory is read and written, the order in which processes are executed, how information is received and sent by devices like the monitor, keyboard and mouse, and decides how to interpret information received from networks. The user interface is a component that interacts with the computer user directly, allowing them to control and use programs. The user interface may be graphical with icons and a desktop, or textual, with a command line. Application programming interfaces provide services and code libraries that let applications developers write modular code reusing well defined programming sequences in user space libraries or in the operating system itself. Which features are considered part of the operating system is defined differently in various operating systems. For example, Microsoft Windows considers its user interface to be part of the operating system, while many versions of Linux do not.

Types

Real-time

A real-time operating system is a multitasking operating system that aims at executing real-time applications. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main object of real-time operating systems is their quick and predictable response to events. They either have an event-driven or a time-sharing design. An event-driven system switches between tasks based on their priorities while time-sharing operating systems switch tasks based on clock interrupts.

Multi-user vs. Single-user

A multi-user operating system allows multiple users to access a computer system concurrently. Time-sharing system can be classified as multi-user systems as they enable a multiple user access to a computer through the sharing of time. Single-user operating systems, as opposed to a multi-user operating system, are usable by a single user at a time. Being able to have multiple accounts on a Windows operating system does not make it a multi-user system. Rather, only the network administrator is the real user. But for a Unix-like operating system, it is possible for two users to login at a time and this capability of the OS makes it a multi-user operating system.

Multi-tasking vs. Single-tasking

When a single program is allowed to run at a time, the system is grouped under a single-tasking system, while in case the operating system allows the execution of multiple tasks at one time, it is classified as a multi-tasking operating system. Multi-tasking can be of two types namely, pre-emptive or co-operative. In pre-emptive multitasking, the operating system slices the CPU time and dedicates one slot to each of the programs. Unix-like operating systems such as Solaris and Linux support pre-emptive multitasking. Cooperative multitasking is achieved by relying on each process to give time to the other processes in a defined manner. MS Windows prior to Windows 95 used to support cooperative multitasking.

Distributed

A distributed operating system manages a group of independent computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other, gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.

Embedded

Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems.

Questions:

What is OS?

Give examples of popular modern operating systems.

What is one of the most important components in operating system?

What does the kernel control?

What component interacts with the computer user directly, allowing to control and use programs?

What do application programming interfaces provide?

What do you know about a real-time operating system?

What types can multi-tasking operating system be?

What does a multi-user operating system allow?

Windows 95 is an embedded operating system, isn't it?

Operating systems

Read and memorize the following words:

one of the most prominent examples — один из самых известных примеров

underlying — лежащий в основе

can be compiled — может быть скомпилирована

superseded — заменены

tablet computers — планшетные компьютеры

collaboration — сотрудничество

popular mainstream — популярная основа

intended use —намеченное использование

to ship — поставлять

deliberately — сознательно

user-friendly — удобный для пользователя

disk storage capacity — емкость накопителя на дисках

to be compatible — быть совместимыми

Linux

Linux refers to the family of Unix-like computer operating systems using the Linux kernel. Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers, routers, and video game consoles, to mainframes and supercomputers. Linux is a leading server operating system, and runs the 10 fastest supercomputers in the world.

The development of Linux is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License. Typically Linux is packaged in a format known as a Linux distribution for desktop and server use. Some popular mainstream Linux distributions include Debian (and its derivatives such as Ubuntu), Fedora and openSUSE. Linux distributions include the Linux kernel and supporting utilities and libraries to fulfill the distribution's intended use.

A distribution oriented toward desktop use may include the X Window System, the GNOME and KDE Plasma desktop environments. Other distributions may include a less resource intensive desktop such as LXDE or Xfce for use on older or less-powerful computers. A distribution intended to run as a server may omit any graphical environment from the standard install and instead include other software such as the Apache HTTP Server and a SSH server like OpenSSH. Because Linux is freely redistributable, it is possible for anyone to create a distribution for any intended use. Commonly used applications with desktop Linux systems include the Mozilla Firefox web browser, the OpenOffice.org or LibreOffice office application suites, and the GIMP image editor.

The name "Linux" comes from the Linux kernel, originally written in 1991 by Linus Torvalds. The main supporting user space system tools and libraries from the GNU Project (announced in 1983 by Richard Stallman) are the basis for the Free Software Foundation's preferred name GNU/Linux.

Google Chrome OS

Google Chrome OS is a Linux-based operating system designed by Google to work exclusively with web applications. Google announced the operating system on July 7, 2009 and made it an open source project, called Chromium OS, that November.

Unlike Chromium OS, which can be compiled from the downloaded source code, Chrome OS will only ship on specific hardware from Google's manufacturing partners. The user interface takes a minimalist approach, resembling that of the Chrome web browser. Since Google Chrome OS is aimed at users who spend most of their computer time on the Internet, the only application on the device will be a browser incorporating a media player.

The expected launch date for retail hardware featuring Chrome OS slipped since Google first announced the operating system: from late 2010 to June 15, 2011, when "Chromebooks" from Acer and Samsung began shipping.

Microsoft Windows

Microsoft Windows is a series of operating systems produced by Microsoft.

Microsoft first introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs). Microsoft Windows came to dominate the world's personal computer market, overtaking OS X, which had been introduced in 1984. As of October 2009, Windows had approximately 91% of the market share of the client operating systems for usage on the Internet.

The most recent client version of Windows is Windows 7; the most recent server version is Windows Server 2008 R2; the most recent mobile version is Windows Phone 7.(2011)

OS X

OS X is a series of graphical user interface-based operating systems developed by Apple Inc. (formerly Apple Computer, Inc.) for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface. The original form of what Apple would later name the "Mac OS" was the integral and unnamed system software first introduced in 1984 with the original Macintosh, usually referred to simply as the System software.

Apple deliberately downplayed the existence of the operating system in the early years of the Macintosh to help make the machine appear more user-friendly and to distance it from other operating systems such as MS-DOS, which was more arcane and technically challenging. Much of this early system software was held in ROM, with updates typically provided free of charge by Apple dealers on floppy disk. As increasing disk storage capacity and performance gradually eliminated the need for storing much of the advanced GUI operating system in the ROM, Apple explored clones while positioning major operating system upgrades as separate revenue-generating products, first with System 7.1 and System 7.5, then with Mac OS 7.6 in 1997.

Early versions of the Mac OS were compatible only with Motorola 68000-based Macintoshes. As Apple introduced computers with PowerPC hardware, the OS was ported to support this architecture as well. Mac OS 8.1 was the last version that could run on a 68000-class processor (the 68040). Mac OS X, which has superseded the "Classic" Mac OS, is compatible with both PowerPC and Intel processors through to version 10.5 ("Leopard"). Version 10.6 ("Snow Leopard") supports only Intel processors.

Questions:

In what field does Linux lead?

In what format is Linux packaged?

When did Google announce Google Chrome OS?

Why did Microsoft Windows come to dominate the world's personal computer market?

What is the recent version of mobile version of Windows?

What do you know about early versions of the Mac OS?

UNIT 8