面试官问我为什么要有操作系统这个东西,一定要有操作系统吗?支支吾吾没答出来,特此记录。

查阅了相关资料:

不一定必须要有操作系统,比如单片机裸机开发时就不需要操作系统,开发人员可以编写代码直接访问硬件。

操作系统都支持多任务,同时可以运行很多个程序,如果允许程序直接访问系统资源,肯定会带来很对问题,是不安全的。因此,所有软硬件的资源和管理分配都由操作系统负责,即用户程序向操作系统发出服务请求,操作系统收到请求后执行相关的代码来处理。

linux系统接口调用大致可分成:进程控制、进程间通信、文件系统、存储管理、网络管理、套接字控制、用户管理等。

实际开发中为什么不使用系统调用接口,而是使用用户程序编程接口?

1)系统调用接口功能非常简单,无法满足程序的要求

2)不同的操作系统的系统调用接口不兼容,程序移植时工作量大

最后:反思一下我自己,面试时候好像脑干被挖了,这些文邹邹的词就整不上来,憋半天就来一句因为操作系统好。真是找不着工作该。最后陶冶陶冶情操,附个绝句

击石乃有火,不击元无烟。

人学始知道,不学非自然。  --[唐]孟郊

为什么不允许程序直接访问计算机资源?相关推荐

  1. java 调用url_java程序中访问url接口

    在多人开发项目中,我们经常要在自己程序内部调用别人的http请求接口,主要通过流的方式进行调用,最近项目中经常用到,写了个访问接口如下: /** * 程序中访问http数据接口 */ public S ...

  2. 在ASP程序中访问Access数据库

    嵌入式培训教程 在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了.而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使 ...

  3. CentOS提示另一个目前运行的程序正在访问软件信息

    原因是: yum-updatesd服务一起的,这个服务会时不时的访问网络,如果卡住了,同时你又在运行yum,就会总是提示你另一程序在访问软件信息 用 rm -f /var/run/yum.pid 杀掉 ...

  4. iphone健康数据统计_如何控制哪些应用程序可以访问iPhone的健康数据

    iphone健康数据统计 Your iPhone knows a lot about your health, especially if you use apps like MyFitnessPal ...

  5. mye连接mysql数据库_MySQL_如何在Java程序中访问mysql数据库中的数据并进行简单的操作,在上篇文章给大家介绍了Myeclip - phpStudy...

    如何在Java程序中访问mysql数据库中的数据并进行简单的操作 在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据 ...

  6. Web站相关知识与Web程序的访问流程

    一.网站一些概念 1. 网页是什么? 网页其实就是放在服务器上的一个文件,当我们浏览网页时,这个文件会被下载到我们本地的电脑,然后再由浏览器解析,渲染出各种漂亮的界面,比如表格.图片.标题.列表等.网 ...

  7. 在Java 应用程序中访问USB设备

    Java 平台一直都以其平台无关性自豪.虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂.在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java ...

  8. VMware Workstation 无法连接到虚拟机。请确保您有权限运行该程序、访问改程序使用的所有目录以及访问所有临时文件目录。未能将管道连接到虚拟机: 所有的管道范例都在使用中。

    现象: 虚拟机无端出现,VMware Workstation 无法连接到虚拟机.请确保您有权限运行该程序.访问改程序使用的所有目录以及访问所有临时文件目录.未能将管道连接到虚拟机: 所有的管道范例都在 ...

  9. Adobe安装程序无法访问关键文件/目录,请尝试重新安装。(错误代码:41) 解决方法

    很多小伙伴表示在安装 Adobe 软件的时候出现会出现Adobe安装程序无法访问关键文件/目录,请尝试重新安装.(错误代码:41) 提示,接下来小编就为您带来了解决方法,快来看看吧! Adobe 错误 ...

最新文章

  1. 即时通讯下数据粘包、断包处理实例(基于CocoaAsyncSocket)
  2. 【ACM】UVA - 340 Master-Mind Hints(一定要好好学英语...)
  3. php swfupload handlers.js,swfupload使用代码说明
  4. ROS知识【12】:用户的功能包覆盖系统功能包
  5. 前端框架 渐进式框架
  6. java实现磁盘分配显示_Java实现窗体动态加载磁盘文件
  7. arm-2009q1-203-arm-none-linux-gnueabi.bin安装方法
  8. android 友盟推送获取不到devicetoken,使用友盟消息推送中遇到的哪些问题--索引(开发者必读)...
  9. redis集群环境搭建入门
  10. 微博爬虫思路:Python通过移动端接口爬取,简单易操作
  11. 使用H5编写网页版象棋(源码)
  12. Androi事件分发( 二),解决事件冲突
  13. 计算机出国培训,新海岸出国
  14. 金刚kk-1024说明书_金刚-恐龙追逐场景
  15. [媒体分流直播]媒体直播和传统直播的区别,以及媒体直播的特点
  16. 做“云”,京东云是认真的!
  17. vue仿京东放大镜加商品缩略图轮播组件
  18. 用STC-ISP下载程序,打开程序后软件提示 Data Memory contain datas. Data Memory 空间有数据
  19. BIM建模助手上线一周,已有236支战队参加了这场有奖公测活动!
  20. 用cookie简易实现购物车加购过程(详细教程)

热门文章

  1. 万维考试系统python题库答案_万维试题库系统官方下载
  2. 2Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
  3. google浏览器被2345地址更改
  4. 常见的进制和进位规则
  5. Keil5/MDK结构体无法自动指示成员变量
  6. 商业邮箱申请方法及建议
  7. SATA FPGA IP CORE verilog驱动开发
  8. Java构造之builder模式
  9. oracle undoautotune,Oracle隐藏参数:_undo_autotune
  10. 给定一个集合,输出它的所有子集