面试官问我为什么要有操作系统这个东西,一定要有操作系统吗?支支吾吾没答出来,特此记录。
查阅了相关资料:
不一定必须要有操作系统,比如单片机裸机开发时就不需要操作系统,开发人员可以编写代码直接访问硬件。
操作系统都支持多任务,同时可以运行很多个程序,如果允许程序直接访问系统资源,肯定会带来很对问题,是不安全的。因此,所有软硬件的资源和管理分配都由操作系统负责,即用户程序向操作系统发出服务请求,操作系统收到请求后执行相关的代码来处理。
linux系统接口调用大致可分成:进程控制、进程间通信、文件系统、存储管理、网络管理、套接字控制、用户管理等。
实际开发中为什么不使用系统调用接口,而是使用用户程序编程接口?
1)系统调用接口功能非常简单,无法满足程序的要求
2)不同的操作系统的系统调用接口不兼容,程序移植时工作量大
最后:反思一下我自己,面试时候好像脑干被挖了,这些文邹邹的词就整不上来,憋半天就来一句因为操作系统好。真是找不着工作该。最后陶冶陶冶情操,附个绝句
击石乃有火,不击元无烟。
人学始知道,不学非自然。 --[唐]孟郊