为什么需要操作系统
现代计算机系统由处理器、主存、总线等多个硬件组成,而同一种硬件不同的制作者也使其借口、规格各不相同。这让应用程序的编写十分困难,而且对于不同的平台,应用程序必须重新编写,这让程序的兼容性十分差,编程成本非常高。
操作系统的出现为应用程序提供了统一的接口,将底层丑陋的硬件接口抽象为更简单、通用的接口。令应用程序专注于功能的编写,而不是平台的兼容。
什么是操作系统
多数计算机程序有两种运行模式:内核态和用户态。操作系统是软件中最基础的部分,运行在内核态。
内核态:具有最高的权利,对硬件具有完全访问权,可以执行机器能够执行的所有命令。
用户态:普通用户见到的程序通常都运行在用户态。对于资源访问受到极大的限制,权利非常低。当需要执行自己无权或无能力的命令时,需要通过调用申请资源。
操作系统为用户提供用户接口程序,为程序提供抽象,同时也作为资源管理者。