یک کاربر و یک اپلیکیشن نمی‌توانند به صورت مستقیم با سخت‌افزار در ارتباط باشند زیرا زبان سخت‌افزار را بلد نیستند. به همین دلیل به یک واسطه بین آنها نیاز است که آن واسطه را سیستم‌عامل(OS) می‌گویند. سیستم‌عامل به صورت تصویری امکاناتی را در اختیار شما قرار می‌دهد. مثلا با یک کلیک بر روی علامت ضربدر، پنجره بسته می‌شود. در پشت قضیه، یک سری کد توسط سیستم‌عامل ساخته شده و به سخت‌افزار فرستاده می‌شود تا منظور شما به سخت‌افزار فهمانده شود. سیستم‌عامل‌های زیادی وجود دارند. ویندوز، لینوکس، مکینتاش(مک) برای کامپیوتر. اندروید، جاوا، ویندوز فون، سیمبین و IOS برای گوشی. هر کدام از سیستم‌عامل‌ها امکانات خاصی را فراهم می‌کنند و یک برنامه برای اجرا، نیاز به این امکانات دارد. مثلا اگر یک ویروس قرار است در ویندوز اجرا شود باید پیش‌نیازهایی را در اختیار داشته باشد. نکته مهم اینجاست که مثلا ویروس ویندوز در اندروید نمی‌تواند اجرا شود زیرا پیش‌نیازهای آن فراهم نیست. پس ویروس هیچ سیستم‌عاملی در در سیستم‌عاملی دیگر کار نمی‌کند حتی اگر تمام فایل‌ها ویروسی باشند.