Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Амир_СистПрог.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
90.28 Кб
Скачать

Билет № 15

  1. Назначение операционной системы

Операционная система (ОС) - это системное программное обеспечение, которое управляет компьютерными аппаратными и программными ресурсами и предоставляет общие услуги для компьютерных программ. Все компьютерные программы, за исключением прошивки, требуют работы операционной системы.

Операционные системы с разделением времени планируют задачи для эффективного использования системы и могут также включать программное обеспечение учета для распределения затрат времени процессора, массового хранения, печати и других ресурсов.

Для аппаратных функций, таких как ввод и вывод и распределение памяти, операционная система выступает в качестве посредника между программами и компьютерным оборудованием, хотя код приложения обычно выполняется непосредственно аппаратным обеспечением и часто делает системные вызовы OS или прерывается им. Операционные системы находятся на многих устройствах, которые содержат компьютер - от сотовых телефонов и игровых консолей до веб-серверов и суперкомпьютеров.

Доминирующей настольной операционной системой является Microsoft Windows с долей рынка около 83,3%. macOS от Apple Inc. занимает второе место (11,2%), а разновидности Linux - на третьем месте (1,55%). [3] В секторе мобильных (смартфонов и планшетов) по данным третьего квартала 2016 года Android от Google доминирует с 87,5%, а темпы роста - 10,3% в год, за которым следует iOS Apple с 12,1% и в год снижение рынка доля в 5,2 процента, тогда как другие операционные системы составляют всего 0,3 процента [4]. Распределения Linux являются доминирующими в серверных и суперкомпьютерных секторах. Другие специализированные классы операционных систем, такие как встроенные и системы реального времени, существуют для многих приложений.

  1. Резервирование, распределение и освобождение виртуальной памяти

Для резервирования или распределения области виртуальной памяти про­цесс должен вызвать функцию virtuaiAlloc, которая имеет следующий про­тотип:

LPVOID VirtuaiAlloc(

LPVOID IpAddress, // область для распределения или резервирования SIZE_T dwSize, // размер области

DWORD flAllocationType, // тип распределения DWORD flProtect // тип защиты доступа

) ;

В случае успешного завершения эта функция возвращает адрес виртуальной памяти, распределенной или зарезервированной процессом, а в случае неуда­чи — null. При этом отметим такую деталь, если распределение виртуаль­ной памяти функцией virtuaiAlloc завершается успешно, то выделенная память автоматически инициализируется нулями.

int main()

{

Int *a; // указатель на массив целых чисел

const int size =1000; // размерность массива

// распределяем виртуальную память а = (int*)VirtualAlloc(

NULL,

size * sizeof(int),

MEM_COMMIT,

PAGE_READWRIТЕ);

#include <windows.h>

#include <iostream.h>

if(!а)

{

cout « "Virtual allocation failed." « endl; return GetLastError();

}

cout « "Virtual memory address: " « a « endl;

// освобождаем виртуальную память if (!VirtualFree(a, 0, MEM_RELEASE))

{

cout << "Memory release failed." « endl; return GetLastError();

}

return 0;}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]