我一上来就是概念三连!!!
操作系统是包含了系统调用、图形界面、终端命名的可对硬件进行直接操作的接口。
那么,系统调用又是是什么呢?
在没有操作系统的时候,调用硬件工作需要用到机器语言,说白了,就是给硬件输入大量的010101010101组合成的数字,才能控制硬盘,内存,声卡,CPU进行工作。
这是很没有人性的。
但是,操作系统解决了这个没有人性的问题,变得人性化了。
操作系统通过固定控制硬件工作的方式,把它们封装成一个又一个方法,用户通过图形界面操作完成特定操作。
也就是说,操作系统为你特定的操作,已经提前把0101010准备好了,并且对你所有的操作都有了提前准备。
而操作系统则调用这些已经写好的、固定成方法的系统调用直接工作,用户不用再认识010101,也能控制计算机硬件完成工作。
系统调用,为程序员提供了一个极其方便的操作硬件的入口,进而摈弃枯燥无味的01010数。
程序员所开发的应用程序,通过操作系统已经写好的系统调用,控制硬件工作,进而达到软件所需的目的,并为用户提供服务。比如说你听一首歌,从用户的角度,你只需要在操作系统打开歌曲,点击播放,然后就能欣赏歌曲了。
但我们换一个角度,没有操作系统,我们需要使用机器语言,分为以下几步:
1.把歌曲文件从硬盘加载到内存
2.使用声卡把内存里的歌曲文件进行解码
3.把解码后的数据传输给音响
4.听~~~
看,在拥有操作系统后,我们不用再直接控制硬件的工作,只需把我们自己想做的事情做了,其余的操作,系统会给我做完。
常见的操作系统:
1.windows
微软爸爸,大众化,但稳定型差,用久就卡。
windows中,一台计算机,一个用户直接控制所有的硬件资源和软件资源。
2.Liunx
服务器专用,安全、开源,内核只有一个,但发行版众多。
但在Liunx中,一台计算机,多个用户使用,多用户共享所有资源。
Liunx设计初衷就是多用户操作系统。
3.Mac os
基于Unix开发的系统,稳定,适合开发人员
在这顺便扯扯虚拟机:
这个东西牛啊!用软件模拟一个硬件环境,承载一个或多个操作系统。
正常来说,一台计算机,只有一个操作系统,但是在开发中,程序员经常要使用多种操作系统,
说白了,就是在一台计算机中,有一个主系统,然后通过软件,模拟一个硬件环境,创造多个子系统,
并且他们之间相互独立,互不干扰。
windows和Liunx的不同
windows操作系统下的盘符
C盘、D盘、各种盘,然后盘里面直接存放目录,再存放文件,。
Liunx操作系统下的目录
Liunx里边只有目录,没有盘符的概念,一切从 / 根目录开始,home目录下,每个用户都有一个目录。
以上,如果有什么问题,欢迎留言交流,不搞基,谢谢。