下列不属于 *** 作系统管理功能的是:数据库管理
计算机 *** 作系统功能包括:处理器管理、存储器管理、设备管理、文件管理、作业管理等功能模块
1、处理器管理
处理器管理最基本的功能是处理中断事件。处理器只能发现中断事件并产生中断而不能进行处理。配置了 *** 作系统后,就可对各种事件进行处理。处理器管理的另一功能是处理器调度。处理器可能是一个,也可能是多个,不同类型的 *** 作系统将针对不同情况采取不同的调度策略。
2、存储器管理
存储器管理主要是指针对内存储器的管理。主要任务是:分配内存空间,保证各作业占用的存储空间不发生矛盾,并使各作业在自己所属存储区中不互相干扰。
3、设备管理
设备管理是指负责管理各类外围设备(简称:外设),包括分配、启动和故障处理等。主要任务是:当用户使用外部设备时,必须提出要求,待 *** 作系统进行统一分配后方可使用。当用户的程序运行到要使用某外设时,由 *** 作系统负责驱动外设。 *** 作系统还具有处理外设中断请求的能力。
4、文件管理
文件管理是指 *** 作系统对信息资源的管理。在 *** 作系统中,将负责存取的管理信息的部分称为文件系统。文件是在逻辑上具有完整意义的一组相关信息的有序集合,每个文件都有一个文件名。文件管理支持文件的存储、检索和修改等 *** 作以及文件的保护功能。
5、作业管理
每个用户请求计算机系统完成的一个独立的 *** 作称为作业。作业管理包括作业的输入和输出,作业的调度与控制(根据用户的需要控制作业运行的步骤)
扩展资料
*** 作系统中设备管理的功能
1、缓冲管理
为达到缓解CPU和I/O设备速度不匹配的矛盾,达到提高CPU和I/O设备利用率,提高系统吞吐量的目的,许多 *** 作系统通过设置缓冲区的办法来实现。
2、设备分配
设备分配的基本任务是根据用户的I/O请求,为他们分配所需的设备。如果在I/O设备和CPU之间还存在设备控制器和通道,则还需为分配出去的设备分配相应的控制器和通道。
3、设备处理
设备处理程序又称设备驱动程序。其基本任务是实现CPU和设备控制器之间的通信。
4、设备独立性和虚拟设备
用户向系统申请和使用的设备与实际 *** 作的设备无关
参考资料来源:百度百科——计算机 *** 作系统功能
参考资料来源:百度百科—— *** 作系统设备管理
#include "iostream.h"#include "iomanip.h"
#define nofreearea 2
#define noadequacyarea 3
#define allocated 4
#define noprocess 2
#define nosuchprocess 3
#define reclaimed 4
typedef struct TUN
{
int address
int size
char name
struct TUN *next
} usedarea , *usedtable
typedef struct TFN
{
int address
int size
struct TFN *next
} freearea, *freetable
usedtable usedTable = NULL
freetable freeTable = NULL
int alloc( char processname , int processsize )
{
if( freeTable == NULL )
return 1
freetable p = freeTable
freetable q = p
while( p != NULL &&p->size <processsize )
{
q = p
p = p->next
}
if( p == NULL )
return 3
usedtable x = new usedarea
x->address = p->address
x->size = processsize
x->name = processname
x->next = NULL
if( p->size >processsize )
{
p->size -= processsize
p->address += processsize
}
else
{
if( p == freeTable )
freeTable = NULL
else
q->next = p->next
delete p
}
usedtable r = usedTable
usedtable t = r
while( r != NULL &&r->address <x->address )
{
t = r
r = r->next
}
if( usedTable == NULL )
usedTable = x
else
{
x->next = r
t->next = x
}
return 4
}
int Reclaim( char processname )
{
if( usedTable == NULL )
return 1
usedtable p = usedTable
usedtable q = p
while( p != NULL &&p->name != processname )
{
q = p
p = p->next
}
if( p == NULL )
return 3
freetable r = freeTable
freetable t = r
freetable x
while( r != NULL &&r->address <p->address )
{
t = r
r = r->next
}
x = new freearea
x->address = p->address
x->size = p->size
x->next = NULL
if( r == freeTable )
{
x->next = r
freeTable = x
t = freeTable
}
else
{
x->next = r
t->next = x
}
while( t->next != NULL &&t->address + t->size == t->next->address )
{
t->size += t->next->size
r = t->next
t->next = t->next->next
delete r
}
if( p == usedTable )
{
usedTable = usedTable->next
}
else
q->next = p->next
delete p
return 4
}
int Init()
{
freeTable = new freearea
freeTable->address = 0
freeTable->size = 128
freeTable->next = NULL
return 1
}
void processrequest()
{
char processname
int processsize
cout<<"...................."<<endl
cout<<"作业名: "
cin >>processname
cout<<"作业长度: "
cin >>processsize
if(processsize<=128)
{int i
if( alloc( processname , processsize) == 4 )
{
i=i+processsize
if(i>128)
{cout<<"该作业超出空间"<<endl
}
if(i<=128)
cout<<"该作业已成功获得所需空间"<<endl
i=i+processsize
cout<<"........................................"<<endl
}
else
cout<<"该作业超出空间,没有获得所需空间"<<endl
cout<<"........................................"<<endl
return
}
if(processsize>128)
{cout<<"该作业超出空间"<<endl
cout<<"........................................"<<endl
}
}
void processreclaim()
{
int processname
cout<<"...................."<<endl
cout<<"作业名: "
cin >>processname
int result = Reclaim( processname )
if( result == 4 )
cout<<"该作业已成功回收"<<endl
else if( result == 2 || result == 1 )
cout<<"系统没有作业或该作业不存在"<<endl
cout<<"...................."<<endl
}
void freeTablePrint()
{
cout<<endl<<endl<<endl<<"***********************************"<<endl
cout<<setw(10)<<"address"<<setw(10)<<"length"<<setw(10)<<"state"<<endl<<endl
freetable p = freeTable
usedtable q = usedTable
int x , y
while( p || q )
{
if( p )
x = p->address
else
x = 0x7fffffff
if( q )
y = q->address
else
y = 0x7fffffff
if( x <y )
{
cout<<setw(10)<<p->address<<setw(10)<<p->size<<setw(10)<<"空闲"<<endl
p = p->next
}
if( x >y )
{
cout<<setw(10)<<q->address<<setw(10)<<q->size<<setw(10)<<"已分配"<<setw(10)<<"ID="<<q->name<<endl
q = q->next
}
}
cout<<endl<<endl<<endl<<"************************************"<<endl<<endl<<endl
}
void main()
{
Init()
int choose
bool exitFlag = false
while( !exitFlag )
{
cout<<"************************0 - 退出 ************************"<<endl
cout<<"************************1 - 分配主存 ************************"<<endl
cout<<"************************2 - 回收主存 ************************"<<endl
cout<<"************************3 - 显示主存 ************************"<<endl<<endl<<endl
cout<<"************************选择所要执行的 *** 作:"
cin>>choose
switch( choose )
{
case 0:
exitFlag = true
break
case 1:
processrequest()
break
case 2:
processreclaim()
break
case 3:
freeTablePrint()
break
}
}
}
进行抽象?还是进行管理?如果是进行抽象。就请您赐教。如果是管理的话。对于CUP(中央处理器)也就是处理机。CUP是计算机系统中最重要的硬件资源,也就是相当于人的大脑。---(重要性。计算机的一切处理运算都是在CPU中完成的,只有得到计算机的处理数据,用户的任务才能得到处理。)---(CPU的功能,这点很容易知道。因为在计算机硬件系统中。我们知道CPU是由运算器和控制器组成。运算器就是对数据进行逻辑运算等等。那么这里说道的数据从什么地方来。分两部分。内存和自身的寄存器。经行处理之后,把处理过的数据保存在内存和自身的寄存器上。)处理器的占有和利用率之间关系到计算机和用户任务的处理效率。---(这点应该是清楚的。就不再多说了。)继续。每台电脑就只有1个CUP。当多个用户使用同一个计算机的时候,那么 *** 作系统就要分配把处理机交给那个用户先使用。还有就是这个用户的使用时间---(关于这点。我以前不知道怎么一台计算机还可以多人使用。不是就我一个人么。。其实我觉得。肯定有这样的情况的。比如说在QQ上共享资源。可能不恰当。意思是一样的)
那么一个大型的 *** 作系统肯定提供的很丰富的调度资源。由 *** 作系统的管理有设置。那么调度的策略有:分时调度。优先调度。排队调度。---(这些调度都顾名思义,就不需要在讲什么了)。这个就是 *** 作系统对CPU的管理。小结下。其实就讲了。关于CPU怎么怎么重要。然后功能是什么。那么CPU的占有和它的利用率就会影响计算机和用户任务的处理效率。那么之后又讲了。怎么来配分以及它的调度策略。如果你想了解某种调度策略怎么来调度的话。就去查点资料就OK了。。
存储管理也就是内存管理。我们先来看下它管理是管理的什么。1:对于内外存交换信息的管理。2:配合硬件做地址转换和存储保护的工作。3:进行存储空间的分配和回收。---如果不知道怎么来内外存信息管理。配合硬件做地址转换和存储保护工作。以及存储空间的分配和回收。先记下来再说。。说道这里会遇到几个问题。我们知道多个用户程序共用一个计算机系统的时候,往往就会公用计算的内存储器。如果把各个用户程序和数据隔离互不干扰。又能共享一些数据。那么就对这个存储空间经行保护和分配。那么存储管理的功能有 1:内存的分配---就是当多个进程同时进入到内存当中,如何来分配内存空间。哪些空间是已经分配的。哪些空间是为分配的。那么按照如何的算法和分配策略使得这个空间充分运用。那么这就是内存分配需要做的事情了。。但是怎么去做。查阅有关资料 - -.....2:地址的转换和重定位--用户在程序中使用的是逻辑地址。那么CUP执行程序的时候是按照物理地址来经行访问的。那么这个存储管理的软件配合硬件把逻辑地址转换成物理地址。3:存储保护--每个程序都在自己所属的内存区中 *** 作。那么必须要保证他们不能相互的干扰。以及破坏。因此。一般由硬件提供保护功能。软件配合实现。
4:内存共享---其实就和QQ群中共享资源都是一样的。了解它是什么就可以了。5:存储的扩展--那么就是把内存的空间扩大。那么用到的技术就是虚拟存储技术。知道这个就可以了
设备管理,设备管理就是计算机中除CUP内存以外的所有输入和输出管理。功能--1:缓冲管理,由于CPU和i/o设备的速度很大。为了缓和这一矛盾。通常在设备管理中建立I/O缓冲区,对缓冲区的有效管理是设备管理的一向重要任务。2:设备分配,根据用户程序提出的I/O请求和系统中设备的使用情况。按照一定的策略。将所有设备分配给申请者。3:设备处理程序,对于未设置通道的计算机系统其基本任务通常是实现CPU和设备控制器之间的通信。4:设备的独立性和虚拟设备。设备的独立性,是指。用户在编写程序的时候,无需了解系统具体配置了哪些设备。只需要为所需的设备起个逻辑名就可以了。。。。。。。如果还有什么不理解的。。就咪我哈。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)