-----操作系统原理-----
文章平均质量分 65
操作系统原理
-Hello_狂奔的蜗牛
Fly!!!
展开
-
进程同步,进程互斥,信号量机制,管程机制
进程同步,进程互斥,信号量机制,管程机制进程同步的引入:进程互斥:信号量机制整型信号量:记录型信号量:AND型信号量:信号量集:管程机制 进程同步的引入: OS引入进程以后,可以是系统中的多道程序并发执行,可以有效改善资源利用率,显著提高系统的吞吐量,但是另一方面使得系统变得很复杂,进程同步机制,就是为了在多道程序中,保证多个进程有条不紊的进行。进程同步: 是对多个相关进程在执行次序上进行协调,使并发执行的进程之间能够按照一定的规则(时序)共享系统的资源,并且能很好的合作,从而是程序的执行的具有可再线性。原创 2021-04-15 10:25:45 · 465 阅读 · 0 评论 -
操作系统系统结构,系统调用,内核态,操作系统抽象
操作系统 操作系统的主要结构: 主要分为三部分:中央处理器CPU,I/O桥以及I/O等外围设备,存储器 图片来源:《深入理解计算机系统》 什么是用户态和内核态? 通俗的说,大部分应用程序执行,都是在用户态下的,特权级别是比较低的,当需要使用系统资源的时候,一般通过系统调用或者中断,从用户态切换到内核态。 操作系统的保护机制,通过内存页表操作等机制,保证进程间的地址空间不会互相冲突,一个进程的操作不会修改另一个进程的地址空间中的数据。在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令。当C原创 2021-03-31 10:31:53 · 350 阅读 · 0 评论 -
C和Java的关键差别简要介绍
C和Java的关键差别简要介绍 C和Java的相同点 我们知道Java语言和C语言基本语法类似,所以可以说Java是基于C的,两者有很多类似之处。 两者都是命令式的语言,例如,有数据类型、变量和控制语句等。 在C中基本数据类型是整数(包括短整数和长整数)、字符和浮点数等。使用数组、结构体和联合,可以构造组合数据类型。 C语言中的控制结果和Java类似,包括if、switch、for以及while等语句。 总之,在这两个语言中,函数和参数大致相同。 不同点 C语言中有而Java中没有的特点是显式指针。什么是指原创 2021-03-02 09:27:33 · 212 阅读 · 0 评论 -
内核级线程与用户级线程异同
这几天在和同学讨论的时候,对于内核线程和用户线程概念上出现了问题,在网上搜索了不少文章,感觉还是不是我想要的,下来查看了以前学习的操作系统才弄 明白,在这里将我的理解写出来让大家看看,和大家分享分享。。。 线程已经在许多系统中实现,到那时各个操作系统实现方式不完全相同。 比如在有的系统中,特倍是一些数据库管理系统如IBM的infomix系统,所实现的用户级线程(UserLevel Thre...转载 2018-07-26 15:54:41 · 434 阅读 · 0 评论 -
利用记录型信号量机制: wait(s), signal(s)解决进程同步问题
wait(s) 等价与P操作, signal(s)等价于V操作生产者-消费者问题int in = 0, out = 0; item buffer[n]; semaphore mutex = 1, empty = n, full = 0; void procuder() { do { procuder an item nextp; ... wait(empty)原创 2017-06-20 00:58:35 · 27675 阅读 · 0 评论 -
进程中的信号量机制
1.整型信号量 所谓整型信号,就是和一般整型量有点不同的,初始化不同,还有这个仅仅只能通过两个标准的原子操作wait(s),signal(s)来访问. wait(s)和signal(s)一直被称为P,V操作.wait(S){ while(S <= 0) S--; } signal(S){ S++; }这两个是原子操作,在执行的时候不可中断,也就是说当一个进程在修改某个信号原创 2017-03-17 19:57:11 · 1087 阅读 · 0 评论 -
区分进程和线程
^-^ Three Big Problem: 一:什么是进程? 二:什么是线程? 三:进程和线程的区别?(笔记)_() 一: 1.对于进程的定义,从不同的角度可以有不同的定义。传统OS中的进程定义为:”进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。 2.但是为什么要有进程呢???原因是为了使程序能够在并发执行和可以对其加以描述和控制。 简单原创 2017-03-14 01:37:22 · 363 阅读 · 0 评论