public void SavePageToHDD(VirtualPage page) { Page HDDPage = HDD.GetPage(page.ExternalId); if (!page.ReadOnly && !page.Data.Equals(HDDPage)) { HDDPage.Data = page.Data; } }
public void LoadVirtualPage(int index, string data, bool readOnly = false) { Page page = HDD.GetPage(index); Page virtualPage = new VirtualPage(page, data, readOnly); try { Console.WriteLine("В RAM загружается новая " + virtualPage); RAM.AddPage(virtualPage); } catch (Exception e) { Console.WriteLine("Недостаточно виртуальной памяти"); VirtualPage p = RAM.ReplacePage(virtualPage) as VirtualPage; Console.WriteLine("Выгружена " + p); SavePageToHDD(p); } }