精华内容
下载资源
问答
  • 操作系统概念

    千次阅读 2018-09-23 20:19:25
    操作系统是一个用户和计算机的接口,同时也是计算机硬件和软件的接口。操作系统主要包括: (1)内核,主要用于进程管理,文件管理,内存管理,驱动管理 (2)应用程序 二、功能 操作系统功能就两字:管理 三、...

    一、定义

    操作系统是一个用户和计算机的接口,同时也是计算机硬件和软件的接口。操作系统主要包括:

    (1)内核,主要用于进程管理,文件管理,内存管理,驱动管理

    (2)应用程序

    二、功能

    操作系统功能就两字:管理

    三、设计操作系统目的

    (1)管理软硬件资源,与硬件交互

    (2)给用户提供一个良好的执行环境

    四、怎么管理

    (1)将对象描述起来,结构体

    (2)组织被管理对象,链表或者其他数据结构

     从上图注意点:

    (1)驱动:操作系统管理硬件的一个桥梁,每一个硬件都必须要提供一个对应的驱动程序供操作系统对该硬件进行管理。

    (2)操作系统内核:其实linux就是操作系统的内核,而真正操作系统是centos

    (3)系统调用:操作系统提供的程序接口(API)

             如:printf函数需要在显示屏打印东西,先通过操作系统执行调用驱动程序,最终打印到对应的显示屏

    (4)库函数:用户自己或者组织开发的函数封装起来形成库函数,不过也是对系统调用封装,例如库函数中的I/O函数操作,内部还是需要调用系统的I/O来实现

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

    系统调用是运行在用户界面上的应用程序向操作系统内核请求服务的调用,也就是系统调用直接和内核打交道,移植性差;函数接口复杂;

    库函数接口简单供用户使用,移植性好

     

    展开全文
  • 操作系统概念: 一、计算机系统组成: 二、操作系统在计算机系统中的地位: ​​​​​​​ 三、操作系统的设计目标: 方便性: 提供用户接口,使计算机系统使用方便。 有效性: 通过有效管理和分配软、硬件...

    操作系统概念:

    一、计算机系统组成:

    二、操作系统在计算机系统中的地位:

    ​​​​​​​

    三、操作系统的设计目标:

    • 方便性:

    提供用户接口,使计算机系统使用方便。

    • 有效性:

    通过有效管理和分配软、硬件资源及合理组织计算机工作流程来改善资源利用率,提高系统吞吐量。内存空间占有率等。

    • 可扩充性:

    适应计算机硬件和体系结构的迅猛发展及其所对应的更高的功能和性能要求。

    • 开放性:

    适应不同厂家与不同类型的计算机及其设备的网络化集成和协同工作,实现其应用程序的可移植性和互操作性。

    展开全文
  • 操作系统概念学习笔记 7操作系统结构系统设计设计目标系统设计的第一个问题是定义系统的目标与规格。在最高层,系统设计受到硬件选择和系统类型的影响。需求可以分为两个基本类:用户目标和系统目标策略和机制操作...

    操作系统概念学习笔记 7

    操作系统结构


    系统设计

    设计目标

    系统设计的第一个问题是定义系统的目标与规格。在最高层,系统设计受到硬件选择和系统类型的影响。

    需求可以分为两个基本类:用户目标和系统目标

    策略和机制

    操作系统设计的重要原理是策略(policy)和机制(mechanism)的区别。机制决定如何做,策略决定做什么。策略可能会随着时间或位置而有所改变,每次改变都可能需要底层机制的改变。系统更需要通用机制。这样策略的改变只需要重定义一些系统参数。

    操作系统重要功能的改善可能是由于更好的数据结构和算法。

    操作系统结构

    简单结构

    MS-DOS系统是用汇编编写的,只适用于intel 8088的cpu,未能提供双模式和硬件保护。在MS-DOS中,并没有很好的区分接口和功能层次,这种任意性使MS-DOS易受错误(恶意)程序的伤害。

    原始的UNIX系统由内核和系统程序两个独立部分组成。内核进一步分为一系列接口和驱动程序。物理硬件之上和系统调用之下的所有部分作为内核,内核通过系统调用以提供文件系统,CPU调度,内存管理和其他操作系统功能,这种单一结构使得UNIX难以增强。

    分层方法

    采用适当硬件支持,操作系统可以分成比MS-DOS和UNIX所允许的更小和更合适的模块。这样操作系统能提供对计算机和使用计算机的应用程序更多的控制。实现人员更加自由地改变系统内部的工作和创建模块操作系统。

    系统模块化有许多方法,一种是分层法,最底层(0层)为硬件,最顶层(N层)为用户接口。操作系统的层可以作为抽象对象来实现。一个典型的操作系统的层(M)由数据结构和一组可为上层所调用的子程序集合所组成。层M能调用底层的操作。

    分层法的优点在于构造和调试的简单化,从而简化了系统的设计和实现。每层都能利用较低层所提供的功能来实现。

    分层法的问题在于对层的详细定义,层的顺序问题,另一个问题是效率稍差。

    微内核  

    随着UNIX操作系统的扩充,内核变得更大并且更加难以管理。20世界80年代中期,卡内基-梅隆大学开发了一个Mach的操作系统,该系统采用微内核技术模块化内核。这种方法将所有非基本部分从内核移走,并将它们实现为系统或用户程序。从而得到了更小的内核。

    微内核的主要功能是使客户程序和运行在用户空间的各种服务之间进行通信。通信以消息传递形式提供。

    微内核方法的好处之一是便于扩充操作系统,所有新服务可以在用户空间增加,因此并不需要更改内核。这样操作系统容易移植到其他硬件平台。由于绝大数服务是作为用户可不是内核进程来运行,因此微内核也就提供了更好的安全性和可靠性。

    但是,微内核必须忍受由于系统功能总开销的增加而导致系统性能的下降。

    模块  

    面向对象编程来生成模块式的内核。这里,内核只有一组核心部件,以及在启动或运行时对附加任务的动态链接。这种方法使用动态加载模块。在现代的UNIX,Linux ,Mac OS X ,Solaris中很常见。

    这样的设计允许内核提供核心服务,也能动态的实现特定功能。例如:特定硬件的设备和总线驱动程序可加载给内核,而对各种文件系统的支持也可作为可加载的模块加入其中,所得的结果就好像一个分层系统,他的每个内核部分都有被定义和保护的接口。但它比分层系统更灵活,他的每一模块均可调用其他任何模块。

    进一步讲,这种方法类似于微内核方法,这种方法更为高效,因为模块不用调用信息传递来通讯。

    虚拟机

    分层方法逻辑可延伸为虚拟机概念,虚拟机的基本思想是单个计算机的硬件抽象为几个不同的执行部件从而使得仿佛每个独立的执行环境都在自己的计算机运行一样。通过cpu调度和虚拟内存技术,操作系统能带来一种幻觉,即进程认为有自己的处理器和自己的(虚拟)内存。

    非虚拟机:进程→内核-硬件

    虚拟机:进程→内核→虚拟机实现→硬件

    创建虚拟机的原因:最根本的是,在并行运行几个不同的执行环境(即不同的操作系统)能共享相同的硬件。

    虚拟机方法的主要困难在于磁盘系统。解决方法是提供虚拟磁盘。

    实现  

    虚拟机实现困难,提供与底层机器完全一样的副本需要大量工作。

    底层机器有两种模式:用户模式和内核模式。

    虚拟机软件可以运行在内核模式,因为它就是操作系统,虚拟机本身只能运行在用户模式,但他必须有虚拟用户模式和虚拟内核模式。这两种模式都运行在物理用户模式。

    虚拟模式的转换可按下述方法实现。例如,当以一个虚拟用户模式而在虚拟机上运行的程序执行系统调用时,他会在真正机器上引起一个到虚拟机监控器的转换。当虚拟机监控器获得控制,他能改变虚拟机的寄存器内容和程序计数器以模拟系统调用的效果。接着他能重新启动虚拟机,注意他现在是在虚拟机内核模式下执行。

    优点  

    虚拟机的理念具有很多优点,虚拟机相互独立,因此没有安全问题,但同时也没有直接资源共享。两种方法提供共享:一为共享小磁盘来共享文件,二是通过虚拟通信网络来传递消息。

    实例  

    虚拟机成为一种解决系统兼容性的流行方法

    • VMware

    他是一个流行的商业应用程序,他将intel 80*86硬件抽象为独立的虚拟机,运行于windows 和linux之上。

    程序员可以在主操作系统和几个个客户操作系统上测试应用程序。每个客户操作系统都作为一个独立的虚拟机运行。

    虚拟层是VMware的核心,因为他将硬件抽象为独立的作为客户操作系统的虚拟机运行。每个虚拟机都有他自己的虚拟cpu、内存、磁盘驱动、网络接口等。

    • java虚拟机

    JVM是一个抽象计算机的规范。它包括类加载器和执行与平台无关的字节码的java解释器。 java对象用类来描述,对于每个java类,java编译器会生成与平台无关的字节码(bytecode)输出文件(.class),他可运行在任何JVM上。

    JVM通过执行垃圾手机来自动管理内存,为了提高虚拟机中java程序的性能,许多研究集中在垃圾收集算法上。

    JVM可以在主操作系统的上层软件中实现,或作为web浏览器的一部分。另一个选择是JVM可以在特别为JAVA程序设计的芯片硬件上实现。如果在软件上实现JVM,java解释程序一次只能执行一个字节代码。一种更快的软件技术是采用JIT(just-in-time)编译器。

    展开全文
  • 操作系统概念学习笔记 4操作系统结构和操作简述操作系统结构多道程序设计多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上...

    操作系统概念学习笔记 4

    操作系统结构和操作简述

    操作系统结构

    多道程序设计

    多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。只要有一个程序或任务可以执行,cpu就不会空闲。

    但是不能提供与计算机系统直接交互的能力。

    分时系统(多任务)

    分时系统(多任务)是多道程序设计的延伸,在分时系统中,虽然cpu还是通过在作业之间的切换来执行多个作业,但是由于切换频率很高,用户可以在程序运行期间与之进行交互。

    分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,允许多个用户通过主机的终端以交互方式使用计算机,共享主机中的资源。

    共享需要一种交互式计算机系统,它能提供用户和系统之间的直接通信。

    分时允许许多用户同时共享计算机,每个用户只要少量cpu时间,随着系统从一个用户切换到另一个用户,每个用户会感觉到整个系统只为自己所用。

    装到内存并执行的程序通常被称为进程(process),当进程执行时,通常他只执行较短的一段时间,,此时他并未完成或者需要进行IO操作。由于交互IO通常按人的速度来运行,会运行很长时间,例如每秒5个字符的输入速度对计算机相当的慢了。用户交互输入时,系统为了不让cpu空闲,会将cpu 切换到其他用户的程序。

    分时和多道程序设计需要在存储器中同时保存有几个作业。由于主存较小,通常在开始将作业存储在磁盘的作业池中。作业调度(job scheduling)按照一定的算法,从作业池或后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。

    在分时操作系统中,操作系统必须保证合理的响应时间,这需要交换即进程在内存与磁盘之间的来回转移来实现。更常用的方法是使用虚拟内存(virtual memory),虚拟内存允许将一个执行的作业不完全放在内存里,且他可以比物理内存大。还有,虚拟内存将内存抽象成一个 庞大且统一的存储数组,将用户索理解的逻辑内存(logical memory)与真正的物理内存区别开来。

    操作系统操作

    现代操作系统是中断驱动的。如果没有进程可执行,没有I/O设备可服务,没有用户可响应,那么操作系统就会安静的等待事件的发生。事件总是由中断或陷阱引起。陷阱或异常是一种软件中断,由于出错比如除数为零或者源于用户程序的一个特别请求(完成操作系统服务)。对每一种中断,操作系统中不同的代码段决定将要采取的动作。

    双重模式操作

    采用共享,许多进程可能会受到一个程序的漏洞的不利影响,因此操作系统的设计必须保证一个错误的程序不会造成其他程序执行错误。

    为保证操作系统的正常执行,必须区分操作系统代码和用户定义的代码。可以采用的方法是提供硬件支持以允许区分各种执行模式。

    计算机硬件中增加一个称为模式位(mode bit) 的位以表示当前模式:监督程序模式0和用户模式1.有了模式位就可以区分操作系统和用户分别执行的任务。

    这里写图片描述

    双重模式操作系统为保护操作系统和用户程序不受错误用户程序影响的手段。实现方法是:将能引起损害机器的指令设为特权指令(privileged instruction),用户模式执行这些指令是非法的,并将其以陷阱的形式通知操作系统。

    切换到用户模式就是一个特权指令,其他的例子包括I/O控制、定时器管理,中断管理。

    当CPU运行于内核模式时,一切程序都可运行.任务可以执行特权级指令,对任何I/O设备有全部的访问权,还能够访问任何虚地址和控制虚拟内存硬件.这种模式对应80×86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式.

    系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。系统调用通常采用陷阱到中断向量的一个指定位置的方式。

    为确保系统对cpu的控制、防止程序进入死循环或不调用系统服务,并且不将控制全返回到操作系统。为实现之一目标,可使用定时器。系统在将控制权交给用户之前,应确保设置好计时器以便产生中断。计时器产生中断,控制权自动交给操作系统。

    展开全文
  • 操作系统概念学习笔记 5操作系统管理简述进程管理处于执行中的程序被称作进程。进程需要一定的资源(包括cpu时间、内存、文件、I/O设备)来完成任务。这些资源可以在进程创建时分配给进程,也可以在执行时分配给进程...
  • 操作系统概念学习笔记 2 系统中断

    千次阅读 多人点赞 2015-04-26 13:00:54
    操作系统概念学习笔记 2系统中断概述现代操作系统是中断驱动的。如果没有进程可执行,没有I/O设备可服务,没有用户可响应,那么操作系统就会安静的等待事件的发生。事件的发生几乎总是通过中断或者陷阱来表征的。...
  • 操作系统概念阅读笔记1导论1.计算机系统组成可分为:计算机硬件 操作系统 系统程序和用户4个部分2.定义操作系统 提供了解决创建可用的计算机系统问题的合理途径 基本目的是执行用户程序并能更容易地解决用户问题 ...
  • 操作系统概念 学习笔记

    千次阅读 多人点赞 2019-03-26 23:01:14
    1.1 操作系统 1.1.1 用户视角 1.1.2 系统视角 1.1.3 定义操作系统 1.2 计算机系统组织 1.2.1 计算机系统操作 1.2.2 存储结构 1.2.3 I/O结构 1.3 计算机系统体系结构 1.4 .操作系统结构 1.5 操作系统操作 ...
  • 操作系统概念学习笔记 6 系统调用

    千次阅读 2015-04-29 11:02:38
    操作系统概念学习笔记 6系统调用系统调用系统调用(system call),通常用c或c++编写,对底层任务(如需直接访问硬件)可能以汇编语言指令的形式提供。一个系统调用的例子: 编写一个从一个文件读取数据并复制到另一个...
  • 操作系统概念: 1.进程 本质上是正在执行的一个程序,进程在其地址空间内读写,该地址空间存放有可执行程序、程序的数据以及程序的堆栈,进程的资源集包括寄存器、打开文件的清单、突出的报警、有关进程的清单。进程...
  • 操作系统概念习题

    千次阅读 2018-03-21 12:51:58
    一、基本介绍1、操作系统是对计算机资源进行管理的软件。2、从用户的观点来看,操作系统是控制和管理计算机资源的软件。3、操作系统的功能是进行处理机管理、存储器管理、设备管理以及信息管理。其中处理机管理其实...
  • (一)操作系统的一些理解与概念 1.一般程序猿也不会参与系统编程,那么还有学习操作系统和系统编程的必要吗? ​ 答案是肯定,因为理解操作系统可以更好地服务于编程,比如更深入的理解多线程等 2.操作系统的理解:...
  • 操作系统概念学习笔记 9 线程

    千次阅读 2015-05-12 08:14:14
    操作系统概念学习笔记 9线程概述单个进程可以包括多个控制线程。线程 ——一种CPU利用的基本单元,它是形成多线程计算机的基础。线程是CPU使用的基本单元,它由线程ID、程序计数器、寄存器集合和栈组成。它与属于...
  • 操作系统概念学习笔记 10 CPU调度

    千次阅读 2015-06-12 11:06:28
    操作系统概念学习笔记 10CPU调度 多道程序操作系统的基础。通过在进程之间切换CPU,操作系统可以提高计算机的吞吐率。对于单处理器系统,每次只允许一个进程运行:任何其他进程必须等待,直到CPU空闲能被调度为止。...
  • 我最近在读一本操作系统的书(操作系统概念Operating System Concepts Ninth Edition), 这本书是学习操作系统非常不错的书,只要学习过计算机组成原理、计算机体系结构、 微机原理等课程就很容易读下去,虽然...
  • 操作系统概念学习笔记 8 进程

    千次阅读 2015-05-06 12:01:46
    操作系统概念学习笔记 8进程概念进程进程是执行中的程序,这只是非正式的说法。进程不只是程序代码,程序代码称为文本段(代码段),还包括当前活动,通过程序计数器的值和处理器寄存器的内容来表示。此外,进程还...
  • 操作系统概念第七版习题 3.10代码详解 代码应该可以直接用 #include <stdlib.h> #include <stdio.h> #include <string.h> #include <errno.h> #include ...
  • 操作系统概念学习笔记 1 加电引导过程 加电-引导程序(bootstrap program) 引导程序通常位于ROM或EEPROM中,引导程序必须定位操作系统内核并把它装入内存,接着操作系统开始执行第一个进程如init并等待事件的...
  • 操作系统概念_目录

    2018-06-16 19:13:34
    操作系统学习参考: https://blog.csdn.net/leftfist/article/category/2622721
  • 操作系统概念第九版期末复习 第九章 Virtual Memory 虚拟内存是一种不需要将整个进程加载到内存中执行的技术。 加载实际需要的进程部分(并且仅在需要时)有几个好处: 程序可以比计算机上物理内存空间更大 每...
  • 1.os的作用表现在哪几个方面?...(1)与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。 (2)与其他系统软件的关系:操作系统是...
  • 1、操作系统提供了信息存储的统一逻辑接口 2、文件是记录在外存上的相关信息的具有名称的集合 3、操作系统对存储设备的各种属性加以抽象并且定义了逻辑存储单元(文件),再将文件映射到物理设备上。 4、通常,文件...
  • 操作系统概念第九版期末复习 第十章 Mass-Storage Structure 磁盘 轨道,圆柱体,扇区,每个表面都有读写头read-write head 定位时间,旋转延迟,传输速度 固态硬盘 SSD 比传统硬盘更快、功耗更低。更昂贵...
  • 操作系统概念辨析

    千次阅读 2011-09-16 22:51:45
    额,简历中有一句“熟悉操作系统原理”,底层公司、设备商公司应该会要问这些东东吧。有几个问题总结一下: 目录: 1.信号量(semaphore),互斥量(mutex),事件,临界区概念解析 2.自旋锁的概念 3.单内核和微内核...
  • 操作系统概念逻辑线(上)

    千次阅读 2019-11-17 22:49:00
    我复习的时候,习惯使用一种“珍珠项链”的方法,到不能说自己原创,但是很少看到身边的人用过。...首先,我们一提到操作系统,就需要想给操作系统下一个定义:操作系统内核是CPU特权模式下运行的程序,而操作系...
  • 操作系统概念学习笔记 12=======进程同步(二)管程基本的、高级的同步构造,即管程(monitor)类型。使用:管程类型提供了一组由程序员定义的、在管程内互斥的操作。管程类型的表示包括一组变量的声明(这些变量的...
  • 最近在读一本操作系统概念恐龙书

    千次阅读 2009-02-18 00:19:00
    操作系统概念恐龙书》这是一本很好关于操作系统的书籍,他系统的阐述了关于操作系统的几乎所有概念。是英文版的正在看,感觉比上本科时候学的什么操作系统都好。主要书里面介绍的概念相当的系统,让你有提起一窜...
  • 操作系统概念性题目总结

    千次阅读 2016-11-26 23:18:54
    什么是操作系统?答:操作系统是一种系统软件,是软、硬资源的控制中心。它以尽量合理有效的方法组织单个或多个用户以多任务方式共享计算机的各种资源。资源共享的两种方式?时分和空分。试述多道程序设计的基本思想...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,527
精华内容 21,410
关键字:

操作系统概念