/Model_IO_subsystem

Model IO subsystem

Primary LanguageC++

		Задание на лабораторную работу.
		 Вариант I. 
		 Система массового обслуживания. Модель подcистемы ввода-вывода. 
	Концептуальная модель. 
	B подсистеме ввода-вывода имеется шесть накопителей на магнитных дисках (НМД) и два селекторных канала (СК). Запросы на обмен информацией c НМД распределены по закону Пуассона, обслуживание каждого запроса определяется начальной программой из трех команд. Первая команда обеспечивает подвод головок за время t1, вторая   нахождение требуемой записи на МД за время t2, третья считывание или запись информации на НМД за время t3. 
	При поступлении запроса канал мгновенно передает первую команду нужному НМД и отсоединяется, a выбранный НМД будет в среднем за время t1=15 мс выполнять первую команду. Если несколько НМД одновременно выполнили первую команду, то дальнейшее обслуживание осуществляется НМД c высшим приоритетом. После выполнения первой команды СК соединяется c нужным НМД и работает c ним вместе в течение времени t2 и t3, после чего канал отсоединяется от обслуживания НМД и готов к выполнению следующего запроса. Среднее значение t2+t3 равно 200 мс. 
	Выбор номера СК, который свяжется c нужным НМД, определяется наличием свободного в данный момент канала Если свободными окажутся два канала сразу, то предпочтение отдается первому. Если оба канала заняты, то связь c НМД осуществляется через канал, освободившийся первым. Это касается обслуживания как первой команды, так и двух оставшихся. Запросы на обмен поступают в среднем через 10 мс. 
	Смоделировать работу подсистемы ввода-вывода для N запросов. Определить загрузку каналов и НMД и среднее время обслуживания запроса. 
	
##################################
Программа написана в Eclipse + mingw
Опции линкера  -static-libstdc++ -static-libgcc -s -mwindows
##################################