コード例 #1
0
        public void SavePageToHDD(VirtualPage page)
        {
            Page HDDPage = HDD.GetPage(page.ExternalId);

            if (!page.ReadOnly && !page.Data.Equals(HDDPage))
            {
                HDDPage.Data = page.Data;
            }
        }
コード例 #2
0
        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);
            }
        }