- 1
- 0
- 约1.65万字
- 约 3页
- 2026-02-16 发布于江苏
- 举报
第一章概述
1、什么是POSIX原则,为什么当代造作系统的设计必须遵照POSIX原则?
答:POSIX表达可移植操作系统接口(PortableOperatingSystemInterface)。
POSIX是在Unix原则化过程中出现的产物。
POSIX1003.1原则定义了一个最小的Unix操作系统接口。
任何操作系统只有符合这一原则,才有可能运营Unix程序。
2、什么是GNU?Linux与GNU有什么关系?
答:GNU是GNUIsNotUnix的递归缩写,是自由软件基金会的一个项目。
GNU项目产品包含emacs编辑器、著名的GNUC和Gcc编译器等,这些软件叫做GNU软件。
GNU软件和派生工作均合用GNU通用公共许可证,即GPL(GeneralPublicLicense)。
Linux的开发使用了众多的GUN工具。
3、Linux系统由哪些部分构成?Linux内核处在什么位置?
答:(1)符合POSIX原则的操作系统内核、Shell和外围工具。(2)C语言编译器和其余开发工具及函数库。(3)XWindow窗口系统。(4)各种应用软件,包含字解决软件、图象解决软件等。
Linux内核是全部Linux公布版本的关键。
第二章内存寻址
1、在80x86的存储器中,哪些存储器供通常用户使用?哪些存储器只能被操作系统使用?
答:通用存储器EAX,EBX,ECX,EDX,EBP(基址指针),ESP(堆栈指针),ESI(扩展源指针),EDI(扩展目标指针),还有EFLAGS(标志存储器).
专供操作系统使用的存储器:IDTR中止描述符存储器,GDTR全局描述符表存储器,LDTR局部描述符表存储器,TaskRegisters任务存储器,DebugRegister调试存储器,ControlRegister控制存储器,Model-SpecificRegisters模型专用存储器。
3、请用C语言描述段描述符表。
答:#includestdio.h>
#include<stdlib.h
#defineBASE_H0xff00
#defineBASE_M0x00ff
#defineBASE_L0xffff
#defineLIMIT_H0x000f
#defineLIMIT_L0xffff
#defineGRANULARITY0x0080
#defineSEGMENT_P0x8000
#defineSYSTEM_TYPE0x1000
#defineDPL0x6000
#defineTYPE_E0x0800
#defineTYPE_ED_C0x0400
#defineTYPE_RW0x0200
#defineTYPE_A0x0100
struct{
unsignedcharbase_high;
unsignedcharg:1;
unsignedcharother:3;
unsignedcharlimit_high:4;
unsignedcharP:1;
unsignedchardpl:2;
unsignedcharS:1;
unsignedcharE:1;
unsignedcharED_C:1;
unsignedcharRW:1;
unsignedcharA:1;
unsignedcharbase_middle;
unsignedshortbase_low;
unsignedshortlimit_low;
}gdt_t;
intmain(intargc,char*argv[])
{
//intgdt[4]={0x0fff,0x0000,0x9a00,0x00c0};//0x08
//intgdt[4]={0x7fff,0x0000,0x9a01,0x00c0};//0x10
//intgdt[4]={0x0002,0x8000,0x920b,0x00c0};//displaymemory
//intgdt[4]={0xffff,0xffff,0xffff,0xffff};//test
intgdt[4]={0x03ff,0x0000,0xf201,0x00c0};//ldt0
unsignedintbase,limit;
unsignedintgranularity;
unsignedintpresent,dpl,system_type,segment_type;
unsignedinttype_e,type_ed_c,type
原创力文档

文档评论(0)