计蒜客(零)引言

网友投稿 479 2022-05-28

1.why学OS

只有1%的软件开发者会编写OS,OS是一切软件的基础——为用户软件程序提供了访问硬件资源的标准界面,保护用户程序不受其他用户程序侵害,并统筹管理所有硬件资源;这种统筹规划所有资源、将复杂的界面抽象成为简单的界面的思想,在计算机科学的其他领域也有很多应用。如写一个网站的服务器的时候,你会在后端储存和处理大量的复杂数据结构,但在前端设计用户界面的工程师既不需要,也不应该意识到这种复杂的数据结构的存在。因此,作为后端工程师,必须从数据结构中提取出前端需要的部分、设计端点(即endpoint,一个特定的URL地址;用户可以通过这些地址发送特定形式的信息与服务器进行交互)供前端使用。这种通过抽象为用户提供易于理解的想法与OS为用户程序提供系统调用的想法有异曲同工之妙。

计蒜客(零)引言

OS是计算机上运行的程序中最为复杂、精密的一个,走进黑箱的内部,理解计算机的基本功能是如何被实现的。

最后我们还可以在理解OS的功能实现的过程中熟悉很多在软件设计中非常常见的设计设计问题,其中最为重要的例子就是并行。即将同一个任务拆分为可以平行运行的多个部分,在设备上同时运行,要解决并行可能引起的数据在多个线程中不一致的问题。帮助理解多线程的实现方式和数据可靠性的实现方式以及一些用来实现同步的基本工具是如何保证共享资源在多个线程中保持一致的。

2.小明选课

3.抽象——从硬件到软件

OS的抽象包括很多层面。一个最常见的例子是我们经常使用的文件和目录:虽然我们习惯于在目录中存储文件,但文件实际只是存储在磁盘某一区域的一段二进制数,如果没有有关文件存储位置、文件大小的数据,我们甚至没办法知道文件在磁盘上是从哪里开始的、到哪里结束的,这就是OS这个抽象层的作用。

4.OS的作用

数据结构

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux 面试基础问题 - 3
下一篇:58Q游戏(4)73(5)85(6)98(7)
相关文章