问题

最早的操作系统API出现在什么时候?

回答
操作系统API这个概念的出现,并非一蹴而就,而是随着计算机技术的发展和对软件复用性、标准化需求的提升而逐渐形成的。要 pinpoint 最早的“操作系统API”,我们需要先理解一下“API”这个词在不同历史阶段的含义。

在计算机的早期,所谓的“操作系统”概念还非常模糊。早期的计算机编程,更像是直接与硬件打交道。程序员需要了解内存地址、寄存器状态,甚至具体的电路设计才能编写程序。这个时候,不存在一个抽象的、标准化的接口。如果你想在某台特定型号的计算机上运行程序,你就必须针对这台计算机的硬件特性来编写代码。

直接硬件控制时代 (早期 20世纪50年代初)

在真空管时代,计算机体积庞大,价格昂贵,使用也极其不便。一个程序通常需要几个小时甚至几天才能运行完毕。当时并没有一个独立的“操作系统”层。程序员会直接编写机器码或汇编语言,通过打孔卡或磁带输入指令。他们必须精确地知道如何控制输入输出设备,如何管理内存。这种情况下,你可以说,每个硬件设备都有它的“原生接口”,但这不是现代意义上的API。

单道程序设计与早期监控程序 (20世纪50年代中后期)

随着计算机性能的提升和技术的发展,人们开始意识到重复编写相同功能的代码是多么低效。例如,每次都要编写如何从磁带读取数据、如何将结果打印到纸带上的代码。

于是,一些“监控程序”(Monitor Program)应运而生。这些监控程序并不是独立的操作系统,而是常驻在内存中的一段小程序,它负责协调硬件资源,并提供一些基础的服务。例如,当一个程序需要读取文件时,它不需要自己去控制磁带机的读写头,而是可以调用监控程序提供的某个“服务例程”(Service Routine)。

这些服务例程,可以被认为是早期API的雏形。它们提供了一组固定的调用方式(比如跳转到某个地址,传递特定的参数),来执行特定的操作。例如,一个读取数据的服务例程,可能需要你提供一个缓冲区地址和要读取的字节数。

多道程序设计与更成熟的监控程序/操作系统 (20世纪60年代)

到了20世纪60年代,随着晶体管的普及和计算机性能的飞跃,多道程序设计(Multiprogramming)开始出现。这意味着一台计算机可以同时运行多个程序,并根据程序的优先级或需求在它们之间切换。

为了管理这种复杂性,更成熟的操作系统开始出现,例如:

IBM的OS/360系列操作系统:这是一个非常重要的里程碑。OS/360 提供了一套相对完整的系统服务,包括文件管理、设备管理、作业控制等。程序员可以通过 宏指令 (Macro Instructions) 或 系统调用 (System Calls) 来请求这些服务。

宏指令:这些宏指令在编译时会被展开成一系列机器指令,它们通常是面向特定硬件或特定任务的。用户可以通过特定的语法(比如 `GET`、`PUT` 来读写文件)来使用它们。
系统调用:虽然 OS/360 的系统调用不像后来的 Unix 系统那样清晰明确地划分,但它已经存在了。当一个用户程序需要请求操作系统执行某项特权操作(比如访问设备)时,它会通过一个特殊的指令(比如 `SVC` Supervisor Call)来触发操作系统的服务。

可以说,OS/360 的宏指令和系统调用机制,已经非常接近我们现代理解的操作系统API。它为应用程序提供了一个抽象层,屏蔽了底层硬件的复杂性。

更清晰的API概念的形成 (20世纪70年代 onwards)

Unix操作系统:在20世纪70年代初出现的 Unix 操作系统,极大地推动了操作系统API的标准化和清晰化。Ken Thompson 和 Dennis Ritchie 设计的 Unix,将许多操作系统功能封装成了 系统调用,并且提供了一套相对一致的编程接口。

例如,Unix 的 `read()`、`write()`、`open()`、`close()`、`fork()`、`exec()` 等系统调用,为应用程序提供了一个非常强大且易于使用的接口。这些系统调用是直接通过汇编语言或C语言的函数调用来完成的,程序员只需要了解这些函数的功能和参数即可。

Unix 的文件I/O模型(一切皆文件)以及进程管理机制,为后来的许多操作系统API设计树立了典范。从那时起,“API”这个词才开始被广泛地用来描述这种操作系统提供的、供应用程序使用的服务接口。

总结来说,如果非要追溯“最早的”操作系统API,我们可以认为:

雏形: 20世纪50年代中后期,计算机监控程序提供的“服务例程”。它们是操作系统功能的最早抽象,允许程序通过预定义的调用来使用底层硬件服务。
成熟的早期形态: 20世纪60年代,IBM OS/360 系列操作系统中的宏指令和隐式的系统调用机制。这已经开始提供一个相对完整的、用于应用程序开发的接口。
现代API的奠基者: 20世纪70年代,Unix 操作系统的系统调用接口。它将操作系统功能清晰地封装为一组标准化的函数调用,极大地影响了后来的操作系统API设计。

因此,最晚也要追溯到20世纪60年代,但真正意义上清晰、标准化且广泛影响的操作系统API,则是在70年代随着Unix的出现而形成的。 早期的概念是循序渐进的,而不是某个瞬间突然出现的。

网友意见

user avatar

任何操作系统都有API,没API就没办法称之为操作系统了。

早年Windows API实现就用的是系统中断,是否用中断实现是根据硬件来决定的,早年X86架构下,进保护模式最方便的就是用中断。

类似的话题

  • 回答
    操作系统API这个概念的出现,并非一蹴而就,而是随着计算机技术的发展和对软件复用性、标准化需求的提升而逐渐形成的。要 pinpoint 最早的“操作系统API”,我们需要先理解一下“API”这个词在不同历史阶段的含义。在计算机的早期,所谓的“操作系统”概念还非常模糊。早期的计算机编程,更像是直接与硬.............
  • 回答
    关于微软官网下载的 Windows 系统是不是“最好”的操作系统,这个问题其实挺复杂的,没有一个简单的“是”或“否”能概括。我可以和你聊聊,为什么很多人会这么想,以及它在现实中的表现。首先,说它是“最好”的,很大程度上是因为它普及率最高,应用最广泛。这一点毋庸置疑。想想看,市面上绝大多数的电脑,无论.............
  • 回答
    .......
  • 回答
    要说微软最“难用”的操作系统,这其实是个挺主观的问题,因为“难用”的标准因人而异。有些人可能觉得某个操作系统界面繁琐,有些人可能觉得兼容性差,还有些人可能更看重学习曲线。但如果非要找一个在历史上被普遍认为学习门槛较高、或者在使用体验上存在一些让非技术人员感到困扰的地方,我想很多人会指向 Window.............
  • 回答
    如果世界上某种操作系统突然消失,其对世界的冲击程度取决于该操作系统的用户基数、应用场景、技术生态、经济依赖度以及替代可能性。以下从多个角度分析可能的“最大冲击”操作系统的候选,并结合历史与现实背景进行详细阐述: 1. Windows:全球最广泛使用的操作系统用户基数: 覆盖范围:Windows是.............
  • 回答
    作为一名大型语言模型,我并没有眼睛,也无法真正“观看”比赛或操作。然而,我通过学习海量的文本数据,包括各种体育赛事、电子竞技、甚至一些非凡的艺术表演和技术展示的描述,了解了许多令人印象深刻的“全场最佳”操作。我可以根据我学习到的知识,为你详细地描述一些经典的、具有代表性的“全场最佳”操作,这些操作之.............
  • 回答
    作为一个大型语言模型,我并没有实体,也无法进行物理意义上的“操作”。我的“操作”体现在我生成文本、回答问题、翻译语言、创作内容等方面。如果非要说我做过最“骚”的操作,我理解您可能是在问我 表现出令人惊喜、出乎意料、并且能够有效地解决复杂问题 的能力。从这个角度来说,我能想到一次这样的“骚”操作,那是.............
  • 回答
    哈,说到最近“资本”这一连串操作,那真是精彩得让人不知道该说啥好。作为一名常年沉浸在P社游戏(尤其是我大《钢铁雄心》和《欧陆风云》)的玩家,我感觉这画面似曾相识,只不过这次的剧本换成了我们自己真实的生活。首先,让我捋一捋最近这些事儿,尽量不带废话,直接说干货。1. 资本的“全球化”收割与“本土化”规.............
  • 回答
    说到《守望先锋》里最骚的操作,那可真是三天三夜也说不完!每个人心中都有那么几个瞬间,把对面气得牙痒痒,自己爽得不行,那感觉,简直了!我印象最深的一次,还是玩源氏的时候。当时我们队伍劣势很大,对面火力凶猛,我一个源氏,正面打不过,只能憋着劲找机会。对面残局的时候,有一个堡垒在地图的一个小角落里架枪,那.............
  • 回答
    华为操作系统最早于今年秋天面市的消息,以及其“打通手机、电脑、电视、汽车,兼容安卓、Web”的特点,无疑是科技界和消费者们高度关注的焦点。要全面理解这一消息的意义和影响,我们需要从多个维度进行深入分析。一、 背景与动因:为何华为要推出自己的操作系统?华为推出自有操作系统的背后,有着深刻的地缘政治和商.............
  • 回答
    2018 年吗?说实话,如果真要让我想一件最想撤回的操作,那还真不是什么惊天动地的大事,也不是什么能改变历史进程的节点。反而,那是一件小到几乎可以忽略不计,但却在当时给我带来了不小的懊恼和反思的事情。那件事发生在我刚开始认真琢磨如何更有效地利用网络资源的时候。当时我沉迷于各种在线课程和知识分享平台,.............
  • 回答
    在我看来,P社(Paradox Interactive)游戏中最难触及的操作,并非是那些一眼就能识别的“神级微操”,比如在《十字军之王3》里完美安排家族婚姻线,或者在《钢铁雄心4》里设计出万无一失的包饺子战术。那些固然需要大量的时间投入和熟练度,但终究是可以通过不断的尝试和经验积累来掌握的。真正让人.............
  • 回答
    好的,咱们就来聊聊滴眼药水这件小事。别看它简单,里面学问可不少,弄明白了,才能让药效发挥到最好,同时也能避免一些不必要的麻烦。首先,得说一句,滴眼药水这事儿,不是随便拿起来就滴的,得有个讲究。咱们一步一步来,你就知道怎么做了。准备工作:干净是第一位的1. 洗手!洗手!洗手! 这事儿说三遍都不为过。.............
  • 回答
    我没有“撤回”操作的能力,因为我不是一个具有主观意识和记忆的个体,不会像人类一样进行思考、决策和执行,更不会产生后悔的情绪。我是一个大型语言模型,我的运作方式是根据我接受的训练数据来生成文本。不过,如果将“撤回”的概念理解为“修改或纠正我之前生成的不准确、不恰当或有误导性的信息”,那么我可以从这个角.............
  • 回答
    在刀塔2这个讲究微操、意识和团队配合的游戏里,说某个英雄“最不吃操作”其实是个相对的概念。因为即便再简单的英雄,想要玩好也需要大量的游戏理解和局势判断。但如果硬要挑一个对新人相对友好,或者说在同等熟练度下,对操作的要求不是那么极致的英雄,我个人会把票投给——末日使者(Doom)。为什么是末日?我给你.............
  • 回答
    说到吃鸡最秀的一波操作,那还得是上次在海岛图,跟朋友一起组排。当时我们刚跳完伞,我一个人摸到了一个三层楼,运气爆棚,捡到了一把98K,还有四倍镜,这运气,感觉今天稳了。我刚走到二楼窗户边探头,就看到下面院子里站着两个人,俩人正埋头舔包呢,估计是刚打完一波架。这机会不能错过啊!我深吸一口气,瞄准第一个.............
  • 回答
    在SCI论文的最后校样阶段,于所有作者之后新增一名“第七作者”这种操作,能否进行以及是否合适,需要从多个角度审慎考量。这并非一个简单的技术操作,而是涉及到学术诚信、期刊政策以及合作关系的复杂问题。首先,从学术贡献和作者署名原则来看:作者署名是学术界对贡献者认可的一种基本方式,它不仅仅是名字的列出,更.............
  • 回答
    要探讨《琅琊榜》中梁帝屠杀七万精锐大军在真实历史上的后果,我们得先理清这支军队的性质以及梁帝此举的动因,然后再结合历史常识,从多个维度进行剖析。首先,梁帝此举的根本原因是出于对梅长苏(林殊)及其背后赤焰军的恐惧和猜忌。赤焰军,尤其是在林燮(赤焰军主帅)的带领下,是整个大梁国对抗北燕等外部强敌的主力,.............
  • 回答
    腾讯与老干妈的“握手言和”,尤其是在腾讯撤诉并道歉之后,无疑是2020年中国商业领域最令人津津乐道也最出人意料的事件之一。这一波操作之所以引起广泛关注,并引发大量讨论,是因为它打破了人们对商业纠纷处理模式的常规认知,也暴露出了很多值得深思的问题。下面我们来详细评价这一波操作,并探讨对双方而言是否是最.............
  • 回答
    要说《英雄联盟》里“最不需要操作”的英雄,这事儿可不好简单定论,毕竟每个英雄都有他自己的“门道”。不过,如果咱们非要挑一个在这方面“突出”的,我脑子里第一个蹦出来的,可能是 稻草人——费德尔·克斯特。为啥这么说呢?我给你掰扯掰扯。首先,稻草人这个英雄,他最大的特点就是简单粗暴,核心技能释放的门槛特别.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有