首页 > 编程语言 >《程序是怎样跑起来的》操作系统与应用程序的关系

《程序是怎样跑起来的》操作系统与应用程序的关系

时间:2024-02-23 17:11:25浏览次数:21  
标签:操作系统 编程语言 管理 程序 应用程序 硬件 磁盘

首先,作者强调了操作系统作为应用程序与硬件之间的桥梁的角色。在早期的计算机系统中,程序员需要直接使用机器语言编写程序来控制硬件。然而,随着计算机系统的复杂性不断增加,这种直接控制硬件的方式变得既繁琐又容易出错。因此,操作系统应运而生,它提供了一组统一的接口和抽象层,使得应用程序无需关心底层的硬件细节,只需通过系统调用(system call)等方式间接控制硬件。

操作系统通过为应用程序提供运行环境,实现了对硬件的抽象和封装。例如,文件是操作系统对磁盘媒介空间的抽象化,应用程序通过文件操作接口(如打开、读取、写入、关闭等)来与磁盘进行交互,而无需关心磁盘的物理结构和读写细节。这种抽象和封装不仅简化了应用程序的开发和维护,还提高了系统的安全性和稳定性。

此外,操作系统还为应用程序提供了各种服务和资源的管理功能。例如,进程管理负责控制应用程序的执行过程,确保它们能够按照预期的方式运行;内存管理负责为应用程序分配和管理内存空间,确保它们能够获得足够的资源来执行;设备管理负责控制输入输出设备,确保应用程序能够与外部世界进行交互。这些服务和资源的管理功能为应用程序提供了一个稳定、安全、高效的运行环境。

同时,作者还介绍了高级编程语言如何通过编译器和操作系统进行交互。高级编程语言使用函数名来间接控制硬件,这些函数名在编译时被转换成相应的操作系统系统调用。这种机制使得高级编程语言能够充分利用操作系统的功能和资源,提高应用程序的开发效率和可移植性。

标签:操作系统,编程语言,管理,程序,应用程序,硬件,磁盘
From: https://www.cnblogs.com/sunshaohan/p/18029986

相关文章

  • 《程序是怎么跑起来的》第3章读书笔记
    经过前两章对计算机内容最基本的理解之后,就迎来了对计算机的计算,而计算机也不是万能的,它也会出现错误,那么就涉及到计算机在计算小数时会出现错误的原因,首先课题通过一个问题将0.1累加100次的结果不是10这一话题成功将读者引入进去。然后告诉了我们为什么在计算机中会这样子出错的......
  • 《程序是怎样跑起来的》第六章
    当我翻阅到“亲自尝试压缩数据”这一章节时,我被作者深入浅出的叙述和丰富的实践案例所吸引。这部分内容不仅是对数据压缩概念的讲解,更是一次思考与实践相结合的完整体验。阅读完毕后,我对于数据压缩技术的理解有了全新的认识,也对这项技术背后蕴含的智慧感到赞叹。本章重点介绍了压......
  • 程序员怎么做沟通?聊一聊程序员沟通相关的问题
    一、程序员不善言词在大家的印象中,程序员好像是一群不善言词的理工男。为什么大家会有这种刻板的印象呢?因为程序员的工作,只需要一台电脑,一根网线,就可以开始工作了。好像不需要与人打交道。一段进入到工作状态,编码的时候还不希望被别人打扰,其实是编码思路不愿意被打断。这时候,他......
  • 《程序是怎样跑起来的》第九章
    第九章带我深入理解了程序的执行过程,让我对计算机的底层操作有了更加直观的认识。编译是将源代码转换为机器码的过程,而链接则是将各个编译后的目标文件组合起来,形成一个可以执行的程序。这两个过程虽然复杂,但它们是程序能够正常运行的关键。我学到了许多关于程序优化的知识。程......
  • 通过汇编语言了解程序的实际构成
    1.汇编语言和本地代码是一一对应的。即使使用汇编语言编写的源代码,最终也必须转换成本地代码才能运行。负责转换工作的程序称为汇编器,转换这一处理本身称为汇编。2.通过编译器输出汇编语言的源代码。3.不会转换成本地代码的指令的伪指令:汇编语言的源代码,是由转换成本地代码的指......
  • 操作系统和应用的关系
    1.操作系统功能的历史:在计算机中尚不存操作系统的年代,于是开发出仅具有加载和运行的监控程序。这就是操作系统的原型。操作系统本省并不是单独的程序,而是多个程序的集合体。2.要意识到操作系统的存在:那样在遇到问题是,就能够找到解决方案。3.系统调用和高级编程语言的移植性:操作......
  • 《程序是怎样跑起来的》第十二章
    心得:在本章我们通过一个简单的游戏程序《猜拳游戏》,对计算机的“思考”机制进行了详细的说明知识点:1、“工具”程序和“思考”程序程序就如同是由计算机执行的各种指令罗列起来的文章。计算机内部的CPU通过对该文章的内容进行解析和运行,来控制连接到计算机的各种外围设备。具体......
  • 操作系统复试笔记
    第三章进程管理进程间直接通信方式:管道、共享内存进程间间接通信方式:消息队列、文件、信箱、信号量公用队列属于临界资源CPU繁忙型作业类似于长作业,需要耗费大量处理机时间,故先到先服务算法有利于CPU繁忙型作业;IO繁忙型作业类似于短作业,需要频繁请求IO操作而被阻塞,占用CPU的......
  • 《程序是怎样跑起来的》——第十章读后感
    一:1.汇编语言是使用助记符来编写程序的。2.汇编需要使用汇编器来完成。3.通过反汇编可以得到人类能够理解的源代码。4.汇编语言源文件的扩展名在Windows中主要是asm,在Limu中主要是s。不过,本章中使用的C语言编译器BCC32虽然是在Windows环境下运行的,但使用了s作为汇编语言源......
  • 使用C# WPF写简单的桌面应用程序
    前言微软真是永远滴神,VisualStudio不愧是宇宙第一IDE,C#相比Java真的是语法简洁优雅案例实现了一个快速重命名的小程序,打包完以后的exe不到200KB,比Java轻的不是一点半点,而且在windows上执行效率很高,直接就可以在windows双击运行创建项目VisualStudio安装选择WPF选择.......