Операционные системы. Замятин А.В - 5 стр.

UptoLike

Составители: 

5
ВВЕДЕНИЕ
Информационно-вычислительные системы становятся все более
дружественными и понятными даже для неспециалистов. Это связано,
прежде всего, с тем, что пользователи и их программы взаимодействуют
с вычислительной техникой посредством специального (системного)
программного обеспечения через операционную систему (ОС). На се-
годняшний день существует множество различных ОС, построенных на
закрытой (OC семейства Windows) и открытой архитектурах (ОС семей-
ства Unix). При этом, благодаря своему «открытому» характеру, именно
последние более подходят для изучения базовых аспектов функциони-
рования ОС.
Unix-подобные ОС являются достаточно популярными уже более
трех десятилетий, что для ОС очень серьезный срок. Несмотря на
большое число разновидностей систем Unix, все их объединяет ряд ос-
новных черт, таких как язык высокого уровня С, положенный в основу
кода всей системы, наличие стандартов в архитектуре и интерфейсных
решений (POSIX, System V), использование единой, легко обслуживае-
мой иерархической файловой системы, различных дополнительных
средств, включая средства, предназначенные для упрощения сборки
программных проектов.
Современные ОС, включая ОС семейства Unix, поддерживают мно-
гозадачность и многопоточность. При многопоточности в системе одно-
временно может работать несколько задач, и каждая из задач может
быть разбита на подзадачи, выполняемые параллельно. Для этого в со-
временных ОС предусмотрен ряд стандартных механизмов, позволяю-
щих достаточно эффективно обеспечить синхронизацию процессов и
передачу данных между ними, что дает возможность решать задачи и
подзадачи как независимо, так и с кооперацией между ними.
В рамках предлагаемого учебного пособия студентам предоставля-
ется возможность получить практические навыки работы в одной из
разновидностей ОС Unix Linux на примере решения практических за-
дач: разработка программного проекта с помощью утилиты для автома-
тизированной сборки программных проектов GNU make; разработка
многопоточного приложения и разработка многопроцессного приложе-
ния с использованием стандартных межпроцессных средств синхрони-
зации и передачи данных между клентом и сервером.