系统架构
应用程序test
系统调用
内核
硬件
:系统调用+内核=操作系统
![](https://images2017.cnblogs.com/blog/1206930/201708/1206930-20170801171349474-1822101057.jpg)
在Windows下,用户应用程序并不直接调用原始的Windows操作系统服务,相反,它们通过一个或者多个子系统动态链接库(DLLs)来发起调用。
linux
![](https://images2017.cnblogs.com/blog/1206930/201708/1206930-20170801171350786-1409713496.jpg)
操作系统:
内存管理:管理内存块的分配与回收。
进程管理:为多任务而实现。(CPU)
软件(应用程序)管理:包括设备驱动程序和用户应用程序的管理。(CPU)
文件管理:负责存储介质内的信息管理。(存储管理:内存,文件,磁盘)
输入/输出设备管理:通过设备驱动程序和中断控制器。
用户管理:为多用户而实现。
图形用户接口:数据由操作系统生成,显示由显卡和显示器完成。
:软件-进程-cpu-内存-磁盘:输入输出-用户管理-图形界面
////////////////////
一个典型的CPU有运算器(算术逻辑计算单元)、控制器、寄存器等器件构成,这些器件靠内部总线相连
寄存器(CPU里面的内存,CPU里面的存储器)
//////////////////
![](https://images2017.cnblogs.com/blog/1206930/201708/1206930-20170801171351880-2042109600.jpg)
![](https://images2017.cnblogs.com/blog/1206930/201708/1206930-20170801171357583-1504902587.jpg)
![](https://images2017.cnblogs.com/blog/1206930/201708/1206930-20170801171358615-1844997428.jpg)
软件有多种,操作系统本身就是软件的集合;操作系统提供的服务程序也是软件;操作系统所管理的设备驱动程序也是软件;我们主要说的软件则是指在操作系统上层的应用程序。
软件本身只不过是有一定组织结构的文件,它包含程序代码和数据,如Windows操作系统的系统文件夹C:\Windows。当程序运行时,软件的内容就会被载入内存,通过CPU来执行。所以,软件管理的大部分其实是文件管理,还有关键的软件信息记录。
一般在Windows操作系统中,软件安装完成后,会在注册表里面增加许多安装信息,以及软件的配置信息。并且许多软件修改注册表后,需要重新启动操作系统才能生效;而在Unix/Linux系统中,并没有注册表的概念,在每个软件的安装目录一般都会有一个*.config文件,用来记录软件的配置信息,且不需要重启系统也可以执行。
Windows系统中,通过控制面板的“添加/删除程序”服务可以轻松查看并卸载软件;Linux中也有类似的功能,即“RPM软件包管理”(RPM: RedHat Package Manager,由红帽Linux开发的一款软件管理工具)。