操作系统 ucore lab0

2023-12-03 18:49
文章标签 操作系统 ucore lab0

本文主要是介绍操作系统 ucore lab0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境配置及x86-32硬件简介

虚拟环境

因课程需要,在之前进行计算机网络实验时,下载安装过VMware,现在我使用的版本为VMware 15 Pro。

操作环境

正巧的是,我为了比较不同版本的Linux系统,在电脑上同时装有Ubuntu 18.04.1、CentOS 7和Kali Linux,所以我也直接使用了已有的Ubuntu 18.04.1,由于之前没有过多使用,所以该虚拟机还处于裸机状态,符合本次实验的使用要求。

配置过程

1.换源

1.备份文件:

mv /etc/apt/sources.list /etc/apt/sourses.list.backup

2.新建并打开文件:

sudo gedit /etc/apt/sources.list

3.写入文件:

# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

4.刷新一下:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
2.gcc
apt-get install gcc

成功下载安装 gcc 7.4.0。
在这里插入图片描述

3.qemu
下载:wget https://download.qemu.org/qemu-4.1.0.tar.xz
解压源代码:tar xvJf qemu-4.1.0.tar.xz
进入qemu目录内:cd qemu-4.1.0
对源代码包进行配置:./configure
编译:make

对源代码包配置时遇到问题,解决如下:

错误1:
checking for pkg-config... no
pkg-config not found
configure: error: Please reinstall the pkg-config distribution
解决方法:
sudo apt-get install pkg-config错误2:
ERROR:glib-2.40 gthread-2.0 is required to compile QEMU
解决方法:
sudo apt-get install libglib2.0-dev错误3:
ERROR: pixman >= 0.21.8 not present.
Please install the pixman devel package.
解决方法:
sudo apt-get install libpixman-1-dev

成功下载安装 qemu 4.1.0。
在这里插入图片描述

4.git
sudo apt-get install git

成功下载安装 git 2.17.1。
在这里插入图片描述

5.gdb
apt-get install gdb

成功下载安装gdb 8.1.0。
在这里插入图片描述

6.Eclipse-CDT
sudo apt-get install eclipse-cdt

成功下载安装Eclipse-CDT 8.6.0-2
在这里插入图片描述

x86-32硬件

运行模式

实模式下只有16位的寻址空间,且没有保护机制。
保护模式有32位的寻址空间,有强大的保护机制来确保操作系统的安全,确保应用程序之间的安全。
在这里插入图片描述

内存框架
寄存器

在这里插入图片描述

  • 通用寄存器
    在这里插入图片描述

  • 段寄存器
    段寄存器用来寻址。在实模式和保护模式下,段寄存器代表的含义不同。
    在这里插入图片描述

  • 指令和标志寄存器
    对于16位而言,由CS和EIP共同决定地址。
    对于32位保护模式而言,CS和EIP有了新的含义,它们结合在一起来完成对32位地址空间的寻址,此时EIP表示指令的段内偏移地址。
    EFLAGS通过标志位BIT的0~1,来表示一些状态,比如加法是否溢出。有一些BIT不能由应用程序来修改,只能是由运行在特权态的操作系统来修改。
    在这里插入图片描述

  • 控制寄存器(CR0,CR1,CR2,CR3)
    用于控制和确定处理器的操作模式以及当前执行任务的特性。
    CR0:保护控制位和协处理器控制位。
    CR2和CR3:由分页管理机制使用。

  • 系统地址寄存器、调试寄存器和测试寄存器
    系统地址寄存器:为了方便快速地定位GDT、LDT和IDT,处理器采用一些特殊的寄存器保存这些段的基地址和段界限。
    调试寄存器:一共有8个调试寄存器DR0-DR7,DR0-DR3可以分别设置4个断点的线性地址,DR4-DR5保留未用,DR6是断点状态寄存器,DR7是断点控制寄存器(包括断点类型、断点长度,断点开放/禁止)。
    测试寄存器: 一共有8个测试寄存器TR0-TR7,TR0-TR2保留,TR3-TR5用作CACHE测试,TR6为命令测试寄存器,TR7为测试数据寄存器。

这篇关于操作系统 ucore lab0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/450492

相关文章

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

1、简述linux操作系统启动流程

1、简述linux操作系统启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启

操作系统是怎么为不同的程序分配所需的内存空间的

操作系统为不同的程序分配内存空间的过程涉及多个关键步骤,确保每个程序都有其所需的内存资源,同时避免程序之间的冲突。以下是操作系统如何为程序分配内存空间的详细过程: 1. 内存管理的基础概念 虚拟内存:现代操作系统使用虚拟内存机制来为程序提供隔离的内存空间。每个程序运行在其独立的虚拟地址空间中,这使得程序间的内存互不干扰。物理内存:实际的 RAM(随机存取存储器),由操作系统和硬件共同管理。虚拟

操作系统安全保护

操作系统安全概述 概念:满足安全策略要求,具有响应安全机制及安全功符合特定安全标准,在一定约束条件下 能抵御常见网络安全威胁,保障自身安全运行及资源安全 安全等级:根据安全功能和安全保障要求分为 用户自主保护级  系统审计保护级 安全标记保护级 结构化保护级 访问验证保护级 操作系统作用: 负责计算系统的资源管理、支撑和控制各种应用程序运行,为用户提供计算机系统管理接口 是构成网络信息

Linux操作系统命令集(一)

最近开了操作系统的课,弄着虚拟机的linux系统命令学学 文件和目录操作命令: ls:列出目录内容 示例:ls -l 以长格式列出目录内容cd:切换目录 示例:cd /home/user 切换到 /home/user 目录mkdir:创建目录 示例:mkdir new_directory 创建名为 new_directory 的目录rmdir:删除空目录touch:创建空文件或更新文件的时间戳

操作系统分页式存储管理

每次输入地址后,计算出页号,若页号越界,则给出错误提示。否则依次调用FIFO和LRU算法,这里值得注意的是,由于我们的FIFO算法先于LRU算法被调用,那么当在处理FIFO算法时,我们暂且不将位视图相应位置做变化,留到处理LRU算法再做处理。 对于FIFO、LRU算法的缺页,我们分两种情况考虑,第一种是模拟栈内还有空间,那么直接将其入栈。第二种是模拟栈内无空间,要发生置换。发生置换时把模拟栈最底

linux定时监听ssh服务是否启动-------麒麟操作系统永久关闭swap

linux监听ssh服务是否启动 1、监听脚本2、定时任务3、麒麟操作系统,永久关闭swap 1、监听脚本 #在/usr/local/bin目录下新建脚本文件 cd /usr/local/bintouch check_sshd.sh#给可执行权限chmod +x /usr/local/bin/check_sshd.sh 脚本内容如下: #!/bin/bashs

【银河麒麟高级服务器操作系统实例】虚拟化平台系统服务中断现象分析及处理建议

服务器环境以及配置 【机型】虚机 处理器: Kunpeng-920 内存: 40G 【内核版本】 4.19.90-23.8.v2101.ky10.aarch64 【OS镜像版本】 银河麒麟操作系统 Kylin-Server-10-SP1-Release-Build20-20210518-arm64 【第三方软件】 智能运维系统、mysql数据集群 现象描述 环境描

VMware17 虚拟机下载以及 CentOS8 操作系统安装配置 一条龙全教程

目录 一、安装 vmware workstation 虚拟机  二、安装 CentOS8 操作系统 三、安装 FinalShell 远程连接 一、安装 vmware workstation 虚拟机     安装中...(耐心等待)  到此安装完成,点击启动运行  激活码如下:  MC60H-DWHD5-H80U9-6V85M-8280D

操作系统之虚拟机

虚拟机(Virtual Machine, VM)是一种通过虚拟化技术将一台物理计算机虚拟化为多个独立的虚拟计算机的技术。每个虚拟机都可以运行自己的操作系统,仿佛它们是独立的物理计算机。虚拟机的引入大大提高了计算资源的利用率,并提供了更大的灵活性。 虚拟机的定义 虚拟机是通过虚拟化技术在一台物理计算机上创建的多个虚拟计算环境。每个虚拟环境(虚拟机)都可以运行一个独立的操作系统和应用程序,仿