  An operating system (OS) for subways and other urban railways is presented.
The system uses extra long trains (XLTs) that can protrude beyond both ends of
the station platforms. No added infrastructure is needed;only more rolling
stock. The system's only technological requirement is that the doors in
different parts of each train, e.g. its cars, can be operated independently.
The system can preserve the level of service and evenly fill with passengers
all the cars of an XLT so no space is wasted. With sufficiently long trains, a
railway's productivity can be more than doubled.
  The proposed OS has a train side and a passenger side. On the train side, it
includes train organization and station-stopping protocols and on the passenger
side a new information system that organizes passengers at the platforms as
required by the train side protocols. These protocols specify the composition
of each train and what it does at each station; i.e., whether it stops or not;
how it aligns its doors along the platform; whether each door opens or not; and
the set of destinations advertised by each open door. A general menu of train
side protocols is presented, as well as a mathematical framework for their
optimization and analysis. Numerous examples illustrating key concepts are also
presented.
