【ostep】01 操作系统 intro

4 篇文章 0 订阅
4 篇文章 0 订阅

操作系统

操作系统是什么

操作系统就是运行在硬件之上的软件,夹在硬件和上层应用程序之间。为硬件统筹和管理资源,同时为应用程序提供抽象。

要做到这一点,操作系统主要利用一种通用的技术,我们称之为虚拟化(virtualization)。 也就是说,操作系统将物理(physical)资源(如处理器、内存或磁盘)转换为更通用、更 强大且更易于使用的虚拟形式。因此,我们有时将操作系统称为虚拟机(virtual machine)。

很久之前,操作系统有另一个名字 —— “主控程序”,如果没有这个"主控程序",软件(机器指令)也可以运行,但"主控程序"让软件运行地更高效和方便。

最早的时候,操作系统仅仅提供一些 API,或者说一组函数。例如程序员不需要手动编写对硬盘的 I/O 程序,而是直接调用操作系统提供的特定函数即可。

后来,操作系统超越了简单的库所能提供的功能 —— 他将硬件保护了起来。系统调用(system call)的概念诞生了,相应的系统调用不仅仅是做了对硬盘的 I/O 程序,同时还控制了应用程序不能随意进行更加原子的操作(不能完全访问系统硬件),因为这种行为可能会危害系统。

再后来,UNIX 系统出现了,操作系统开始同时运行多个程序,这时候引入了并发的概念,操作系统开始在两个进程之间保护内存。

最后,就是 Windows、mac OS 和 Linux 的天下了。

虚拟化、并发和持久性

虚拟化,或者叫抽象,例如进程就是一个最基本的抽象,机器指令序列本身没有生命周期,我可以选择在任何时候,任何位置开始执行,而操作系统要做的就是决定在何时何处开始执行。于是就抽象出了进程,通过不断地在不同的内存空间切换,为上层提供了进程的抽象。

并发是一个问题,这个问题很普遍,以至于在更高层的抽象中、现代的开发过程中,这个问题还在被大量地讨论。

他来自于系统的调度逻辑和原子操作,由于我们无法预知操作系统在何时切换当前执行的应用程序,必须解决多个线程间(在操作系统中讨论的是进程)的对公共资源访问的冲突问题(在高层抽象中,我们针对的是线程并发问题,而在操作系统的实现中,我们讨论的是进程并发问题)。

持久性很简单,可以简略理解为存储,其体现就是操作系统的文件系统,例如将一个文件存储在硬盘上,涉及到对硬盘的 I/O 操作。不过他远没有说的那么简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unix操作系统的入门与基础   与大家熟悉的Windows用户界面和使用习惯不同,Unix是常使用命令运行、极具灵活性的操作系统,目前的产品主要有IBM-AIX、SUN-Solaris、HP-UNIX等。初期接触Unix操作系统,下列的问题几乎是常遇的:由图形界面操作转到以命令行方式操作的不习惯性;在短期内掌握全部命令的困难性;针对同一操作有几个命令的难选择性;不同shell命令格式的易混淆性,等等。一些初学者可能会因此而丧失继续学习的信心。根据上述的实际情况,本文遵循“避繁就简、避滥就精,不求详尽、只求适用”的原则,以初学者上机的必经过程为思路,力求用层次分明的浚理和详略得当的阐释,解读该操作系统使用的基本须知内容,以期达到便捷入门和较快精进的目的。 (一)Unix操作系统概述 Unix操作系统是一种强大的多任务、多用户操作系统。早在上世纪六十年代未,AT&T Bell实验室的Ken Thompson、Dennis Ritchie及其他研究人员为了满足研究环境的需要,结合多路存取计算机系统(Multiplexed Information and Computing System)研究项目的诸多特点,开发出了Unix操作系统。至今,Unix本身固有的可移植性使它能够用于任何类型的计算机:微机、工作站、小型机、多处理机和大型机等。 Unix操作系统通常被分成三个主要部分:内核(Kernel)、Shell和文件系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高厉害

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值