void RefreshContext()
        {
            int line = ++processor.run.context.currentLine;

            if (processor.run.strFileCommands.Count > 1)
            {
                processor.run.context.command  = processor.run.GetCommand(line);
                processor.run.context.countRun = processor.run.GetCountRun(line);
            }
            else
            {
                TimerOfProcessor.Stop();
                ToLog(""); ToLog("Минимум 2 команды необходимо в загрузочном файле: ПАМЯТЬ, КОНЕЦ", Color.Red);
            }
        }
        /*Запуск модели*/
        private void Go_B_Click(object sender, EventArgs e)
        {
            Load_GB.Hide();
            ReadyLoad_LB.ClearSelected();
            Log.Clear();
            //TBootFile bf = new TBootFile();
            //bf.nameOfFile = "процесс2";
            //bf.comandsOfFile.Add("ПАМЯТЬ-1000");
            //bf.comandsOfFile.Add("ПРОЦЕССОР-3");
            //bf.comandsOfFile.Add("ПРОЦЕССОР-2");
            //bf.comandsOfFile.Add("КОНЕЦ");
            //TProcess prss = CreateProcess(bf);
            //queueOfReady.Add(prss);
            //TimerOfProcessor.Start();
            if (QueueOfReady_LB.Items.Count > 0)
            {
                ///Processor_TC.TabPages.Clear();//Очистка вкладок
                /*Заполнение главного списка процессов из списка ГОТОВНОСТЬ*/
                for (int i = 0; i < QueueOfReady_LB.Items.Count; i++)
                {
                    TBootFile bootFile = QueueOfReady_LB.Items[i] as TBootFile;
                    TProcess  process  = CreateProcess(bootFile);
                    queueOfReady.Add(process);
                    /* Для рендера ЛОГА  при создании процесса*/
                    ToLog("Создан процесс "); ToLog(process.ToString(), Color.Lime);
                    ToLog(" и добавлен в очерель ГОТОВНОСТЬ.", Color.White);
                    ToLog("Занято ");
                    ToLog(process.descriptor.memory.ToString() + " байт", Color.Lime);
                    ToLog(" процессом ", Color.White);
                    ToLog(process.descriptor.name, Color.Lime);
                }
                /*Отрисовка вкладок ПРОЦЕССОР*/

                /*int j = 0;
                 * foreach (TProcess str in queueOfReady)
                 * {
                 *  DrawPageProc(queueOfReady[j++]);
                 * }*/
                ToLog("Очередь ГОТОВНОСТЬ сформирована.");
                ToLog("Планировщик процессов - запущен.");
                TimerOfProcessor.Start();
                Go_B.Enabled = false;
            }
            else
            {
                ToLog("Добавте сперва процесс в очередь ГОТОВНОСТЬ", Color.Red);
            }
        }
 /*Диспетчер процессов FIFO*/
 void ManagerOfProc()
 {
     if (processor.stateProcessor == TStateProcessor.sprBUSY)
     {
         /*Если пришел с ВЫПОЛНЕНИЕ, то отправляется в ГОТОВНОСТЬ по условию FIFO*/
         if (processor.run.descriptor.state == TStateProcess.spREADY)// ожидаемое событие - окончание работы команды процесса
         {
             List <TProcess> temp = new List <TProcess>();
             temp.Add(processor.run);
             temp.AddRange(queueOfReady);
             queueOfReady.Clear();
             queueOfReady = temp;
             RefreshReady();                                      // текущее состояние ГОТОВНОСТЬ
             Processor_TC.TabPages.Clear();                       //визуализация удаления процесса  - ПРОЦЕССОР
             Processor_TC.Refresh();
             processor.stateProcessor = TStateProcessor.sprEMPTY; // процессор пуст, так в нем нет процесса
             GoingP_L.Text            = "Выполнено: - " + " из -";
             processor.run            = null;
         }
     }
     else/* процесс С ГОТОВНОСТЬ на ВЫПОЛНЕНИЕ - когда процессор свободен */
     {
         if (queueOfReady.Count > 0)
         {
             processor.run = queueOfReady[0];                          // инициализируем текущий
             queueOfReady.RemoveAt(0);                                 // процесс
             RefreshReady();                                           // перерисовка ГОТОВНОСТЬ
             processor.stateProcessor       = TStateProcessor.sprBUSY; // переключене процессора в рабочий режим
             processor.run.descriptor.state = TStateProcess.spRUN;     // запуск процесса
             MoveToRun();                                              //рендер отправки процесса на ВЫПОЛНЕНИЕ
         }
         else
         {
             if (!TimerOfIO.Enabled)
             {
                 TimerOfProcessor.Stop();
                 ToLog(""); ToLog("Все процессы отработали", Color.Red);
                 Processor_TC.TabPages.Clear();
                 Go_B.Enabled = true;
             }
         }
     }
 }