Комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.
Фраза "каждый из них не дал полностью правдивых показаний" мной понята, как указание о том, что одно из показаний правда, а другое - ложь.
Предположим, Брагин не виновен. Тогда его второе показание - ложь и Лиходеев виновен. Первое показание Лиходеева будет ложным, а второе истинным и т.е. получится, что Кургин не причем. Получается двое непричастных, что неверно. Следовательно, наше исходное предположение неверно и Брагин виновен.
Если Брагин виновен, его первое показание ложно, а второе истинно и Лиходеев также виновен. Это не противоречит показаниям Лиходееева: его первое показание - ложь, второе истина: Кургин не причём. Первое показание Кургина ложно, второе истинно. Это также подтверждается.