操作系统

操作系统

关于服务器硬件方面小编就不多写了。内存、显卡、硬盘存储、PCI适配卡、主板(感兴趣的可以查阅相关资源看下)主要个人对CPU感点兴趣~~

那么在接触一个新系统之前你有对操作系统这个概念的理解么

在早期想要计算机执行程序你就得要参考一堆硬件功能函数,还得要学习机器语言才能编写程序,而且每次写程序时还得要重新改写,主要由于硬件与软件功能不一定都一致,这里你就会想,如果能够将所有的硬件驱动,并提供一个开始软件的参考接口来给工程师开发软件的话,那岂不是非常简单,这里就出现了操作系统。

操作系统其实也是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件;操作系统可以让CPU判断逻辑与运算数值,让内存可以开始加载/读出数据与程序代码,让硬盘被访问等等,硬件的所有操作都必须通过这个操作系统来完成。上述说的就是操作系统的内核,主要在于管理硬件与提供相关的能力,内核程序所放置到内存当中的区块是受保护的,而且开机后就一直常驻在内存当中。

光有内核不行,你还得操作它,这就需要软件了。相关的软件开发就是从原来的参考硬件函数变成参考内核功能。操作系统会提供一整组的开发接口给工程师来开发软件,只要遵守该开发接口就容易开发软件了,这也叫做系统调用。

这里就是一个层层包含关系,应用程序(系统调用(内核(硬件))),硬件最里面然后内核,系统调用,最外面就是应用程序,操作系统包括内核与系统调用;这里的应用程序的开发都是参考操作系统提供的开发接口,所以该应用程序只能在该操作系统上运行,这里知道一些Game不能在Linux上玩了吧

总结一下内核功能:

系统调用接口:就是方便程序员与内核通信,将硬件的资源进一步的利用,通过这个接口文便程序开发者

程序管理:计算机可能要同时运行很多任务,内核这个时候要能控制这些工作,让CPU的资源有效分配

内存管理:控制整个系统的内存管理,系统所有的程序代码与数据都必须要先存放在内存当中;虚拟内存就是由内核提供,当内存不足时可以提供内存交换(swap)的功能

文件系统管理:数据的输入/输出等工作,不同文件格式的支持等

设备驱动:硬件的管理是内核的主要工作之一,设备的驱动程序就是内核需要做的事情

总结:操作系统仅在于驱动与管理硬件,而要使用硬件时,就得需要通过应用软件或者是SHELL的功能来调用操作系统操纵硬件工作。