84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
如果将操作系统理解为一个安装在电脑上管理cpu等硬件的大型软件,那么安装(运行)在操作系统上的软件,是在操作系统的帮助下直接更改硬件状态,还是更改大软件(操作系统)的状态之后,间接对硬件进行操作?
人生最曼妙的风景,竟是内心的淡定与从容!
我觉得是第二种。跟硬件相关的操作,通常是操作系统内核才有权限进行的,应用程序不能直接操作硬件。
以读磁盘文件为例:
应用程序进程发起read系统调用。
CPU进入内核态,执行相应的内核代码,进行读操作。
操作完成后,返回用户态,继续执行后面的代码。
个人浅见,如有错误请指正。
操作系统最早就是设计出来用于管理硬件的软件,它封装了很多接口。比如我们熟知的POSIX。这是操作系统的扩展机功能。操作系统的另一个功能就是资源管理,对软硬件的资源分配。扯的有点远。我也觉得是第二种。跟硬件相关的操作,只有管态才可以执行。
我觉得是第二种。
跟硬件相关的操作,通常是操作系统内核才有权限进行的,应用程序不能直接操作硬件。
以读磁盘文件为例:
应用程序进程发起read系统调用。
CPU进入内核态,执行相应的内核代码,进行读操作。
操作完成后,返回用户态,继续执行后面的代码。
个人浅见,如有错误请指正。
操作系统最早就是设计出来用于管理硬件的软件,它封装了很多接口。比如我们熟知的POSIX。这是操作系统的扩展机功能。
操作系统的另一个功能就是资源管理,对软硬件的资源分配。扯的有点远。
我也觉得是第二种。
跟硬件相关的操作,只有管态才可以执行。