Ell*_*Ell 13 c++ operating-system
操作系统究竟做了什么?我知道操作系统可以编程,例如,C++,但我之前认为C++程序必须在操作系统下运行?有人可以解释并给出链接吗?我们提前谢谢了
ssu*_*ube 13
操作系统是代码(用户代码)和硬件之间的一个层.
操作系统负责管理物理组件,并为您提供一个简单的(希望)API来构建.它处理哪些程序运行,何时,谁先行,如何处理内存,谁获取内存,视频绘图以及所有好东西.
例如,在创建GUI时,不要将每个位发送到监视器,而是告诉操作系统(或窗口管理器)创建窗口.然后告诉它在窗口中放置一个按钮.操作系统然后处理绘制窗口,移动窗口,移动按钮(但保持它应该在窗口中的位置).
现在,您可以使用C++编写操作系统,但这并不容易.您必须开发内核和诸如此类的东西,找到与硬件接口的方法,然后将该接口公开给您的用户及其程序.
因此,基本上,操作系统处理软件到硬件的接口并管理您的物理资源.C++程序可以在OS中运行,或者通过足够的工作,可以自己运行,甚至可以运行OS.
实际上,C++标准本身就可以解决这个问题.§1.4/ 7:
定义了两种实现:托管和独立.对于托管实现,此国际标准定义了可用库集.独立实现是一种可以在没有操作系统的情况下执行的实现,并且具有包含某些语言支持库的实现定义的库集(17.4.1.3).
在17.4.1.3中,
独立实现具有实现定义的头集.该集合应至少包括以下标题,如表13所示:
Table 13—C++ Headers for Freestanding Implementations
_______________________________________________
? Subclause Header(s)
? 18.1 Types <cstddef>
? 18.2 Implementation properties <limits>
? 18.3 Start and termination <cstdlib>
? 18.4 Dynamic memory management <new>
? 18.5 Type identification <typeinfo>
? 18.6 Exception handling <exception>
? 18.7 Other runtime support <cstdarg>
Run Code Online (Sandbox Code Playgroud)
提供的标题版本应至少声明函数abort(),atexit()和exit()(18.3).
这些头文件定义常量或为编译器提供基本支持.实际上,在操作系统完成一些初始化之前,某些语言功能将会丢失,例如new和catch.
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |