Semi-partitioned real-time scheduling algorithms extend partitioned ones by allowing a (usually small) subset of tasks to migrate. The first such algorithm to be proposed was directed at soft real-time (SRT) sporadic task systems where bounded deadline tardiness is acceptable. That algorithm, called EDF-fm, is able to fully utilize the underlying hardware platform's available capacity. Moreover, it has the desirable practical property that migrations are boundary-limited, i.e., they can only occur at job boundaries. Unfortunately, EDF-fm requires restrictions on pertask utilizations, and thus is not optimal. In this paper, a new boundary-limited, semi-partitioned algorithm is presented for SRT systems that is the first such algorithm to be optimal. This algorithm, called EDF-os, is similar to EDF-fm but utilizes several new mechanisms that obviate the need for per-task utilization restrictions. Experiments presented herein show that, not only is EDF-os provably better than EDF-fm with respect to schedulability, tardiness bounds under EDF-os are often much lower as well.