Управление памятью – одна из главных задач ОС. Она критична как для программирования, так и для системного администрирования.
Объяснение:
Каждый процесс в многозадачной ОС работает в своей «песочнице» в памяти. Это виртуальное адресное пространство, которое в 32-битном режиме представляет собою 4Гб блок адресов. Эти виртуальные адреса ставятся в соответствие (mapping) физической памяти таблицами страниц, которые поддерживает ядро ОС. У каждого процесса есть свой набор таблиц. Но если мы начинаем использовать виртуальную адресацию, приходится использовать её для всех программ, работающих на компьютере – включая и само ядро.
В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
procedure MakeFile(path:string); // не относится к заданию, создает файл Text со 100 числами begin WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString)) end;
begin MakeFile('MyFile1.txt'); // теперь у нас есть текстовый файл из 100 случайных чисел // собственно, решение var n:=ReadInteger('Укажите количество чисел:'); var a:=ReadLines('MyFile1.txt').Take(n).ToArray; Writeln('Исходная последовательность'); a.Println; Writeln('Результирующая последовательность'); a:=a.OrderBy(x->x.Last).ToArray; a.Println; WriteAllLines('MyFile2.txt',a); end.
2. А вот так все еще учат в большинстве школ (стиль образца 70-80х годов века)
const n=16; var i,s:integer; a:array[1..n] of integer; begin Randomize; s:=0; for i:=1 to n do begin a[i]:=Random(101)-20; Write(a[i],' '); if i mod 2=0 then s:=s+a[i] end; Writeln; Writeln('S=',s) end.
Управление памятью – одна из главных задач ОС. Она критична как для программирования, так и для системного администрирования.
Объяснение:
Каждый процесс в многозадачной ОС работает в своей «песочнице» в памяти. Это виртуальное адресное пространство, которое в 32-битном режиме представляет собою 4Гб блок адресов. Эти виртуальные адреса ставятся в соответствие (mapping) физической памяти таблицами страниц, которые поддерживает ядро ОС. У каждого процесса есть свой набор таблиц. Но если мы начинаем использовать виртуальную адресацию, приходится использовать её для всех программ, работающих на компьютере – включая и само ядро.