首页 > 其他分享 >【操作系统】操作系统基本概念

【操作系统】操作系统基本概念

时间:2023-05-17 21:13:52浏览次数:50  
标签:调用 操作系统 中断 用户 CPU 内核 基本概念 库函数

本系列参考资料:
王道操作系统课程

基本概念与知识点

OS:控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机的工作和资源的分配,以提供用户和其他软件方便的接口和环境。是计算机系统中最基本的系统软件。
OS提供的功能:处理机管理、存储器管理、文件管理、设备管理。

OS的特征

并发:两个或多个事件统一时间间隔内发生,这些事件在宏观上是同时发生,但微观上是交替发生。
并行:指两个或多个事件在同一时刻同时发生。
单核CPU:各个程序只能并发执行
多核CPU:多个程序可以并行执行
共享:系统中的资源可供内存中多个并发执行的进程共同使用。
互斥共享:一个时间段内只允许一个进程访问该资源
同时共享:一个时间段内微观交替对该资源进行访问。
虚拟:将一个物理上的实体变为若干个逻辑上的对应物。空分复用、时分复用。
异步:允许多个程序并发执行,但由于资源有限,进程的执行以不可预知的速度向前推进。

OS历史

手工操作阶段(纸带机)->单道批处理系统->多道批处理系统->分时操作系统->实时操作系统
手工操作阶段:工作人员将打孔纸带输入到计算机中,人机速度矛盾
多道批处理系统:多道程序并发执行,资源利用率高,但是不提供人机交互功能
分时操作系统:计算机以时间片为单位轮流为各个作业服务,各个用户可通过终端与计算机进行交互
实时操作系统:计算机系统接收到外部信号后及时进行处理,并要在严格的时限内处理完事件,主要特点是及时性和可靠性。

内核态与用户态

CPU中有程序状态字寄存器PSW,其中有个二进制位,表示内核态或用户态。
处于内核态/管态:说明此时正在运行的是内核程序,此时可执行特权指令。
处于用户态/目态:说明此时正在运行的是应用程序,此时只能执行非特权指令
内核态→用户态:执行特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权
用户态→内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权

中断

内中断:与当前执行的指令有关,中断信号来源于CPU内部。也称为异常。比如陷入、故障、终止。
外中断:与当前执行的指令无关,中断信号来源于CPU外部。比如时钟中断、I/O中断
中断机制:
不同的中断信号,需要用不同的徽宗大观处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型查询“中断向量表”,以此来找到相应的的中断处理程序在内存中的存放位置。

系统调用与库函数

系统调用:运行在用户空间的程序向操作系统内核请求需要更高权限运行的服务。它通过软中断向内核态发出一个明确的请求。系统调用实现了用户态进程和硬件设备之间的大部分接口。
凡是与共享资源有关的操作,都必须通过系统调用的方式向OS内核提出服务请求,由OS内核代为完成,这样可保证系统的稳定性和安全性,防止用户进行非法操作。
库函数:用于提供用户态服务,可能调用封装了一个或几个不同的系统调用,也可能直接提供用户态服务。

常见系统调用:open, close, read, write, ioctl,fork,clone,exit,getpid,access,chdir,chmod,stat,brk,mmap等,需要包含unistd.h等头文件。
常见库函数:printf,scanf,fopen,fclose,fgetc,fgets,fprintf,fsacnf,fputc,calloc,free,malloc,realloc,strcat,strchr,strcmp,strcpy,strlen,strstr等,需要包含stdio.h,string.h,alloc.h,stdlib.h等头文件。

系统调用与库函数的区别:

  1. 系统调用通常不可替换,而库函数可以替换。
  2. 系统调用通常提供最小接口,而库函数可提供较复杂功能
  3. 系统调用运行在内核空间,而库函数运行在用户空间
  4. 系统调用返回一个整数值,而库函数并非如此
  5. 使用库函数的移植性更好,而且系统调用开销更大。
  6. 系统调用运行时间属于系统时间,库函数运行时间属于用户时间

内核

图1
大内核:将操作系统的主要功能模块都作为系统内核,运行在内核态。优:高性能。缺:内核代码庞大,结构混乱。
比如:Linux、UNIX
微内核:只把最基本的功能保留在内核。优:结构清晰,方便维护。缺:需要频繁在核心态与用户态之间切换,性能低。
比如Windows NT
图2
图3

虚拟机

使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(virtual machine VM),每个虚拟机器都可以独立运行一个操作系统。
虚拟机管理程序(virtual machine monitor VMM)
图4
图5

标签:调用,操作系统,中断,用户,CPU,内核,基本概念,库函数
From: https://www.cnblogs.com/ting65536/p/17410277.html

相关文章

  • Linux 操作系统安全加固措施
    #Linux操作系统安全加固措施1.定期更新系统和软件包定期更新操作系统和软件包可以保持系统最新,以修复已知的安全漏洞和弱点。您可以使用以下命令在CentOS上更新软件包:sudoyumupdate2.禁用不必要的服务禁用不必要的服务可以减少系统暴露在攻击风险之下的机会。您可以使......
  • Linux - Centos操作系统iso文件下载
    CENTOS VERSIONDOWNLOADLINKCentOS8.5(2111)DownloadCentOS8.4(2105)DownloadCentOS8.3(2011)DownloadCentOS8.2(2004)DownloadCentOS8.1(1911)DownloadCentOS8.0(1905)DownloadCentOS7.9(2009)NewDownloadCentOS7.8(2003)Downlo......
  • 关于centos7操作系统RX-DRP值每隔30s加1问题
    现象如下图所示:RX-DRP每隔30s,自动+1原因分析CentOS7系列操作系统在处理LLDP等不能直接解析的二层数据帧的过程中,会将ifconfigeth0或者netstat-i等输出信息中的rx_drop值增加。其主要特点为每隔30s(上层交换机LLDP数据帧发送频率)加1、但是采用tcpdump等软件抓包过程的过程中rx......
  • 计算机操作系统的基本概念及功能
     GUI(图形用户界面):如windows、安卓、ios的图形操作界面;命令接口(可以直接使用):联机命令接口特点是说一句做一句,脱机命令接口是说一堆做一堆;程序接口:系统调用,用户通过程序进行间接使用......
  • C语言基本概念之表达式
    什么是表达式(表达式的定义)?表达式是C语言的重要语法成分,不过对于表达式的定义,好像从来没有人关注过。今天就孔乙己一把吧,哈哈。先贴标准对expression的定义(ISO/IEC9899:20116.5):Anexpressionisasequenceofoperatorsandoperandsthatspecifiescomputationofavalue,o......
  • 基于STM32的BMS电池管理系统,源代码配官方参考原理图-带实时操作系统,基于stm32的BMS电
    基于STM32的BMS电池管理系统,源代码配官方参考原理图-带实时操作系统,基于stm32的BMS电池管理系统源代码-带ucos操作系统,代码规范,注释齐全,便于移植!学习参考开发必备利器ID:117676950715609......
  • Linux操作系统分析-课程总结
     结合虚拟化技术分析Linux系统的一般执行过程一、     Linux系统运行一般场景:用户进程之间切换                     (1)用户态进程X调用系统调用或触发异常用户态进程X需要进行进程切换时,可以通过调用一些特定的系统调用(例如fork、exec等)或者......
  • nodejs 入门基本概念
    nodejs的诞生  Node.js是2009的时候由大神RyanDahl开发的。Ryan的本职工作是用C++写服务器,后来他总结出一个经验,一个高性能服务器应该是满足“事件驱动,非阻塞I/O”模型的。C++开发起来比较麻烦,于是Ryan就想找一种更高级的语言,以便快速开发。  Ryan发现JS语......
  • 分数阶导数的基本概念与介绍
    重要参考华东师范大学潘建瑜教授第一讲分数阶微分方程维基百科分数微积分连接成功-知乎慢慢推导柯西重复积分公式维基百科Gamma函数以下是我的整理一、学习的思路我们熟知的是整数阶的微积分定义,分数阶微积分的定义一般就是由已知的定义推导而来的。所......
  • Linux操作系统分析-课程总结报告
    结合虚拟化技术分析Linux系统的一般执行过程虚拟化层启动:在虚拟化环境中,物理主机上的虚拟化软件(如VMware、KVM等)启动,并创建虚拟机管理器(VMM)或称为hypervisor。VMM负责管理虚拟机的创建、销毁和资源分配。虚拟机创建:VMM根据用户的需求创建虚拟机实例。虚拟机实例是一种逻辑上的隔......