The inherited problem problem was to construct an operating system that could make trains stop before collisions. The general idea of my algorithm is to treat the track and turnouts as resource for a train. In this way the project truly represents an operating system. We can compare the train to a process and the track and turnouts as typical resources that a process that would need. (For example the resource could be a processor or a drive.)