操作系统,本质为软件,直接与硬件交互,操作系统管理与服务应用进程,应用难以脱离操作系统单独运行,避免单进程独占资源,卡死操作系统与避免被卡死

一、操作系统管理硬件资源、控制程序运行,改善人机界面,为应用软件提供支持的一种系统软件,是位于硬件和应用之间的软件层,
理解一下:
1、操作系统本身也是软件,不过是直接与硬件进行交互,并封装硬件提供的接口以向上层应用提供服务的,就像计算机网络服务中的层次关系一样,操作系统负责屏蔽下层(硬件层)的差异,并向上层(应用层)提供统一的服务接口。
2、操作系统的核心功能是将有限的,离散的硬件资源,高效的抽象为无限的,连续的资源
3、站在软件的角度看,操作系统就是将硬件的资源虚拟化,提供用于编程的接口
4、结构上,操作系统=操作系统内核+系统框架

二、操作系统对应用提供管理和服务功能
1、服务的目标:单个应用的运行效率最大化
2、管理的目标:系统的资源整体利用率最大化
3、面向不同的场景,有不同的效率性和公平性的需求

三、操作系统为应用提供的服务:
1.存储可执行文件,并提供不同的存储选项
2.将可执行文件加载到CPU中运行,通过可执行文件生成进程
3.执行可执行文件中的运算等操作
4.多个应用同时执行时进行进程资源的管理

四、操作系统提供的一些具体服务(抽象)
1、计算上:
CPU:cpu的计算能力由操作系统分配给进程,具体分配的数量和份额不受物理CPU的限定。
内存:虚拟内存,为进程在非连续的内存空间上模拟出连续的虚拟内存,存放进程运行时产生和需要用到的资源,例如堆空间,栈空间,静动态库等
I/O设备:将各种设备的差异屏蔽调,统一抽象为“文件”,提供统一的对文件的读写接口
2、线程同步资源:
应用层面可以实现自己的同步工具(如spinlock)
操作系统提供了更加高效的同步工具(如pthread_mutex)
3、进程间通信:
应用可以利用网络进行进程间通信(如loopback设备)
操作系统提供了更加高效的本地通信机制(如pipe管道工具)

五、操作系统对应用的一些具体管理:
1、应用生命周期管理
应用的加载,迁移,销毁等操作
2、计算资源分配
CPU:线程之间的调度机制
内存,物理内存的分配
IO设备:设备的复用与分配
3、安全与隔离
应用进程内部:访问控制机制
应用进程之间:隔离机制,包括错误隔离和性能隔离

六、应用进程难但可以脱离操作系统单独存在:
1、在一些对性能效率要求比较严苛的情况下可能会想到让硬件设备只运行一个进程,
2、一般的进程在运行时需要操作系统对其运行同步的日志服务,调试服务啥的
3、如果单个进程能将自己运行,扩展,调试需要的所有功能全部包括,就不需要依赖操作系统独自运行了。

七、操作系统避免流氓进程独占所有资源:
方法:每10ms发送一个中断来决定下一个要进行的任务,
方法:通过信号量等打断任务执行:kill -9 pid

八、卡死一个OS:
不断fork进程耗光系统的资源。

九、防止OS被卡死的方法:
1、资源配额cgroup/Linux
2、虚拟化:虚拟机运行程序,只卡死虚拟机
3、万能方法:重启
4、制度约束:AppStore的程序预审准入机制

操作系统,本质为软件,直接与硬件交互,操作系统管理与服务应用进程,应用难以脱离操作系统单独运行,避免单进程独占资源,卡死操作系统与避免被卡死相关推荐

  1. android pc 操作系统,Bliss OS 12:可在PC上运行最新的Android 10移动操作系统

    Bliss OS是一个基于Android-x86项目的开源操作系统,能让您在任意Linux,windows或Chromebook PC或平板电脑设备上运行最新的Android 10移动操作系统.该系统 ...

  2. 5.计算机发展个人理解-电路终究是电路 软件如何控制硬件 代码如何操作硬件 硬件是怎么执行代码 代码如何执行 软件与硬件如何交互 计算机思维 抽象 封装 规范 屏蔽 协议分层...

    计算机只是逻辑电路 除了电路还是电路 计算机就是一堆逻辑电路 他并不知道你到底想要干什么,他也不会理解什么是文件,什么是进程 通电的瞬间,就好像你打开开关,灯泡发光一样 所有的一切都是通过通电来启动的 ...

  3. 软件如何控制硬件、编译器和操作系统是否需要编译

    软件如何控制硬件.编译器和操作系统是否需要编译 ----作者:山野子 QQ:814577355 注:相信很多人都会有跟我一样的疑问,那就是软件如何控制硬件.编译器和操作系统是 否需要编译?为了解决这个 ...

  4. jvm是运行在操作系统之上的,他和硬件没有直接的交互

    jvm是运行在操作系统之上的,他和硬件没有直接的交互

  5. 智能音箱硬件和软件介绍[上] 硬件结构解析[Soomal]

    科大讯飞 VBOX 智能音箱 - 电路板 Google 谷歌 Google Home 智能音箱 从2014年起,我们先后通过自购和合作厂商获得多个智能语音识别"流派"的品牌音箱产品 ...

  6. 服务器操作系统加固厂家,服务器操作系统安全加固软件

    服务器操作系统安全加固软件 内容精选 换一换 已成功登录Java性能分析.待安装分析辅助软件的服务器已开启sshd.Java性能分析优先选用非交互shell(non-interactive shell ...

  7. 软件RAID与硬件RAID的区别

    近年来,企业继续在其存储基础架构中添加基于软件的组件.这包括RAID,以最大限度地提高存储容量并降低数据丢失的风险.而有些企业正在从硬件RAID转向软件RAID阵列. 软件RAID和硬件RAID之间的 ...

  8. 以后国产手机都要装鸿蒙系统吗,如果华为发布鸿蒙手机操作系统,国产软件会能用吗,形成一个生态系统吗?...

    如果华为发布鸿蒙手机操作系统,国产软件会支持吗,形成一个生态系统吗?先来说下答案,国产软件厂商肯定会支持,但系统生态短时间内很难成熟起来. 最新的消息称,谷歌已经暂时停止了与华为的合作.尽管谷歌与其他 ...

  9. 计算机硬件配置和软件有哪些,BIM软件对电脑硬件配置有什么要求?

    BIM软件对电脑硬件配置有什么要求?这是很多学习BIM软件的小伙伴经常会提到的问题,BIM主要基于三维工作方式,其建筑模型文件大小从几十MB至上千MB,故对电脑硬件的计算能力和图形处理能力等,都提出很 ...

最新文章

  1. perl:正则表达式部分
  2. Git Workflow工作流示意图
  3. ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性
  4. 使用 SSH 免密码登录连接远程服务器
  5. C++之map的前后遍历
  6. Java Float类详解
  7. ipv4转换ipv6工具_IPv4与IPv6的区别,不仅仅是地址变长而已
  8. 从程序员到软件设计师
  9. The block problem poj1208
  10. Openstack(十四)创建虚拟机
  11. Debian stretch failed to load firmware rtl_nic/rtl8168g-3.fw (-2)
  12. Windows自建虚拟机搭建kms激活服务器激活正版系统教程
  13. 致谢zyf2000,仅是你的备份,留念和记录学习C++的足迹
  14. 招聘网站数据分析岗位数据分析(Excel实现)
  15. app上线发布流程_完整iOS APP发布App Store上架流程
  16. Windows10彻底关闭休眠功能
  17. android瀑布流插件,jQuery瀑布流插件 Masonry
  18. 计算机平面设计福建专科学校,2016年福建单招视觉传达设计专业的学校有哪些?...
  19. fatal: No url found for submodule path ‘xxx‘ in .gitmodule
  20. 大型B2C网站如何做好EDM营销

热门文章

  1. 【模型蒸馏】TinyBERT: Distilling BERT for Natural Language Understanding
  2. 来自一个入行三年半的大数据练习生自述
  3. python拼接字符串的方法,Python2中文字符串拼接
  4. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下的是原来第几号的那位。(*)
  5. 【UnityShader】云海效果模拟与视差映射
  6. 笔记本出现数字小键盘怎么解决,出现方形带斜杠123
  7. 20144303石宇森 《信息安全系统设计基础》第13周学习总结
  8. 5类适合参加IT培训的人,你在其中吗?
  9. 菜鸟网html dom对象,JavaScript学习指南
  10. *uni-app之H5端跨域问题解决方案