精华内容
下载资源
问答
  • Chapter1 操作系统简介 参考资料:操作系统概念(第9版&第7版) 例题 概念整理: Chapter2 操作系统结构 例题 概念整理 Chapter1 操作系统简介 参考资料:操作系统概念(第9版&第7版) 例题 1....

    目录

    Chapter1 操作系统简介

    参考资料:操作系统概念(第9版&第7版)

    例题

    概念整理:

    Chapter2 操作系统结构

    例题

    概念整理


    Chapter1 操作系统简介

    参考资料:操作系统概念(第9版&第7版)

    例题

    1.What are the three main purposes of an operating system?

    1.Resource allocator    操作系统相当于一个资源管理器,管理计算机硬件。

    2.Control program       控制程序,它是人机交互的媒介。

    3.Kernel                       内核,为程序运行提供了基础。

    操作系统是管理计算机硬件的程序,它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介。

     

    大型机的操作系统设计的主要目的是充分优化硬件的使用率,个人计算机的操作系统是为了能支持从复杂游戏到商业应用的各种事物,手持计算机的操作系统是为了给用户提供一个可以与计算机方便地交互并执行程序的环境

    功能:CPU调度器      物理内存管理      虚拟内存管理      文件系统管理      中断处理与设备驱动

     

    How does the distinction between kernel mode and user mode function as a rudimentary form of protection (security) system?

    用户模式下只能执行非特权指令,如果在用户模式下试图执行特权指令,那么硬件并不执行该指令,而是认为该指令非法,并将其以陷阱(trap)的形式通知操作系统

    管理模式可以执行全部特权指令和非特权指令,具有访问所有资源并改变处理器状态的能力。

    特权指令包括:转换到用户模式,I/O控制,定时器管理和中断管理等。

     

    2.Which of the following instructions should be privileged?(特权)

    a. Set value of timer.                                  //设置定时器

    b. Read the clock.                                      //读时钟

    c. Clear memory.                                        //清空内存

    d. Issue a trap instruction.                          //发出一个trap指令

    e. Turn off interrupts.                                 //关闭中断

    f. Modify entries in device-statustable.     //修改设备状态表中的条目

    g. Switch from user to kernel mode.           //从用户模式切换到内核模式

    h. Access I/O device.                                //接入I/0设备

    Answer: a  c  e  f  h

     

    3.Distinguish between the client–server and peer-to-peer models of distributed systems.

    Answer: client-server(客户机-服务器系统)是以一个PC端作为中心系统响应用户的需求,其节点不对等。P2P系统模式节点对等,任何一个都可以作为客户机或服务器,解决了服务器瓶颈问题。

    计算机系统大致可分为4个组成部分:计算机硬件、操作系统、系统程序与应用程序、用户

    其关系如图(text editor 文本编辑器)

    硬件(hardware),如中央处理单元(central processing unit,CPU)、内存(memory)、输入输出设备(I/O devices),为系统提供基本的计算资源。

    应用程序,如文本处理程序、编译器、网络浏览器规定了用户以何种方式使用这些资源。

    操作系统控制和协调各用户的应用程序对硬件的使用。

     

    一个比较公认的定义是:操作系统是一直运行在计算机上的程序(通常称为内核),其他程序则为系统程序和应用程序。

     

    现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成,该总线提供了对共享内存的访问。每个设备控制器负责一种特定类型的设备。CPU与设备控制器可以并发工作,并竞争内存周期。为了确保对共享内存的有序访问,需要内存控制器来协调对内存的访问。

    概念整理:

    bootstrap program(初始化程序/引导程序):打开电源或重启时,计算机都需要运行这个初始化程序,用于初始化操作系统的所有部分。

    interrup(中断):事件的发生通常通过硬件或软件中断表示。硬件可随时通通过系统总线向CPU发出信号以触发中断,软件通过执行特别操作如系统调用(system call/monitor call)来触发系统中断。

    当CPU中断时,它暂停正在做的事并立即转到固定的位置去继续执行。该固定位置通常是中断服务程序开始位置的地址。中断服务程序开始执行,执行完后,CPU重新执行被中断的计算。

     

    存储结构:

    随机访问内存(random access memory,RAM)

    动态随机访问内存(dynamic random access memory,DRAM)

    内存通常是用DRAM的半导体技术来实现的。

    内存是易失性存储设备,所以计算机系统会提供辅存(secondary storage)以作为内存的扩充。如磁盘(magnetic disk),绝大多数程序会保存在磁盘上,直到要执行时才装入到内存。

     

    I/O结构

    ①I/O中断驱动:适合移动少量数据

    ②DMA(direct memory access,直接内存访问)用于大块的数据移动

    单处理器系统和多处理器系统:

    单处理器系统中,有一个主CPU能够执行一个通用指令集。一般以专用设备处理器的形式出现,如磁盘、键盘、图形控制器。

    多处理器系统(并行系统(parallel system) 或 紧耦合系统(tightly coupled system))有多个紧密通信的CPU,共享计算机总线(有时还有时钟、内存、外设等)

    多处理器系统有是三个主要优点:

    ①增加吞吐量:更短的时间做更多的事

    ②规模经济:共享资源的好处

    ③增加可靠性:分担故障

    分类:主要有两类

    非对称多处理(asymmetric multiprocessing):即每个处理器都有各自特定的任务。一个主处理器控制系统,其他处理器或者向主处理器要任务或做预先定义的任务。即主-从关系,主处理器调度从处理器并安排工作。

    对称多处理(symmetric multiprocessing,SMP):处理器对等

     

    双重操作模式:

    用户模式(user mode)

    内核模式(kernel mode / supervisor mode / system mode / privileged mode)

    在计算机硬件中增加一个模式位(mode bit)以表示当前模式:内核模式(0),用户模式(1)

    特权指令(privileged instruction):会引起损害的机器指令。如果在用户模式下试图执行特权指令,那么硬件将不会执行该指令,而是认为该指令非法,并将其以trap的形式通知OS。

     

    user mode 转 kernel mode 不是特权指令

    kernel mode 转 user mode 是特权指令

     

    分布式系统(Distributed Systems)

    分布式系统是一组物理上分开的,各种可能异构的计算机系统通过网络连接在一起为用户提供系统所维护的各种资源的计算机的集合。访问共享资源增加了计算速度、功能、数据可用性以及可靠性。

    TCP/IP协议是最常用的网络协议,对于操作系统而言,一个网络协议只简单地需要一个接口设备,如网络适配器,加上管理它的驱动程序以及按网络协议处理数据的软件。

    网络可根据节点间的距离来划分:局域网(local-area network,LAN)位于一个房间、一层楼或一栋楼内。广域网(wide-area netword,WAN)通常位于楼群、城市或国家之间。新型网络有蓝牙(BlueTooth)---实现数米内无线通信,等。

     

    客户机-服务器计算----------

    client-server系统 & P2P系统 都属于分布式系统

     

    Chapter2 操作系统结构

    QUESTION:

    1、操作系统为用户、进程和其他系统提供了什么服务?

    2、组织操作系统的方法?

    3、操作系统是如何安装、定制以及启动的?

    例题

    1.What is the purpose of system calls?

    Answer:

    系统调用提供了进程与操作系统间的接口,其目的就是让用户级空间能够请求系统级的服务。比如编写一个从一个文件读取数据并复制到另一个文件的简单程序,对于交互系统,这过程需要一系列的系统调用:首先在屏幕上写出提示信息,再从键盘上读取定义两个文件名称的字符。这个过程就需要许多I/O系统调用。后续也还需要许多各方面的系统调用,从中即可看出,系统调用的作用就是让用户级的进程能够请求操作系统的服务

     

    2.What are the three major activities of an operating system with regard to memory management?  (内存管理)

    Answer:

    ① 记录内存的哪些部分正在被使用以及被谁使用

    ② 当有内存空间时,决定哪些进程可以装载进内存

    ③ 根据需要分配和释放内存

    or

    1) 按需分配与释放回收内存

    2) job调度:当内存空间可用,决定将哪些进程调度入内存

    3) 跟踪内存的使用情况,即追踪内存的哪一部分被使用,使用对象是谁

     

    3.What are the three major activities of an operating system with regard to secondary-storage management? ()(二级存储/辅存)

    Answer:

    1) 对空闲的存储空间进行管理

    2) 给待存储的对象分配合适的存储空间

    3) 管理磁盘的调度

     

    4.What system calls have to be executed by a command interpreter or shell in order to start a new process?

    解:

    创建新进程的系统调用流程:

    (基于UNIX下的进程创建流程)

    当启动新进程,首先Shell或命令解释器执行fork()系统调用。接着,所选择的程序通过

    exec()装入内存,程序开始执行。fork调用克隆当前执行的进程,而exec调用基于不同

    的可执行文件覆盖一个新的进程

     

    5.What is the purpose of system programs?

    Answer:

    计算机的逻辑层次:最底层是硬件,上面是操作系统,接着是系统程序,最后是应用程序。系统程序提供了一个方便的环境,以开发程序和执行程序。其中一小部分只是系统调用的简单接口,其他的包括文件管理,状态信息,文件修改,程序语言支持,程序装入和执行,通信等。

    设计系统程序的目的,就是方便用户解决常见问题。系统程序将那些常用的系统调用打

    包在一起,提供接口,为用户提供基本的功能,避免用户重复编程去解决一些常见的问

    题。

     

    6.What is the main advantage of the layered approach to system design? What are the disadvantagesof the layered approach? (分层方法的优劣)

    Answer:

    优点:构造和调试的简单化---每一层被“限定”了相应的功能,调试时不用考虑其他层次出错的可能性。每层为较高层隐藏了一定的数据结构、操作和硬件的存在。较高层利用较低层所提供的功能来实现,不需要知道如何实现这些操作。

    缺点:效率较低,每层的信息传递需要额外的开销。例如,当一个用户执行I/O操作时,它执行系统调用,并陷入到I/O层,I/O层会调用内存管理层,内存管理层又调用CPU层,最后传递给硬件---每层都会增加额外开销(如参数传递等)。

    分层设计的难点在于对层的详细定义,现在使用数量更少而功能更多的分层设计。

     

    概念整理

    系统调用类型

    操作系统提供的服务/函数:

    为用户提供的服务包括:

    1) 用户界面(接口)

    用户界面是系统和用户之间进行交互和信息交换的媒介,它能够使得用户方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作。我们知道用户模式下是无法直接访问硬件的,因此当在需要访问硬件的情形下用户模式就无法提供相应的服务了。

    2) 程序执行

    程序执行这个服务提供的便利就是帮助用户将程序装载入内存中并运行该程序,且让该程序正常或不正常结束。由于根据设计,不能信任用户级的程序来分配 CPU的时间,因此,在任何要执行程序的情况下,用户级程序都无法提供程序执行的服务。

    3) I/O操作

    当某个用户程序运行时需要 I/O 设备,就需要 I/O 操作的帮助。对于特定的设备,需要特定的功能,这就是 I/O 操作为用户提供的便利。为了提高效率以及进行相应的保护,用户通常也无法直接控制 I/O 设备,因此通常的需要 I/O 操作的情况下,用户级程序都无法提供I/O操作这样的服务。

    4) 文件系统操作

    为了解决用户程序需要读写文件和目录,或根据文件名来创建和删除文件、搜索一个给定的文件、列出文件信息等的操作,提供了文件系统操作服务。这些操作有很多细节,有了这样的服务,用户就不必具体了解细节并实现功能。删除文件时需要删除名称文件信息并释放分配的块。还必须实施一系列的检查保护,以确保正确的文件访问。用户程序既不能确保,保护方法的安全性,也因不被信任而被限制无法分配空闲块和在文件删除时释放块。因此,在有这些需求的情况下,用户级程序都是无法提供这样的服务的。

    5) 通信

    许多情况中,进程间需要交换信息,这就是进程间的通信。系统间传递消息通过将消息转换为信息包来进行操作。系统将信息包发送到网络工作控制器,跨通信媒体传输,并由目标系统重新组装。这就是通信服务为用户提供的便捷功能。对于用户程序而言,它们没有办法正确找到网络设备的接口,不能协调网络设备间的通信。因此不能提供通信服务。

    为操作系统本身提供的服务/函数

    资源分配

    统计

    保护和安全

     

    微内核(microkernel)

    微内核即较小的内核,通过将一些非基本部分从内核中移走,将它们实现为系统程序或用户程序的方法称为微内核技术。关于哪些应该保留在内核中没有定论,微内核通常包括最小的进程和内存管理以及通信功能。

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

    微内核方法的好处之一在于便于扩充操作系统,所有新服务可以在用户空间增加而不用修改内核。

     

     

    展开全文
  •  A、 操作系统管理着计算机系统中的各种资源 B、 操作系统应为用户提供良好的界面 C、 操作系统是计算机系统中的一个应用软件 D、 操作系统向用户屏蔽了硬件操作细节2、(5分)下列关于批处理操作系统的叙述中,哪...

    第1章 操作系统概述

     

    1(5)下列关于操作系统的叙述中,哪一个是错误的?

     A、 操作系统管理着计算机系统中的各种资源

     B、 操作系统应为用户提供良好的界面

     C、 操作系统是计算机系统中的一个应用软件

     D、 操作系统向用户屏蔽了硬件操作细节

    2(5)下列关于批处理操作系统的叙述中,哪一个是正确的?

     A、 批处理操作系统的系统资源利用率不高

     B、 批处理操作系统的系统吞吐量小

     C、 用户不能直接干预自己作业的执行

     D、 批处理操作系统追求的目标是响应时间

    3(5)用户向操作系统提出服务请求一般有两种方式:终端命令和

     A、 宏命令

     B、 汇编语言

     C、 高级语言

     D、 系统调用

    4(5)下列哪一个不是操作系统的特征?

     A、 并发性

     B、 共享性

     C、 随机性

     D、 制约性

    5(5)下列关于并发概念的叙述中,哪个是正确的?

     A、 并发性是指若干程序在同一时刻执行

     B、 并发性是指若干程序在不同时刻执行

     C、 并发性是指若干程序在同一时间间隔内执行

     D、 并发性是指若干程序在不同时间间隔内执行

    6(5)在汽车电子系统中使用的操作系统应属于下列哪一类?

     A、 批处理操作系统

     B、 嵌入式操作系统

     C、 个人计算机操作系统

     D、 分布式操作系统

    7(5)下列哪一项不是嵌入式操作系统的特点?

     A、 交互性

     B、 低成本

     C、 高可靠性错选

     D、 占有资源少错选

    解析:

    资料https://blog.csdn.net/moqingxinai2008/article/details/53364468

     

    8(5)下列关于SPOOLing技术的叙述中,哪一个是错误的?

     A、 批处理系统常采用SPOOLing技术实现

     BSPOOLing技术是一种用磁盘空间换取时间的技术

     C、 作业的输入输出工作通常由SPOOLing系统完成错选

     DSPOOLing是一种独占设备技术

    9(5)下列哪一项是分布式操作系统与网络操作系统本质区别?

     A、 实现各台计算机之间的通信

     B、 共享网络中的资源

     C、 满足较大规模的应用

     D、 系统中若干台计算机相互协作完成同一任务

    10(5)操作系统对每一种资源的管理所完成的工作包括

     A、 实施资源分配

     B、 确定资源分配策略

     C、 对资源使用提供保护机制

     D、 记录资源的使用状况

    11(5)分时操作系统是典型的交互式系统,下列哪些因素与交互式系统相关?

     A、 响应时间

     B、 资源利用率错选

     C、 吞吐量

     D、 时间片

     E、 高可靠性

    12(5)设计实时系统时首先要考虑的是如何提高系统的资源利用率。

    正确 错误

    13(5)多道批处理系统是指那些有多个处理器同时处理作业的系统。

    正确 错误

    14(5)现代操作系统通常采用SPOOLing技术的思想实现网络打印功能

    正确 错误

    15(5)CPU上可以并发执行多个程序。

    正确 错误

     

     

    Spooling技术详解

    https://blog.csdn.net/qq_34649947/article/details/72626715

    定义

    又称,假脱机系统; 在联机的情况下实现的同时外围操作的技术称为SPOOLing技术,或称为假脱机技术。 

    组成

    1.输入井和输出井:输入井和输出井的存储区域是在磁盘上开辟出来的。输入输出井中的数据一般以文件的形式组织管理,这些文件称之为井文件。一个文件仅存放某一个进程的输入或输出数据,所有进程的数据输入或输出文件链接成为一个输入输出队列。 
    2.输入缓冲区和输出缓冲区:输入缓冲区和输出缓冲区的存储区域是在内存中开辟出来的。主要用于缓和CPU和磁盘之间速度不匹配的矛盾。输入缓冲区用于暂存有输入设备传送的数据,之后再传送到输入井;输出缓冲区 同理。 
    3.输入进程和输出进程:输入进程也称为预输入进程,用于模拟脱机输入时的外围控制机,将用户要求的数据从输入设备传送到输入缓冲区,再存放到输入井。当CPU需要的时候,直接从输入井将数据读入内存。反之,输出的同理。 
    4.井管理程序:用于控制作业与磁盘井之间信息的交换。

    特点

    1.提高了I/O的速度:,对数据执行的I/O操作,已从对低速I/O设备执行的I/O操作演变为对磁盘缓冲区中数据的存取,如同脱机输入输出一样,提高了I/O速度,缓和了CPU和低速的I/Os设备之间速度的不匹配的矛盾。 
    将独占设备改造成了共享设备:因为在假脱机打印机系统中,实际上并没有为任何进程分配设备,而只是在磁盘缓冲区中为进程分配了一个空闲盘块和建立了一张I/O请求表。 
    实现了虚拟设备功能:宏观上,对于每一个进程而言,它们认为是自己独占了一个设备,即使实际上是多个进程在同时使用一台独占设备。也可以说,假脱机系统,实现了将独占设备变换为若干台对应的逻辑设备的功能。

    展开全文
  • 30天自制操作系统学习-第1天

    万次阅读 多人点赞 2018-09-18 23:01:50
    第一天  1 批处理文件:直接由DOS命令行解释执行的文件,通常... 2 镜像文件:.img后缀的文件,可用于制作操作系统文件,一个3.5英寸的软盘容量为1440k。  3 nask:作者自己制作的汇编代码编译器,代码与nasm代码相差...

                                                                      第一天

     1 批处理文件:直接由DOS命令行解释执行的文件,通常后缀名为.bat或.cmd。

     2 镜像文件:.img后缀的文件,可用于制作操作系统文件,一个3.5英寸的软盘容量为1440k。

     3 nask:作者自己制作的汇编代码编译器,代码与nasm代码相差不大。

     4 qemu:虚拟机的一种,命令行操作。

    在作者给出的光盘文件中找到z_tools文件夹:

    helloos0版本:

    可以看到作者给出所需的nask.exe文件和make.exe,qemu.exe等文件。

    自己在硬盘任意位置新建项目文件夹,将z_tools文件夹放置与与helloos不同版本文件夹的同一个根目录下,如下图所示:

    作者给出的helloos0版本的OS是直接手动输入机器码产生的.img镜像文件,大小为1440kb,刚好为一个3.5寸软盘大小。

    这个helloos.img镜像文件可以直接使用虚拟机当做系统运行的,在这里我使用的是VMware虚拟机,新建虚拟机,在最后一步配置硬件时我们不使用光驱,添加一个软盘,,选取项目下的helloos.img文件:

    开启虚拟机,我们可以看到虚拟机屏幕中间出现了 hello word字样:

    我们使用sublime Text查看作者给出的helloos.img文件:

    可以看出.img文件为二进制数据,二进制数据是计算机可以理解的数据。但是作者给出的这个文件足足有9万多行二进制数据,

    如果手动操作输入的话,不免太过浪费时间。观察数据我们可以知道,在第9行二进制数据后的数据,全部都是0000 0000 0000

    0000,这些数据仅仅是为了凑够1440kb数据,凑够一个3.5英寸软盘大小。

     

    helloos1版本:

    为此我们需要学习汇编语言,使用汇编语言对内存进行分配。helloos.nas文件:

    这段nask代码定义的字节数刚好1440kb,其中的DB(Define Byte)是定义字节的意思,RESB则是预占内存空间的意思,

    RESB 16意思是从现在占用了16个字节,但是并不适用,默认为0x00(16进制),下述定义以此类推。

    你可以计算一下这样定义的字节数与作者给出的helloos.img的文件字节大小,结果恰好相等。

     

    现在我们使用作者的nask汇编文件定义好了一个1440kb大小的helloos1.nas文件(这里的1440kb并非helloos.nas文件大小),

    要如何编译成helloos.img映像文件呢。

    我们需要使用nask编译helloos1.nas文件,如果你使用VM虚拟机的话可以不使用作者推荐的qemu虚拟机,

    这里我们使用作者的qemu虚拟机尝试启动我们制作的helloos.img镜像系统文件,作者在这里使用了批处理文件对helloos1.nas的编译,运行。

    我们在helloos1文件夹下新建文本,输入文本 cmd.exe,保存文件,文件名修改为!cons_nt.bat。

    新建文本输入: ..\z_tools\nask.exe helloos.nas helloos.img 文件名修改为asm.bat,

    新建文本输入:

    copy helloos.img ..\z_tools\qemu\fdimage0.bin
    ..\z_tools\make.exe    -C ../z_tools/qemu

    文件名修改为run.bat。

    这时我们已经做好了编译helloos1.nas文件,以及使用qemu虚拟机运行编译生成的helloos1.img文件的准备。

    其中!cons_nt.bat的功能是在当前目录打开cmd命令行,

    asm.bat的功能是使用helloos1文件夹的同级文件夹z_tools文件夹下的nask.exe根据helloos.nas生成helloos.img。

    run.bat的功能是复制当前生成的hellloos.img镜像文件,使用qemu运行。

    具体批处理功能其实我们查看其中内容就知道大概意思了,这里至于nask如何将.nas文件编译成.img文件;以及qemu是如何运行.img镜像文件的,我们在此并不深究。

    接下来我们双击打开!cons_nt.bat文件,输入asm

    可以看到在helloos1.nas文件相同目录下生成了helloos.img文件,接着我们输入run,回车键入,执行run.bat:

    成功启动了qemu虚拟机,并且运行了我们使用helloos1.nas生成的helloos1.img镜像系统文件。

    当然qemu的使用是使用命令行的,比较麻烦,建议启用VM虚拟机。

    helloos2:

    helloos2与helloos1的不同之处是作者修改了其中的.nas汇编代码:

    ; hello-os
    ; TAB=4
    ; 以下这段是标准FAT12格式软盘专用的代码
    		DB		0xeb, 0x4e, 0x90
    		DB		"HELLOIPL"		; 启动区的名称可以是任意的字符串(8字节)
    		DW		512				; 每个扇区(sector)的大小(必须是512字节)
    		DB		1				; 簇(cluster)的大小(必须是1个扇区)
    		DW		1				; FAT的起始位置(一般从第一个扇区开始)
    		DB		2				; FAT的个数(必须为2)
    		DW		224				; 根目录的大小(一般设成224项)
    		DW		2880			; 该磁盘的大小(必须是2880扇区)
    		DB		0xf0			; 磁盘的种类(必须是0xf0)
    		DW		9				; FAT的长度(必须是9扇区)
    		DW		18				; 1个磁道(track)有几个扇区(必须是18)
    		DW		2				; 磁头数(必须是2)
    		DD		0				; 不使用分区,必须是0
    		DD		2880			; 重写一次磁盘大小
    		DB		0,0,0x29		; 意义不明,固定
    		DD		0xffffffff		; (可能是)卷标号码
    		DB		"HELLO-OS   "	; 磁盘的名称(11字节)
    		DB		"FAT12   "		; 磁盘格式名称(8字节)
    		RESB	18				; 先空出18字节
    ;程序主体
    		DB		0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c
    		DB		0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a
    		DB		0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x09
    		DB		0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb
    		DB		0xee, 0xf4, 0xeb, 0xfd
    
    ;信息显示部分
    		DB		0x0a, 0x0a		; 2个换行
    		DB		"hello, world"
    		DB		0x0a			; 换行
    		DB		0
    
    		RESB	0x1fe-$			; 填写0x00,直到0x00afe
    
    		DB		0x55, 0xaa
    ; 以下是启动区以外部分的输出
    		DB		0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
    		RESB	4600
    		DB		0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
    		RESB	1469432

    helloos2.nas不是使用定义机器码的形式,而是使用定义软盘扇区的形式,其中DW(Define Word)定义字,DD(Define Double word)定义双字。

    其中hellloos2文件夹下的批处理文件与helloos1一样,我们双击运行!cons_nt.bat文件,输入asm,run,生成helloos2.img镜像,

    并且在qemu虚拟机中运行,效果如下:

     

    至此我们完成了第一天的学习,使用汇编制作了一个能显示hello world的"OS"了,本文如有不对之处,请指正。

    光盘::https://github.com/ZhengRunDong/OS

     

     

     

     

     

     

     

     

     

    展开全文
  • 操作系统学习任务

    千次阅读 2020-04-16 11:13:25
    操作系统全部笔记目录见:操作系统笔记整理 多进程+文件操作 CPU+内存管理——内存管理 IO设备+磁盘——文件管理 操作系统立起来以后,上层应用通过系统调用来访问系统。 进程管理+文件管理,就实现了...

    操作系统全部笔记目录 见:操作系统笔记整理

    多进程+文件操作

    CPU+内存管理——内存管理

    IO设备+磁盘——文件管理

    操作系统立起来以后,上层应用通过系统调用来访问系统。

    进程管理+文件管理,就实现了单机。通过接口进入系统。内存通过地址进入

    展开全文
  • 小白如何学习操作系统

    千次阅读 多人点赞 2020-07-16 09:33:47
    很多读者问我如何学习操作系统?推荐几本操作系统可以看的书?操作系统都需要学什么?有哪些视频可以看吗?下面我就针对性的对这些问题做一下我自己的阐述。 学习操作系统不是为了让你设计一个操作系统,而是为了让...
  • 《王道操作系统学习笔记总目录+思维导图

    万次阅读 多人点赞 2020-02-20 19:02:14
    本篇文章是对《2021操作系统》所有知识点的笔记总结归档,会一直更新下去 之后我也会写组成原理、计算机网络、数据结构与算法、Java、Linux等底层和应用层的技术文章,并总结目录 希望在自己可以复习的同时,也能将...
  • 学习操作系统心得体会

    千次阅读 2019-12-16 23:00:47
    学习操作系统心得体会 很快的,一个学期的《操作系统》课程就要结束了,在这个学期,通过老师的传授和课本以及课下的阅读学习,让我对计算机操作系统的一些实现原理和简单的操作过程有了基本的了解。 在学习操作系统...
  • 银河麒麟操作系统(kylin os)学习

    千次阅读 2020-10-04 18:14:58
    poweroff # 关机命令 sudo su # 进入超级用户 su username # 切普通用户 Ctrl+Alt+t # 打开终端terminal窗口 Ctrl+Alt+d # 最小化全部应用,然后显示桌面 dpkg -i libqt5.deb # 按照deb类型的软件包 ...
  • 操作系统学习笔记(一)。本位简要介绍了批处理系统,多道程序系统,分时系统,实时系统和操作系统操作这五方面操作系统的基本介绍。
  • 不过没有关系我们发烧友专注于在快乐中学习,要学习STM32,我们首先了解下五大嵌入式操作系统:μClinux、μC/OS-II、eCos、FreeRTOS和RT-thread。 本文引用地址: ...
  • 从零开始学习UCOSII操作系统15--总结篇

    万次阅读 多人点赞 2018-04-06 11:17:19
    从零开始学习UCOSII操作系统15--总结篇 前言:在大学的时候,我们班级上面都有很多人觉得学习UCOSII(包括UCOSIII)是没什么厉害的,因为很多人都喜欢去学习Linux操作系统,但是,但是,真实的对整个UCOSII操作...
  • 操作系统》课程心得体会

    万次阅读 2018-12-23 23:43:53
    很快的,一个学期的《操作系统》课程就要结束了,在这个学期,通过老师的传授和课本以及课下的阅读学习,让我对计算机操作系统的一些实现原理和简单的操作过程有了基本的了解。  在学习操作系统之前,我在前面几个...
  • 嵌入式实时操作系统uc/os ii教程,非常好的东西

    千次下载 热门讨论 2009-08-28 10:29:57
    嵌入式实时操作系统uc/os ii教程,非常好的东西,适合菜鸟学习
  • 漫谈如何学习操作系统原理

    千次阅读 多人点赞 2016-03-02 10:36:55
    本人学习计算机技术至今,对于如何学习操作系统原理有一点自己的看法,现在写出来,希望对大家能有所助!  操作系统怎么学,首先要想操作系统是怎么来的,在没有操作系统的年代里,人们是怎么编程的。这是首要...
  • 从零开始学习机器学习视频教程

    万人学习 2017-12-04 22:38:30
    本门课程将系统入门机器学习,课程内容不光是对算法的学习,还包括诸如算法的评价,方法的选择,模型的优化,参数的调整,数据的整理,等等一系列工作。让大家对机器学习算法有个全面的了解,并应用到你的实际项目中...
  • 华为鸿蒙系统学习笔记1-介绍

    千次阅读 2019-08-12 16:46:00
    华为自研操作系统鸿蒙OS打通了手机、电脑、平板、电视、汽车、智能穿戴等产品,并兼容全部的安卓应用和Web应用的操作系统。 鸿蒙OS发布现场,余承东在现场发布了它的英文名——Harmony OS:鸿蒙用中文的意...
  • 本课程为全新马哥linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令...
  • linux操作系统的基本认识

    万次阅读 多人点赞 2018-10-10 12:58:29
    我刚开始学这个东西的时候也不太清楚,只是听别人说linux操作系统什么的。那linux到底是什么?我们来认识一下:  Linux是最知名和最常用的开源操作系统。作为一个操作系统,Linux是一个软件,位于计算机上的所有...
  • 本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令...
  • Linux操作系统基础

    万次阅读 多人点赞 2018-05-27 12:16:53
    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 Linux介绍 Linux出现于1991年,是...
  • 课程内容:为什么介绍物联网、嵌入式学习路线、常见物联网结构,物联网与嵌入式关系、面向物联网的开发涉及哪些事情、面向物联网的嵌入式开发的课程大纲、怎么学习物联网、嵌入式的这些课程,本课程的宗旨在于指导...
  • 准备学习一下操作系统查了很多资料,发现大神们统一推荐的两本好书。现代操作系统 Modern.Operating.Systems.Global.Edition.4th.Edition,这本书是教材,Tanenbaum 是谁不用多说了吧,估计 Linus 见了他也得叫一声...
  • 华为物联网操作系统LiteOS

    千人学习 2020-07-08 15:22:07
    物联网操作系统也是一种操作系统,他具有操作系统的普遍特性(以前前面我们才先学习泛性的普遍的操作系统),但是物联网操作系统有它很多独特的特性,华为的LiteOS就是一款非常典型的优秀的物联网操作系统,除此之外...
  • 从零开始学习UCOSII操作系统1--UCOSII的基础知识

    万次阅读 多人点赞 2018-03-24 19:13:20
    从零开始学习UCOSII操作系统1--UCOSII的基础知识前言:首先比较主流的操作系统有UCOSII、FREERTOS、LINUX等,UCOSII的资料相对比其余的两个操作系统的资料是多很多的。更重要的原因是自己本身还没有能力深入的研究...
  • 介绍了一些操作系统学习的经典书籍,包括理论上的、具体操作系统的。  Abraham Silberschatz的两本书: 1. 实用操作系统概念(影印版)  2. 操作系统概念(第六版 影印版)  这个作者绝对是顶尖级的,...
  • 学习操作系统的经典书籍

    万次阅读 2008-10-19 12:44:00
    介绍了一些操作系统学习的经典书籍,包括理论上的、具体操作系统的。 Abraham Silberschatz的两本书:1. 实用操作系统概念(影印版) 2. 操作系统概念(第六版 影印版) 这个作者绝对是顶尖级的,来自贝尔...
  • 数据结构,计算机网络,数据库,计算机组成原理,操作系统这些在大学期间一定要掌握好来,因为现在互联网大厂面试都爱考察这些内容,一句话,计算机基础,yyds! 可能大家第一个问题是,这些课需要哪些先学? 讲真,...
  • Linux系统编程:入门篇视频教程

    万人学习 2018-10-16 17:39:03
    Linux系统编程视频课程为《Linux系统编程》入门篇,主要针对零基础的Linux开发学员科普Linux系统编程的概念以及需要掌握的各种技能,掌握Linux命令编写、Linux学习路线并熟悉嵌入式设备编程的方法。为后续的Linux...
  • 这套中台系统由于讲解了如何统一管理企业内部各大应用系统的“菜单资源列表”、“操作权限”,故而本门课程的“代码实战”是建立在之前debug录制的“企业权限管理平台”这套课程的基础之上的,故而在这里debug建议...
  • 操作系统】RT-Thread 入门学习

    千次阅读 多人点赞 2019-08-22 10:30:19
    一、嵌入式操作系统 1.1 软实时与硬实时 硬实时操作系统:严格限定在规定时间内完成任务,否则就会导致灾难性的发生,例如导弹拦截系统、汽车引擎系统等。 软实时操作系统:可以允许偶尔出现一定的时间偏差,但是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,413,477
精华内容 565,390
关键字:

操作系统学习