هر دستگاه ورودی یا خروجی برای کار کردن به مجموع دستورالعملهایا علامتهای کنترلی خاص خود نیاز دارد .
سیستم به این جزئیات پرداخته و برنامه نویس یا کاربر را از دانستن و پرداختن به این ارتباطات سطح پایین بی نیاز میسازد .
مدیریت بافرها ,
اسپولینگ , اجرای
درایورهای وسایل مختلف ,جلوگیری از تداخل
وسایلI/O و اداره بن بستها در تخصیص وسایلI/O به پردازشها از وظایف سیستم عامل است .
علاوه بر چهار وظیفه اصلی فوق , سیستم عامل وظایف فرعی و جنبههای دیگری نیز دارد. از جمله این وظایف تشخیص خطا میباشد .
این خطاها میتواند در
CPU و
حافظه (مثل خراب شدن بیتی از حافظه),در وسایلI/O(مثل
نویزی که بر روی کابل
پرینتر افتاده یا مثلاً چاپگر کاغذ نداشته باشد )یا در برنامه کاربر(مثل خطای سرریزی یا دسترسی به
پورتها یا حافظههای غیر مجاز) رخ دهد. سیستم عامل باید برای هر نوع خطا عمل مناسبی را انجام دهد .
همچنین سیستم عامل میتواند سیستم حسابرسی داشته باشد تا مشخص گردد هر کاربر از کدام منبع به چه مدت زمانی استفاده کرده است . این اطلاعات میتواند جهت صدور صورتحساب و یا جمع آوری آمارهای کاربران مورد استفاده قرار گیرد.
سیستم عامل میتواند برای ایجاد مکانیزمهای محافظتی برای هر کاربر تقاضای رمز ورود(password) را بکند و بدین ترتیب متناسب با هر کلمه رمز , امکانات معینی از سیستم را در اختیار آن کار بر قرار دهد