public ClockFile(string fileName, string shapePath) { using (STFReader stf = new STFReader(fileName, false)) { Clocks = new ClockList(stf, shapePath); } }
/// <summary> /// Executes the algorithm. /// </summary> /// <param name="virtualMemory">Virtual memory to use</param> /// <param name="pageSequence">Page sequence to use</param> /// <returns>Amount of misses</returns> public int Execute(VirtualMemory virtualMemory, string[] pageSequence) { var missCount = 0; var i = 0; var clockList = new ClockList(virtualMemory.PageCount); foreach (var page in pageSequence) { Console.WriteLine("=========================================================="); Console.WriteLine($"CLK Solicitud del procesador para ingresar página {page}"); Console.WriteLine($"Memoria disponible: {virtualMemory.GetCurrentFreeCapacity()} [KB]"); // While the virtual memory is not full if (i < virtualMemory.PageCount) { virtualMemory[i++] = page; Console.WriteLine($"Página {page} agregada a la memoria virtual en la posición {i}"); clockList.InsertPage(page); Console.WriteLine($"Página {page} insertada en la lista circular"); continue; } // While the virtual memory is full and we have a miss if (virtualMemory.FindPage(page) == -1) { Console.WriteLine("(i) Miss (i)"); var pageToReplace = clockList.ReplacePage(page); Console.WriteLine($"Página {pageToReplace} reemplazada por {page} en la lista circular"); Console.WriteLine($"Página a reemplazar: {pageToReplace}"); var indexToReplace = virtualMemory.FindPage(pageToReplace); Console.WriteLine($"Posición a reemplazar dentro de la memoria virtual: {indexToReplace}"); virtualMemory[indexToReplace] = page; missCount++; } else { Console.WriteLine("(i) Hit (i)"); } } return(missCount); }
/// <summary> /// �����л� �����б� ���ص�������ͼ�� /// </summary> public void Deserialize() { ClockList cl = new ClockList(); try { cl = (ClockList)fSer.FileDeserialize(SERPATH); } catch (Exception) { fSer.FileSerialize(SERPATH, cl); } list = cl.List; for (int i = 0; i < list.Count; i++) { Clock c = list[i]; c.STime = STR17; if (c.State == ON) AutomatismStartClock = true; list[i] = c; } BindList(); btnPlaySound.Tag = PLAY; }
public void RemoveClock(object obj) { ClockList.Remove((Clock)obj); }
public void AddClock(object obj) { ClockList.Add(new Clock()); }
/// <summary> /// 关闭窗口时 序列化闹钟列表 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmMain_FormClosing(object sender, FormClosingEventArgs e) { ClockList cl = new ClockList(); cl.List = list; fSer.FileSerialize(SERPATH, cl); }