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



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

  

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

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


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


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


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




  

相关话题

  如何看待王垠对于内存管理的理解? 
  为什么现在大多数手机开机后不能直接使用指纹? 
  windows有更方便的IDE进行开发, 为什么互联网公司的服务器还是用linux? 
  怎样写出一个更快的 memset/memcpy ? 
  为什么有些usb数据线时间长了就不能再传输数据了? 
  学习编译原理有什么好的书籍? 
  一般编程的时候,使用汇编能比使用高级语言(比如C,C++,java等)有更高的运行效率吗?高能高出多少呢? 
  长期使用 macOS 的人再回来用 Windows 的时候会有什么不适应? 
  程序出现bug是必然出现的情况还是程序猿水平有限导致的? 
  最近win11发布说兼容安卓,里面会不会有“com.android.xxx”的代码,是不是安卓套壳? 

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





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利