百科问答小站 logo
百科问答小站 font logo



程序在编译的时候,会转换成汇编,然后是机器指令,那么运行的时候,操作系统充当什么呢? 第1页

  

user avatar   s.invalid 网友的相关建议: 
      

你大学毕业了,能独立自主了,是不是从此就可以六亲不认无君无父无政府了呢?


同样的,二进制的机器指令文件仍然要通过一定的手法使用操作系统提供的服务。这些服务可以帮助你和网络通讯(而不需要自己实现TCP协议栈那一筐一筐的算法)、可以让你轻易的访问磁盘(而不需要自己搞明白上面有多少个扇区、哪个扇区有内容不能覆盖、怎么组织数据读写速度快不容易出碎片、万一突然断电如何恢复数据避免文件系统被捣毁)……


除非你不使用操作系统提供的任何服务——包括把你的可执行文件加载进内存并跳转到第一条指令的服务——自己实现一切的一切;否则,你照样需要军队来保护你不受侵略、警察来保护你不被抢被杀被奴役、淘宝来卖给你各种好用的货物、快递公司给你把货物送到手……并且,你看不见的,每一件货物都需要工厂生产、每一家工厂都要采购原料、所有原料都来自各种矿业公司/化学合成公司……


除非你一个人实现这所有,你才能真正脱离社会,成为一个自由自在的……野人。




  

相关话题

  当初Linux的作者想写一个操作系统,结果全世界外国人帮他写完;如今我也想写一个,为啥国内没人帮我? 
  如何评价鸿蒙OS运行游戏时被检测为模拟器登陆? 
  C盘分区很大没事吗? 
  在 CPU 中集成 FPGA 等可编程电路的想法如何? 
  操作系统内核态和用户态切换落实到代码层面和运行层面的本质是什么? 
  能否借鉴哈佛架构在OS内存管理机制层面实现两块隔离区域分别存放指令和数据以抵抗堆栈溢出等安全问题? 
  如果华为推出自主操作系统,作为开发者的你会予以支持吗? 
  仅仅从好玩程度考虑,做编译器或操作系统哪个更有趣味? 
  为何中国有相当一部分 Windows 用户不愿意用 Windows 10? 
  你怎么看待华为与它的鸿蒙OS? 

前一个讨论
没有信息输入,人还能思考吗?
下一个讨论
C++中 int n = 0ULL - 1; 是 UB 未定义行为吗?





© 2025-01-18 - tinynew.org. All Rights Reserved.
© 2025-01-18 - tinynew.org. 保留所有权利