操作系统
文章平均质量分 92
BIG_GENERAL_DD
好好学习,天天向上.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进程学习(2)
无论是static还是非static的全局变量,如果不加限制随意访问的话易出现同步问题。无论是static还是非static的局部变量,每个线程都是私有的,其他线程不会对其进行干扰。 补充:按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。 按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有原创 2017-05-24 12:21:42 · 359 阅读 · 0 评论 -
操作系统面试重难点总结
面试复习重点——基础篇:操作系统、计算机网络、设计模式【山科大牛陈磊整理】操作系统面试重难点总结 一、操作系统知识点图谱二、面试问题总结参考:面试复习重点——基础篇:操作系统、计算机网络、设计模式操作系统的四个特性。操作系统的主要功能。进程的有哪几种状态,状态转换图,及导致转换的事件。4.进程与线程转载 2017-09-08 14:46:23 · 1845 阅读 · 1 评论 -
时间片轮转法
时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10~100ms数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行原创 2017-08-30 18:19:17 · 19113 阅读 · 1 评论 -
第一章 操作系统引论
计算机系统由硬件和软件两部分组成。操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。1.1 操作系统的目标和作用影响操作系统的主要目标的另一个重要因素是操作系统的应用环境。例如,对于应用在查询系统中的操作系统,应满足用户对响应时间的要求;又如对应用在实时工业控制和武器控制环境下的OS,则要求其OS具有实时性和高度可靠性。原创 2017-08-29 19:03:42 · 3357 阅读 · 0 评论 -
第二章 进程管理 2.1 进程基本概念
传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程。操作系统所具有的四大特征也都是基于进程而形成的,并可从进程的观点来研究操作系统。 2.1 进程的基本概念在未配置OS的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完后,才允许另一个程序执行;在多道程序环境下,则允许多个程序并发执行。 2.1.1 程序的顺序执行及其特征1. 程序的顺序执原创 2017-09-05 13:39:24 · 1079 阅读 · 0 评论 -
Linux下fork函数及pthread函数的总结
forkLinux多进程编程中的可以使用fork函数来创建子进程。fork函数定义在头文件unistd.h中(uni表示unix,std当然是标准库,所以很好记),该函数的声明为pid_t fork(void)其中函数的返回值类型为pid_t,可以理解为一个整型,返回值具体为:在父进程中,fork返回新创建的子进程的进程ID;在子进程中,fork返回0;如果创建子进程失败,则返转载 2017-07-27 13:14:14 · 4277 阅读 · 0 评论 -
系统调用
关于系统调用的描述,错误的是:(B)A 系统调用把应用程序的请求传输给系统内核执行;B 系统调用中被调用的过程运行在“用户态”中;C 利用系统调用能够得到操作系统提供的多种服务D 是操作系统提供给编程人员的接口E 系统调用给用户屏蔽了设备访问的细节F 系统调用保护了一些智能在内核模式执行的操作指令分析:用户空间与系统空间所在的内存区间不一样,同样,对于这两种区间原创 2017-07-26 22:17:16 · 5615 阅读 · 0 评论 -
C编译器、链接器、加载器详解
C编译器、链接器、加载器详解一、概述 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可加载、可执行代码的过程。过程图解如下: 预处理器:将转载 2017-07-30 13:42:28 · 338 阅读 · 0 评论 -
第15章 《深入腹地:操作系统》
选自赵海军版本《程序员面试宝典》白金版 第15章《深入腹地:操作系统》,对其作出笔记如下:1. 进程是可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。 在操作系统中为进程定义了一个专门的数据结构,进程控制块PCB(processcontrol block)。系统为每一个进程设置一个PCB,是进程存在与否的唯一标识。当系统创建一个进程时,系统原创 2017-06-03 14:23:00 · 411 阅读 · 0 评论 -
操作系统学习(1)
1. 进程的模式有系统态(管态)和用户态(目态)两种,一般用户编写的程序是在用户态下工作,当程序中有中断或者调用系统函数时,会切换到系统态下运行。 2. 当CPU处于管态时,可以执行的指令是:计算机系统中的全部指令。分析:管态又叫特权态,系统态或核心态。当CPU处理系统程序的时候, CPU会转为管态,CPU在管态下可以执行指令系统的全集。(包括特权指令与非特权指令)。 3.原创 2017-06-02 20:03:33 · 4464 阅读 · 1 评论 -
操作系统学习(2)
1. UNIX中的文件系统采用:流式文件。多道批处理系统有两个特点:1).多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。2)成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作原创 2017-06-04 22:44:47 · 649 阅读 · 0 评论 -
进程学习(1)
1、int main(){ int i; for(i=0;i<2;i++) { fork(); printf("-"); }return 0;}会有8个“-”分析:一共调用了6次printf,但是会输出8个-。因为父进程的输出缓冲也会被子进程复制。分析二:本来是有6个,但是由于printf有缓冲,在输出时会将-放大缓冲区,从而调用fork()时,会复制缓冲区的原创 2017-05-08 16:19:07 · 318 阅读 · 0 评论 -
进程学习(3)
两个线程并非执行以下代码,假设a是全局变量,输出结果是:int a=1;void foo() { ++a; printf("%d",a);}A 3,2 B 2,3C 3, 3 D 2,2分析:答案是;ABCD 假设线程x和y同时执行,x和y可随时被抢占,a的初始值为1 A:3, 2 y先执行++a,a为2; y再执行printf,a入栈,原创 2017-05-24 12:26:41 · 372 阅读 · 0 评论 -
关于操作系统必知必会-进程与线程
1. 进程的有哪几种状态,状态转换图,及导致转换的事件。 运行状态:进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。就绪状态:进程已处于准备运行的状态,即进程获得了除处理机之外的一切所需资源,一旦得到处理机即可运行。阻塞状态,又称等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输原创 2017-09-09 12:05:28 · 775 阅读 · 0 评论
分享