操作系统学习笔记--操作系统基本概念

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Laynalute/article/details/53411890

**综述:
1.操作系统的概念、特征、功能和提供的服务
2.操作系统的发展和分类
3.操作系统的运行环境
4.操作系统的体系结构**


1.操作系统的概念、特征、功能和提供的服务

操作系统的概念

操作系统是控制和管理计算机软、硬件资源,以尽可能合理、高效的方法为不同的用户及其应用程序提供服务的一种系统程序。
1)用户使用的角度看:既可以直接用命令直接控制,也可以通过系统调用编程来实现
2)资源管理的角度看:操作系统提高系统资源的利用率,高效地在进程之间切换,合理分配内存。
3)发展的角度看,操作系统是一台虚拟机。
[例子]vmware java虚拟机 手机

应用程序A 应用程序B 应用程序C
————————————————
应用程序A |开发工具以及环境
————————————————
操作系统
————————————————
计算机硬件


操作系统:提供一个访问硬件、使用硬件的平台,操作系统做的和硬件有关,和应用无关,可以被应用程序调用。

装个windows:带了很多应用软件->其他的捆绑软件->不是操作系统
苹果:APPLE:store 商店里有很多应用。


操作系统特征
并发
共享
虚拟
不确定性
1)并发和并行

并行是真正意义上的同时。并发是宏观上同时,微观上交替,单处理器上利用分时,是的多个进程能够并发运行。
[例子]花钱购买计算机,不能让它一直闲置,要让它跑起来,追求效率。操作系统:让你的进程跑起来,而且将这些资源安排的井井有条。

2)共享

进程并发运行必然带来共享,共享的时候,临界资源互斥使用,只读资源,谁都可以访问

3)虚拟

引入虚拟很多工作能够在虚拟环境下工作。VMWARE一台计算机虚拟成若干台逻辑上的计算机

4)不确定性

并发引起的,一旦两个程序并发,哪个是A,哪个是B,跑起来就乱了,后面会提到怎么让程序运行安全。操作系统的存在:比如时间片轮转,操作系统在安排程序的时候,用户不知道怎么安排这些进程,这些都由操作系统来做,系统越大BUG越多,操作系统尽可能让计算机运行确定。

操作系统功能
进程管理
存储管理
文件管理
设备管理


操作系统服务

公共服务:
命令控制接口:命令行,GUI,脚本,NUL
系统调用服务:编程用
创建、打开、读、写、关闭、删除
printf(“Hello world”);不是系统调用,调用WRITE写到显卡里,打包起来成为API。API是多个系统调用和部分代码的综合,比系统调用功能更加强大

———-

2.操作系统的发展和分类

操作系统的发展
大型计算机、巨型计算机
军用计算机、工业控制计算机
嵌入式计算机要求精简、功能强大
便携式设备要求省电、电池持续耐力强
操作系统的分类
单用户操作系统
批处理操作系统

单道批处理;多道批处理。脱机,联机

分时操作系统
实时系统

    硬实时;软实时

网络操作系统
分布式操作系统
并行操作系统


3.操作系统的运行环境

内核态与用户态

内核态和用户态,权限不同,操作系统运行在内核态,可以访问所有资源,不能访问到用户的。用户反之也是。用户想用资源,需要系统系统调用,通常时候实现用户态和内核态转换的时候是用中断。
内核态与用户态:操作系统运行在内核态(特权指令)、用户代码运行的状态(访管指令)。访管指令通过中断实现,用户态-->内核态。

中断、异常

与中断有关的是中断服务程序,异常实际上是三种:陷阱、故障、终止。陷阱:软中断。用户进入内核态,要有访管指令-->异常,异常实际上是软中断。

系统调用

陷入机制(访管指令)
内核态

现代操作系统出了提供直接使用系统调用指令的接口外,通常提供了一套方便、实用的程序应用程序函数库API。
操作系统的有机组成部分,有专门工具可以开发。系统调用组成这些库。系统编程要建内部库,这些库将来给用户用的。


4.操作系统的体系结构

整体式(无结构)

早期的操作系统是无结构的

层次式

分成不同层面:用户层面、内核层面

微内核(客户/服务器)

将来要提供什么服务,将这些系统商量好,外挂。unix操作系统,unix的内核非常下,加人机交互的SHELL,很多可以去加

模块式(面向对象)

面向对象的方式来封装这些功能。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页