操作系统是管理计算机硬件资源的软件,可将操作系统看作资源分配器(resource allocator),这些资源可能包括:CPU时间、内存空间、文件存储空间、I/O设备等。操作系统管理这些资源,面对许多甚至冲突的资源请求时,操作系统应考虑如何为各个程序和用户分配资源,以便计算机系统能有效且公平地运行。
操作系统由内核(kernel)、系统程序(system program)构成。
当计算机电源打开或重启的时候,需要一个初始程序或引导程序,此初始程序或引导程序被称为固件(firmware),此固件存储在 只读内存(Read-Only Memory,ROM)或 电可擦可编程只读内存(Electrically Erasable Programmable Read-Only Memory,EEPROM)中。
计算机会按照固件内的只读程序,将 CPU寄存器、设备控制器等计算机组件加载到内存(main memory)中。
紧接着将操作系统内核加载到内存(main memory),除了内核外,还会加载一些服务(系统程序)到系统进程(system process)或系统后台程序(system daemon),在Unix中,首个系统进程为”init”,至此操作系统启动完毕,等待事件发生。
事件通过硬件或软件的 中断(interrupt) 来通知。硬件可以随时通过公共总线发送信号到CPU,以触发中断。软件也可以通过系统调用(system call),以触发中断。
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/linux/os/12023.html