几种操作系统调度算法
操作系统十大算法具体内容

操作系统十大算法具体内容操作系统是计算机系统的核心组成部分,主要负责管理计算机的硬件资源和提供各种系统服务。
操作系统算法是操作系统实现各种功能和服务的基础,包括进程调度、内存管理、文件系统等方面。
下面将介绍操作系统中的十大算法,以及它们在操作系统中的具体内容:1.进程调度算法进程调度算法决定了操作系统如何选择就绪队列中的进程分配处理机资源。
常见的进程调度算法包括先来先服务调度算法(FCFS)、最短作业优先调度算法(SJF)、轮转调度算法(RR)等。
这些算法基于进程的优先级、执行时间、资源需求等考虑,来决定选择哪个进程获得处理机资源。
2.内存管理算法内存管理算法决定了如何有效地分配和回收内存资源。
常见的内存管理算法包括固定分区算法、动态分区算法和虚拟内存管理算法等。
这些算法根据进程的内存需求和空闲内存空间的情况,来决定如何分配和回收内存资源。
3.页面置换算法页面置换算法是一种在虚拟内存管理中使用的算法,用于将进程的页面从磁盘中换入内存,并选择合适的页面进行置换。
常见的页面置换算法有最佳置换算法(OPT)、先进先出置换算法(FIFO)、最近最少使用置换算法(LRU)等。
这些算法根据页面的访问情况和页面的驻留时间来决定选择哪个页面进行置换。
4.文件管理算法文件管理算法决定了如何组织和管理文件系统中的文件。
常见的文件管理算法有顺序文件组织算法、索引文件组织算法、哈希文件组织算法等。
这些算法根据文件的访问特点和性能需求,来决定如何组织和管理文件数据。
5.磁盘调度算法磁盘调度算法决定了操作系统如何调度磁盘上的IO请求,以提高磁盘的访问效率。
常见的磁盘调度算法有先来先服务调度算法(FCFS)、最短寻半径优先调度算法(SSTF)、扫描调度算法(SCAN)等。
这些算法根据磁盘的寻道距离和IO请求的到达时间等因素,来决定选择哪个IO请求进行调度。
6.死锁检测和解决算法死锁是指多个进程因为互相等待而无法继续执行的情况。
常用的调度算法

常用的调度算法调度算法是指操作系统中用于决定进程何时执行、何时暂停等的一种算法。
常用的调度算法包括先来先服务(FCFS)、短作业优先(SJF)、优先级调度、时间片轮转等。
下面将对这些常用的调度算法进行详细介绍。
一、先来先服务(FCFS)先来先服务是最简单的调度算法之一,它按照进程到达的顺序进行调度,即谁先到谁先执行。
这种算法容易实现,但是存在“饥饿”现象,即如果某个进程长时间等待,则其他进程可能会一直占用CPU资源,导致该进程无法得到执行。
因此,在实际应用中,FCFS很少被使用。
二、短作业优先(SJF)短作业优先是一种以作业运行时间为依据的调度算法。
它通过预测每个进程需要运行的时间,并将其按照运行时间从小到大排序,然后依次执行。
这种算法可以最大限度地减少平均等待时间和平均周转时间,并且不会出现“饥饿”现象。
但是,在实际应用中,由于很难准确预测每个进程需要运行的时间,因此SJF也存在缺陷。
如果预测不准确,那么就会出现长作业等待短作业的情况,导致长作业的等待时间变长。
三、优先级调度优先级调度是一种按照进程优先级进行调度的算法。
每个进程都有一个优先级,系统会根据进程的优先级来决定下一个要执行的进程。
通常情况下,优先级越高的进程越有可能得到CPU资源。
但是,如果某个进程的优先级一直比其他进程高,那么其他进程就会一直等待,导致“饥饿”现象。
此外,在实际应用中,由于不同进程之间的优先级差别较大,因此可能会导致低优先级的进程长时间等待。
四、时间片轮转时间片轮转是一种按照时间片进行调度的算法。
它将CPU资源划分成若干个时间片,并将每个时间片分配给一个正在运行或等待运行的进程。
当一个进程用完了它所分配到的时间片后,系统会将其挂起,并将CPU资源分配给下一个等待运行的进程。
这种算法可以避免“饥饿”现象,并且能够保证所有正在运行或等待运行的进程都能够得到CPU资源。
但是,如果时间片太小,会导致进程频繁切换,影响系统性能;如果时间片太大,会导致长作业等待时间变长。
操作系统中的进程调度与资源分配算法

操作系统中的进程调度与资源分配算法在操作系统中,进程调度与资源分配算法是实现多任务并发执行的关键。
进程调度算法决定了哪些进程有权利使用CPU,并且在何时和多长时间内使用;而资源分配算法则决定了如何分配和管理系统中的资源,以满足进程的需要。
本文将探讨几种常见的进程调度与资源分配算法。
一、先来先服务(First-Come, First-Served)算法先来先服务是最简单的进程调度算法之一,它按照进程到达的顺序进行调度。
具体来说,当一个进程抵达系统时,系统会为其分配CPU,并且一直运行直到该进程结束或者发生阻塞。
这种算法的优点是简单易实现,但是存在长作业等待时间长的缺点。
二、短作业优先(Shortest Job First)算法短作业优先算法是基于任务的执行时间来进行调度的。
在该算法中,系统会选择最短执行时间的进程来先运行。
这样可以最大限度地减少平均等待时间,提高系统的响应速度。
然而,此算法需要预先知道每个进程的执行时间,而且对于长作业而言,存在“饥饿”的问题。
三、最高优先级(Highest Priority)算法最高优先级算法将每个进程赋予一个优先级,CPU将会优先调度优先级最高的进程。
这种算法可以确保紧急任务或重要任务得到及时的处理,但是当优先级存在相差较大的情况下,需要小心避免低优先级任务的饥饿问题。
四、时间片轮转(Round-Robin)算法时间片轮转算法把每个进程分配一个固定的时间片,例如10毫秒,每个进程运行一段时间后就切换到下一个进程,循环进行。
这种算法公平地分配CPU时间,并且能够有效避免长作业等待时间长的问题。
但是,如果时间片设置过小,会导致进程切换过于频繁,系统开销较大。
反之,设置过大可能会影响系统的响应速度。
资源分配算法也是操作系统中至关重要的一部分,下面列举几种常见的资源分配算法。
一、固定分配(Fixed Allocation)算法固定分配算法将系统的资源按比例分配给不同的进程。
操作系统中常用作业调度算法的分析

操作系统中常用作业调度算法的分析作业调度算法是操作系统中非常重要的一部分,它负责决定哪个进程应该被调度执行、以及在什么时候执行。
不同的作业调度算法会对系统的性能和资源利用率产生不同的影响,因此了解和分析常用的作业调度算法对于优化系统性能至关重要。
在操作系统中,常用的作业调度算法包括先来先服务(FCFS)、短作业优先(SJF)、最高响应比优先(HRRN)、优先级调度、轮转调度和多级反馈队列调度等。
下面对这些常见的作业调度算法进行详细分析。
1. 先来先服务(FCFS)先来先服务是最简单的作业调度算法之一,它按照作业到达的先后顺序来进行调度。
当一个作业到达系统后,系统会将其放入就绪队列,然后按照先来先服务的原则,依次执行队列中的作业。
FCFS算法的优点是实现简单、公平性好,但缺点也非常明显。
由于该算法没有考虑作业的执行时间,因此可能导致长作业等待时间过长,影响系统的响应时间和吞吐量。
2. 短作业优先(SJF)短作业优先算法是一种非抢占式作业调度算法,它会根据作业的执行时间来进行调度。
当一个作业到达系统后,系统会根据其执行时间与就绪队列中其他作业的执行时间进行比较,选取执行时间最短的作业进行执行。
SJF算法的优点是能够最大程度地减少平均等待时间,提高系统的响应速度和吞吐量。
但这种算法也存在缺陷,即当有长作业不断地进入系统时,可能导致短作业一直得不到执行,进而影响系统的公平性。
3. 最高响应比优先(HRRN)最高响应比优先算法是一种动态优先级调度算法,它根据作业的响应比来进行调度。
作业的响应比定义为(等待时间+服务时间)/ 服务时间,响应比越高的作业被优先调度执行。
HRRN算法的优点是能够最大程度地提高系统的响应速度,同时保持较高的公平性。
但由于需要不断地计算和更新作业的响应比,因此算法的复杂度较高。
4. 优先级调度优先级调度算法是一种静态优先级调度算法,它根据作业的优先级来进行调度。
每个作业在进入系统时就会被赋予一个优先级,系统会按照作业的优先级来决定执行顺序。
操作系统中常用作业调度算法的分析

操作系统中常用作业调度算法的分析作业调度是操作系统中的一个重要组成部分,它负责对待执行的作业进行排队和调度,以最大化系统资源的利用效率、满足用户需求、保证系统稳定性等目标。
常见的作业调度算法有先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转(RR)等,接下来我们分别对这几种算法进行分析。
1. FCFS调度算法先来先服务调度算法是操作系统中最简单的一种调度算法,也是最常用的一种调度算法。
它的处理方式是根据提交时间顺序,按照FIFO的顺序进行调度。
该算法的优点是简单易用,而且很容易实现。
同时,对于大多数情况下,该算法的资源分配相对公平。
但是,该算法存在着一些问题。
当一个作业的执行时间较长时,会大大降低系统的吞吐量,严重影响系统的效率。
因此,在实际应用中,该算法往往不能满足对作业的实时响应和高效完成的要求。
最短作业优先调度算法是一种非抢占式调度算法,它将作业按照其需要执行的时间长短大小进行排序,然后从执行时间最短的作业开始调度。
在实际应用中,该算法可以减少平均等待时间和平均周转时间,提高系统的效率和性能。
但是,该算法有个致命的缺点——它无法预测作业的执行时间。
如果一个长作业被排在了等待队列的前面,那么所有后续的短作业都要等待非常长的时间,这可能导致饥饿现象的出现。
3. 优先级调度算法优先调度算法是一种根据作业优先级大小进行调度的算法,可以根据作业的重要程度或紧急程度来设置不同的优先级。
该算法可以提高系统的响应速度和稳定性,满足系统特定的需求。
但是,该算法也存在着一些问题。
如果一个作业的优先级太高,那么其余的作业可能会一直处于等待状态,这种情况也会导致饥饿现象的出现。
此外,该算法的优先级设置需要有一定的经验和技巧,否则可能会对系统的性能产生不良影响。
4. 时间片轮转算法时间片轮转算法是一种循环调度算法,它将CPU的时间分成多个固定大小的时间片,然后在每个时间片内轮流执行等待队列中的作业,以便平均分配CPU资源。
操作系统四种调度算法

操作系统四种调度算法操作系统对进程的调度一般上有四种常见的算法。
下面由店铺为大家整理了操作系统的四种调度算法的相关知识,希望对大家有帮助!操作系统四重调度算法之一、先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。
当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。
在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。
该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。
操作系统四重调度算法之二、短作业(进程)优先调度算法短作业(进程)优先调度算法SJ(P)F,是指对短作业或短进程优先调度的算法。
它们可以分别用于作业调度和进程调度。
短作业优先(SJF)的调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。
而短进程优先(SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再重新调度。
操作系统四重调度算法之三、高优先权优先调度算法1.优先权调度算法的类型为了照顾紧迫型作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。
此算法常被用于批处理系统中,作为作业调度算法,也作为多种操作系统中的进程调度算法,还可用于实时系统中。
当把该算法用于作业调度时,系统将从后备队列中选择若干个优先权最高的作业装入内存。
当用于进程调度时,该算法是把处理机分配给就绪队列中优先权最高的进程,这时,又可进一步把该算法分成如下两种。
1) 非抢占式优先权算法在这种方式下,系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成;或因发生某事件使该进程放弃处理机时,系统方可再将处理机重新分配给另一优先权最高的进程。
操作系统常用调度算法

操作系统常⽤调度算法在操作系统中存在多种调度算法,其中有的调度算法适⽤于作业调度,有的调度算法适⽤于进程调度,有的调度算法两者都适⽤。
下⾯介绍⼏种常⽤的调度算法。
先来先服务(FCFS)调度算法FCFS调度算法是⼀种最简单的调度算法,该调度算法既可以⽤于作业调度也可以⽤于进程调度。
在作业调度中,算法每次从后备作业队列中选择最先进⼊该队列的⼀个或⼏个作业,将它们调⼊内存,分配必要的资源,创建进程并放⼊就绪队列。
在进程调度中,FCFS调度算法每次从就绪队列中选择最先进⼊该队列的进程,将处理机分配给它,使之投⼊运⾏,直到完成或因某种原因⽽阻塞时才释放处理机。
下⾯通过⼀个实例来说明FCFS调度算法的性能。
假设系统中有4个作业,它们的提交时间分别是8、8.4、8.8、9,运⾏时间依次是2、1、0.5、0.2,系统⾤⽤FCFS调度算法,这组作业的平均等待时间、平均周转时间和平均带权周转时间见表2-3。
表2-3 FCFS调度算法的性能作业号提交时间运⾏时间开始时间等待时间完成时间周转时间带权周转时间18280102128.4110 1.611 2.6 2.638.80.511 2.211.5 2.7 5.4490.211.5 2.511.7 2.713.5平均等待时间 t = (0+1.6+2.2+2.5)/4=1.575平均周转时间 T = (2+2.6+2.7+2.7)/4=2.5平均带权周转时间 W = (1+2.6+5.牡13.5)/4=5.625FCFS调度算法属于不可剥夺算法。
从表⾯上看,它对所有作业都是公平的,但若⼀个长作业先到达系统,就会使后⾯许多短作业等待很长时间,因此它不能作为分时系统和实时系统的主要调度策略。
但它常被结合在其他调度策略中使⽤。
例如,在使⽤优先级作为调度策略的系统中,往往对多个具有相同优先级的进程按FCFS原则处理。
FCFS调度算法的特点是算法简单,但效率低;对长作业⽐较有利,但对短作业不利(相对SJF和⾼响应⽐);有利于CPU繁忙型作业,⽽不利于I/O繁忙型作业。
操作系统的进程调度

操作系统的进程调度在计算机科学中,操作系统是一种控制和管理计算机硬件和软件资源的系统软件。
而进程调度是操作系统的一个重要组成部分,它负责协调和管理计算机中的进程,以提高计算机系统的性能和资源利用率。
进程调度的目标是通过合理地选择和安排进程的执行顺序,实现公平性、优先级、响应时间、吞吐量等需求,同时最大化地利用计算机资源。
为了达到这些目标,操作系统设计了多种进程调度算法,下面将介绍几种常见的调度算法。
一、先来先服务(FCFS)调度算法先来先服务调度算法是一种最简单的调度算法,即按照进程到达的顺序进行调度。
当一个进程到达系统时,它被分配到可用的处理器,并一直占用处理器,直到它完成或进入等待状态。
先来先服务调度算法的优点是简单且公平,每个进程都能等到自己的执行机会。
然而,它存在一个明显的缺点,即无法满足对响应时间的要求。
对于长时间的任务,它可能导致其他短任务的等待时间较长。
二、短作业优先(SJF)调度算法短作业优先调度算法是按照进程的执行时间长度进行排序,优先选择执行时间短的进程。
当一个进程到达系统时,操作系统会比较该进程的执行时间和当前正在执行的进程的执行时间,如果该进程的执行时间更短,那么它将被调度执行。
短作业优先调度算法的优点是能够最大程度地减少平均等待时间,提高了系统的响应速度和吞吐量。
然而,它可能导致长时间的任务一直被短任务抢占,从而造成长时间任务的不公平性。
三、轮转调度算法轮转调度算法是按照时间片的概念进行调度。
每个进程被分配一个固定的时间片,当时间片用完时,该进程会被暂停,并被放在就绪队列的末尾,让其他进程执行。
被暂停的进程会等待下一个时间片重新执行。
轮转调度算法的优点是公平且能够满足对响应时间的要求。
它保证了每个进程都有机会执行,并且可以使长时间任务和短时间任务都能得到合理的调度。
然而,对于长时间任务和I/O密集型任务,轮转调度算法可能会导致上下文切换的开销增加,降低系统的性能。
四、优先级调度算法优先级调度算法是根据进程的优先级进行调度,优先级高的进程将被优先执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
保证调度算法
基本思想:向用户做出明确的性能保证,然后去实现它.如你工作时有n个用户的登录,则你将获得cpu处理能力的1/n
算法实现:跟踪计算各个进程已经使用的cpu时间和应该获得的cpu时间,调度将转向两者之比最低的进程
五,保证调度算法
思想:向用户做出明确的性能保证,然后去实现它.
算法:容易实现的一种保证是:当工作时己有n个用户登录在系统,则将获得CPU处理能力的1/n.类似的,如果在一个有n个进程运行的用户系统中,每个进程将获得CPU处理能力的1/n.
实现方法:OS应记录及计算,各个进程在一定时间段内,已经使用的CPU时间和应该得到的CPU时间,二者之比小者优先级高.
5. 保证调度
一种完全不同的调度算法是向用户作出明确的性能保证,然后去实现它。
一种很实际并很容易实现的保证是:若用户工作时有n个用户登录,则用户将获得CPU处理能力的1/n。
类似地,在一个有n个进程运行的单用户系统中,若所有的进程都等价,则每个进程将获得1/n的CPU时间。
看上去足够公平了。
为了实现所做的保证,系统必须跟踪各个进程自创建以来已使用了多少CPU时间。
然后它计算各个进程应获得的CPU时间,即自创建以来的时间除以n。
由于各个进程实际获得的CPU时间是已知的,所以很容易计算出真正获得的CPU时间和应获得的CPU时间之比。
比率为0.5说明一个进程只获得了应得时间的一半,而比率为2.0则说明它获得了应得时间的2倍。
于是该算法随后转向比率最低的进程,直到该进程的比率超过它的最接近竞争者为止。
彩票调度算法
基本思想:为进程发放针对系统各种资源(如cpu时间)的彩票;当调度程序需要做出决策时,随机选择一张彩票,持有该彩票的进程将获得系统资源
合作进程之间的彩票交换
六,彩票调度算法
彩票调度算法:
为进程发放针对各种资源(如CPU时间)的彩票.调度程序随机选择一张彩票,持有该彩票的进程获得系统资源.
彩票调度算法的特点:
平等且体现优先级:进程都是平等的,有相同的运行机会.如果某些进程需要更多的机会,可被给予更多彩票,增加其中奖机会.
易计算CPU的占有几率:某进程占用CPU的几率,与所持有的彩票数成正比例.该算法可实现各进程占用CPU的几率.
响应迅速
各个进程可以合作,相互交换彩票.
容易实现按比例分配如图象传输率,10帧/s,15帧/s,25帧/s
6. 彩票调度
给用户一个保证,然后兑现之,这是个好想法,不过很难实现。
但是,有一个既可给出类似预测结果而又有非常简单的实现方法的算法,这个算法称为彩票调度(lottery scheduling)(Waldspurger和Weihl,1994)。
其基本思想是向进程提供各种系统资源(如CPU时间)的彩票。
一旦需要做出一项调度决策时,就随机抽出一张彩票,拥有该彩票的进程获得该资源。
在应用到CPU调度时,系统可以掌握每秒钟50次的一种彩票,作为奖励每个获奖者可以得到20ms的CPU时间。
为了说明George Orwell关于“所有进程是平等的,但是某些进程更平等一些”的含义,可以给更重要的进程额外的彩票,以便增加它们获胜的机会。
如果出售了100张彩票,而有一个进程持有其中的20张,那么在每一次抽奖中该进程就有20%的取胜机会。
在较长的运行中,该进程会得到20%的CPU。
相反,对于优先级调度程序,很难说明拥有优先级40究竟是什么意思,而这里的规则很清楚:拥有彩票f份额的进程大约得到系统资源的f 份额。
彩票调度具有若干有趣的性质。
例如,如果有一个新的进程出现并得到一些彩票,那么在下一次的抽奖中,该进程会有同它持有彩票数量成比例的机会赢得奖励。
换句话说,彩票调度是反应迅速的。
如果希望协作进程可以交换它们的彩票。
例如,有一个客户进程向服务器进程发送消息后就被阻塞,该客户进程可以把它所有的彩票交给服务器,以便增加该服务器下次运行的机会。
在服务器运行完成之后,该服务器再把彩票还给客户机,这样客户机又可以运行了。
事实上,如果没有客户机,服务器根本就不需要彩票。
彩票调度可以用来解决用其他方法很难解决的问题。
一个例子是,有一个视频服务器,在该视频服务器上若干进程正在向其客户提供视频流,每个视频流的帧速率都不相同。
假设这些进程需要的帧速率分别是10、20和25帧/秒。
如果给这些进程分别分配10、20和25张彩票,那么它们会自动地按照大致正确的比例(即10∶20∶25)划分CPU的使用。
7. 公平分享调度
到现在为止,我们假设被调度的都是各个进程自身,并不关注其所有者是谁。
这样做的结果是,如果用户1启动9个进程而用户2启动1个进程,使用轮转或相同优先级调度算法,那么用户1将得到90%的CPU时间,而用户2只得到10%的CPU时间。
为了避免这种情形,某些系统在调度处理之前考虑谁拥有进程这一因素。
在这种模式中,每个用户分配到CPU时间的一部分,而调度程序以一种强制的方式选择进程。
这样,如果两个用户都得到获得50% CPU时间的保证,那么无论一个用户有多少进程存在,每个用户都会得到应有的CPU份额。
作为一个例子,考虑有两个用户的一个系统,每个用户都保证获得50% CPU时间。
用户1有4个进程A、B、C和D,而用户2只有1个进程E。
如果采用轮转调度,一个满足所有限制条件的可能序列是:
A E
B E
C E
D
E A E B E C E D E …
另一方面,如果用户1得到比用户2两倍的CPU时间,我们会有
A B E C D E A B E C D E …
当然,大量其他的可能也存在,可以进一步探讨,这取决于如何定义公平的含义。
实时调度
实时系统:那些时间因素非常关键的系统
硬实时系统:存在必须满足的时间限制
软实时系统:可以容忍偶尔超过时间限制
周期性事件:每个一段固定的时间发生
非周期性事件:在不可预测的时间发生
可时刻调度的的实时系统:
设有m个周期性事件,事件i的周期为pi,其中每个事件需要ci秒的cpu时间来处理,可时刻调度的的实时系统必须满足:
c1/p1 + c2/p2 + … + cm/pm ≤ 1实时调度算法
动态实时调度算法:在运行时作出调度决定
静态实时调度算法:在系统启动之前完成所有的调度决策
经典实时调度算法
单比率调度算法:事先为每个进程分配一个与事件发生频率成正比的优先数,并采取抢占式分配策略
基本思想:为每个进程分配一个与事件发生频率成正比的优先数.例如,周期为20ms 的进程优先数为50,周期为100ms的进程优先数为10,运行时调度程序总是调度优先数最高的就绪进程,并采取抢占式分配策略.
限期调度算法:当一个事件发生时,对应的进程就被加入就绪进程队列,该就绪队列按照截止期限排序
限期调度算法
基本思想:当一个事件发生时,对应的进程就按照截止期限被加入就绪进程队列.对于一个周期性事件,其截止期限即为事件下一次发生的时间.该调度算法首先运行队首进程,即截止时间最近的那个进程.
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.
Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.
Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.
толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.
以下无正文。