سیستم عاملهای اولیه به زبان
اسمبلی نوشته میشدند ولی امروز, اکثر سیستم عاملها به زبان
C))(یا C++)نوشته میشوند . سیستم عامل ((UNIX ,
OS/2 و ویندوز بیشتر به زبان C نوشته شدهاند و قسمت اندکی از آنها به زبان اسمبلی است.
مهمترین مزیت استفاده از
زبان سطح بالا برای پیاده سازی سیستم عامل قابلیت حمل آن بر روی انواع کامپیوترها و سادگی پیاده سازی , تغییر و بسط دادن سیستم عامل میباشد.
ممکن است ادعا شود پیاده سازی سیستم عامل به زبان C باعث کاهش سرعت و افزایش مصرف حافظه میگردد . اگر چه یک برنامه نویس ماهر زبان اسمبلی , میتواند برنامههای کوچک و بسیار بهینه بنویسد ولی برای برنامههای بزرگ یک
کامپایلر خوب, میتواند تحلیل پیچیده تری نسبت به مغز انسان ماهر انجام داده و بهینه سازیهای کاملی را انجام دهد.
لذا در عمل برنامههای بزرگ C کد اسمبلی بهینه تر و کمتری را تولید میکنند, نسبت به حالتی که برنامهنویس بخواهد همان کاری به زبان اسمبلی انجام دهد . از طرف دیگر در عمل کارایی اصلی نتیجه
ساختمان داده و
الگوریتمهای بهتر است نه نتیجه نوشتن برنامه به زبان اسمبلی .
همچنین اگر چه سیستم عاملها برنامههای بزرگی هستند ولی تنها بخش کوچکی از کد آنها, نسبت به کارایی , بحرانی(Critical) میباشد مثل
مدیریت حافظه و
زمانبندی CPU .
لذا پس از آنکه سیستم عامل به زبان سطح بالا نوشته شد و به درستی عمل کرد می توان روتین های گلوگاه (bottleneck) و مهم را شناسایی کرد و سپس آنها را با روتینهای معادل زبان اسمبلی جایگزین نمود.