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



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

  

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

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


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


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


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




  

相关话题

  学习 Linux 有哪些好处? 
  电脑如何自动开启程序并自动输入账号密码登陆?(PS:不借助外界软件,公司有限制) 
  Windows 没有 mac OS 流畅吗,为什么? 
  VS2010编x64程序和编x86程序用的是同一套lib? 
  有没有人能将知乎上的技术大牛都组织起来,做一个开源项目?比如实现一个CoreOS这样的东东 
  gettimeofday实现原理,该接口是如何和HPET配合实现微秒精度时间的获取的? 
  同是主流操作系统,为什么macOS没有盗版系统而Windows到处是盗版? 
  不想随大流,怎么选择有个性的操作系统? 
  程序中的堆和栈大小是动态变化的,还是相对固定的? 
  操作系统里面经常说的一个功能用「软件实现」还是用「硬件实现」,其本质区别是什么? 

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





© 2025-04-16 - tinynew.org. All Rights Reserved.
© 2025-04-16 - tinynew.org. 保留所有权利