ÒÔ´ËÀàÍÆ£¬µ±½ø³Ìµ÷¶ÈÖÁµÚ11ÂÖ´Îʱ£¬È«²¿½ø³ÌÔËÐÐÍê±Ï²¢Ïú»Ù£¬ÈýÌõ¶ÓÁÐÈ«²¿Î¢¿×£¬Õû¸ö½ø³Ìµ÷¶ÈÍê±Ï£º
Áù¡¢µ÷ÊÔ×ܽἰÐĵÃÌå»á
µÚÒ»´ÎʵÑéÓÉÓڽ̲ÄÓÐÀàËƵijÌÐòÔ´Â룬ËùÒÔÏà¶ÔÀ´Ëµ»¹ÊDZȽϼòµ¥£¬ÎÒÖ»ÐèÒª¸ü¸ÄÆäÖÐÒ»²¿·ÖËã·¨¾Í¿ÉÒÔʵÏֶ༶¶ÓÁе÷¶ÈËã·¨£¬µ«ÊÇÎÒÔÚʵÏÖ¹ý³ÌÖл¹ÊÇѧµ½²»ÉÙ¶«Î÷£¬ÖØÐÂÎÂÏ°ÁËÒ»±éCÓïÑÔ£¬ÌرðÊÇÖ¸ÕëºÍ½á¹¹Ì岿·Ö£¬Íê³ÉÒ»¸ö¹¦ÄÜÄ£ÄâÊ×ÏȱØÐëÀí½âÆäÖеÄËã·¨£¬È»ºóÉè¼Æ³öÁ¼ºÃµÄÊý¾Ý½á¹¹ÊÇÍê³ÉÕâ´ÎʵÑéµÄ¹Ø¼ü£¬ÔÚÕû¸öʵÑéÁ÷³ÌÖУ¬¶ÔÓÚ²»Í¬¹¦ÄÜÄ£¿éÖ¸ÕëµÄÉè¼ÆºÍʹÓ÷dz£ÖØÒª£¬±ØÐëÈ·¶¨ÄÇЩָÕëÊÇÈ«¾ÖÖ¸Õ룬ÔËÐÐʱÐè²»ÐèҪʱ³£¸Ä±ä£¬ÄÄЩָÕë±ØÐëÉèÖÃΪ¾Ö²¿×÷ΪµÚÈýÕßʹÓá£Õâ¶ÔºóÆÚµ÷BUG¸øÓëÁËÎҺܴóµÄ·½±ã ¡£
Æß¡¢Ë¼¿¼Ìâ
1¡¢·ÖÎö²»Í¬µ÷¶ÈËã·¨µÄµ÷¶È²ßÂÔ£¬±È½Ï²»Í¬µ÷¶ÈËã·¨µÄÓÅȱµã£¬×ܽáËüÃǵÄÊÊÓ÷¶Î§ ´ð£º
¡°×î¸ßÓÅÏÈÊýÓÅÏÈ¡±ÊǸù¾Ý½ø³ÌµÄÓÅÏȼ¶Êý¾ö¶¨ÊÇ·ñÔËÐеģ¬´ËËã·¨ÓÃÓÚÅú´¦ÀíϵͳÖУ¬Ò²×÷Ϊ¶àÖÖ²Ù×÷ϵͳÖеĽø³Ìµ÷¶ÈËã·¨£¬»¹¿ÉÓÃÓÚʵʱϵͳÖС£
¡°ÂÖת·¨¡±Ï൱ÓÚÏÈÀ´ÏÈ·þÎñ¸ß¶ÈËã·¨£¬Ã¿´Î¶¼Êǵ÷¶Èºó±¸×÷ÒµÖеĵÚÒ»¸ö£¬Õâ¸öËã·¨±È½ÏÓÐÀûÓÚ³¤½ø³Ì£¬²»ÀûÓڶ̽ø³Ì¡£
13
ѧºÅ£º ÐÕÃû£º Ð×÷Õߣº________
ʵÑé__¶þ__ÌâÄ¿__ ×÷Òµµ÷¶È_______ µÚ ÖÜÐÇÆÚ
Ò»¡¢ÊµÑéÄ¿µÄ
±¾ÊµÑéÒªÇóѧÉúÄ£Äâ×÷Òµµ÷¶ÈµÄʵÏÖ£¬Óø߼¶ÓïÑÔ±àдºÍµ÷ÊÔÒ»¸ö»ò¶à¸ö×÷Òµµ÷¶ÈµÄÄ£Äâ³ÌÐò£¬Á˽â×÷Òµµ÷¶ÈÔÚ²Ù×÷ϵͳÖеÄ×÷Óã¬ÒÔ¼ÓÉî¶Ô×÷Òµµ÷¶ÈËã·¨µÄÀí½â¡£
¶þ¡¢ÊµÑéÄÚÈݺÍÒªÇó
1¡¢Îªµ¥µÀÅú´¦ÀíϵͳÉè¼ÆÒ»¸ö×÷Òµµ÷¶È³ÌÐò
(1)¡¢±àд²¢µ÷ÊÔÒ»¸öµ¥µÀ´¦ÀíϵͳµÄ×÷Òµµ÷¶ÈÄ£Äâ³ÌÐò¡£ (2)¡¢×÷Òµµ÷¶ÈËã·¨£º·Ö±ð²ÉÓÃÏÈÀ´ÏÈ·þÎñ£¨FCFS£©£¬×î¶Ì×÷ÒµÓÅÏÈ£¨SJF£©¡¢ÏìÓ¦±È¸ßÕß
ÓÅÏÈ£¨HRN£©µÄµ÷¶ÈËã·¨¡£
ÏÈÀ´ÏÈ·þÎñ¾ÍÊÇÿ´Îµ÷¶È¶¼ÊÇ´Óºó±¸×÷Òµ¶ÓÁÐÖУ¬Ñ¡ÔñÒ»¸ö×îÏȽøÈë¸Ã¶ÓÁеÄ×÷Òµ£¬½«Ëüµ÷ÈëÄڴ棬ΪËü·ÖÅä×ÊÔ´¡¢´´½¨½ø³Ì£¬È»ºó·ÅÈë¾ÍÐ÷¶ÓÁУ¬Í¶ÈëÔËÐУ¬Ò»Ö±ÔËÐе½Íê³É»ò·¢Éúijʼþ¶ø×èÈûºó£¬²Å·ÅÆú´¦Àí¡£
×î¶Ì×÷ÒµÓÅÏÈÊǴӺ󱸶ÓÁÐÖÐÑ¡ÔñÒ»¸ö¹À¼ÆÔËÐÐʱ¼ä×î¶ÌµÄ×÷Òµ£¬½«Ëüµ÷ÈëÄÚ´æÔËÐв¢Ò»Ö±Ö´Ðе½Íê³É£¬»ò·¢Éúijʼþ¶ø±»×èÈû·ÅÆú´¦Àíʱ£¬ÔÙÖØе÷¶È¡£ ÏìÓ¦±È¸ßÕßÓÅÏÈÊÇͨ¹ý¼ÆËã³ö×÷ÒµµÄÏìÓ¦±È£¬°´ÏìÓ¦±È¸ß¶ø½øÐе÷¶ÈµÄ£¬Æä¼Æ
Ë㹫ʽÊÇ£ºÓÅÏÈȨ£½£¨µÈ´ýʱ¼ä+ÒªÇó·þÎñʱ¼ä£©/ÒªÇó·þÎñʱ¼ä.
(3)¡¢ÓÉÓÚÔÚµ¥µÀÅú´¦ÀíϵͳÖУ¬×÷ҵһͶÈëÔËÐУ¬Ëü¾ÍÕ¼ÓмÆËã»úµÄÒ»ÇÐ×ÊÔ´Ö±µ½×÷ÒµÍê³ÉΪֹ£¬Òò´Ëµ÷¶È×÷ҵʱ²»±Ø¿¼ÂÇËüËùÐèÒªµÄ×ÊÔ´ÊÇ·ñµÃµ½Âú×㣬ËüËùÕ¼ÓÃµÄ CPUʱÏÞµÈÒòËØ¡£
(4)¡¢Ã¿¸ö×÷ÒµÓÉÒ»¸ö×÷Òµ¿ØÖÆ¿éJCB±íʾ£¬JCB¿ÉÒÔ°üº¬ÈçÏÂÐÅÏ¢£º×÷ÒµÃû¡¢Ìύʱ
¼ä¡¢ËùÐèµÄÔËÐÐʱ¼ä¡¢ËùÐèµÄ×ÊÔ´¡¢×÷ҵ״̬¡¢Á´Ö¸ÕëµÈµÈ¡£×÷ÒµµÄ״̬¿ÉÒÔÊÇ
µÈ´ýW(Wait)¡¢ÔËÐÐR(Run)ºÍÍê³ÉF(Finish)ÈýÖÖ״̬֮һ¡£Ã¿¸ö×÷ÒµµÄ×î³õ״̬×ÜÊǵȴýW¡£
(5)¡¢¶ÔÿÖÖµ÷¶ÈËã·¨¶¼ÒªÇó´òӡÿ¸ö×÷Òµ¿ªÊ¼ÔËÐÐʱ¿Ì¡¢Íê³Éʱ¿Ì¡¢ÖÜתʱ¼ä¡¢´øȨ
ÖÜתʱ¼ä£¬ÒÔ¼°Õâ×é×÷ÒµµÄƽ¾ùÖÜתʱ¼ä¼°´øȨƽ¾ùÖÜתʱ¼ä£¬²¢±È½Ï¸÷ÖÖËã·¨µÄÓÅȱµã¡£
Èý¡¢ÊµÑéÖ÷ÒªÒÇÆ÷É豸ºÍ²ÄÁÏ
ʵÑé»·¾³
Ó²¼þ»·¾³£º¸öÈĘ̈ʽ»ú Microsoft Windows XP Professional (SP3) Èí¼þ»·¾³£ºCÓïÑÔ±à³Ì»·¾³£¬VC++ 6.0
ËÄ¡¢ÊµÑéÔÀí¼°Éè¼Æ·½°¸
14
1¡¢ÊµÑéÔÀí
ÏÈÀ´ÏÈ·þÎñËã·¨£ºÊÇ°´ÕÕ×÷Òµ½øÈëÊäÈë¾®µÄÏȺó´ÎÐòÀ´ÌôÑ¡×÷Òµ£¬ÏȽøÈëÊäÈë¾®µÄ×÷ÒµÓÅÏȱ»ÌôÑ¡£¬µ±ÏµÍ³ÖÐÏÖÓеÄÉÐδ·ÖÅäµÄ×ÊÔ´²»ÄÜÂú×ãÏȽøÈëÊäÈë¾®µÄ×÷Òµ£¬ÄÇô˳ÐòÌôÑ¡ºóÃæµÄ×÷Òµ¡£ FCFSËã·¨¼òµ¥Ò×ÐУ¬µ«ÐÔÄÜÈ´²»´óºÃ¡£
¶Ì×÷ÒµÓÅÏÈËã·¨£º×ÜÊÇ°´ÕÕ×÷ÒµÒªÇóÔËÐÐʱ¼äÀ´Ñ¡Ôñ×÷Òµ£¬Ã¿´ÎÌôÑ¡ÒªÇó×÷ÒµÖ´ÐÐʱ¼ä¶ÌÇÒ×ÊÔ´ÒªÇóÄÜÂú×ãµÄ×÷ÒµÓÅÏÈ·ÖÅÉ´¦Àí»ú£¬Í¨³£ºóÀ´µÄ¶Ì×÷Òµ²»ÇÀÏÈÕýÔÚÖ´ÐеÄ×÷Òµ¡£SJF¸ÄÉÆƽ¾ùÖÜתʱ¼äºÍƽ¾ù´øȨÖÜתʱ¼ä£¬Ëõ¶Ì×÷ÒµµÄµÈ´ýʱ¼ä ,Ìá¸ßϵͳµÄÍÌÍÂÁ¿,µ«¶Ô³¤×÷Òµ·Ç³£²»Àû¡£
ÏìÓ¦±È¸ßÕßÓÅÏÈËã·¨£º×î¸ßÏìÓ¦±ÈÓÅÏÈ·¨(HRN£¬Highest Response_ratio Next)ÊǶÔFCFS·½Ê½ºÍSJF·½Ê½µÄÒ»ÖÖ×ÛºÏƽºâ¡£FCFS·½Ê½Ö»¿¼ÂÇÿ¸ö×÷ÒµµÄµÈ´ýʱ¼ä¶øδ¿¼ÂÇÖ´ÐÐʱ¼äµÄ³¤¶Ì£¬¶øSJF·½Ê½Ö»¿¼ÂÇÖ´ÐÐʱ¼ä¶øδ¿¼Âǵȴýʱ¼äµÄ³¤¶Ì¡£Òò´Ë£¬ÕâÁ½ÖÖµ÷¶ÈËã·¨ÔÚijЩ¼«¶ËÇé¿öÏ»á´øÀ´Ä³Ð©²»±ã¡£HRNµ÷¶È²ßÂÔͬʱ¿¼ÂÇÿ¸ö×÷ÒµµÄµÈ´ýʱ¼ä³¤¶ÌºÍ¹À¼ÆÐèÒªµÄÖ´ÐÐʱ¼ä³¤¶Ì£¬´ÓÖÐÑ¡³öÏìÓ¦±È×î¸ßµÄ×÷ҵͶÈëÖ´ÐС£ ÏìÓ¦±ÈR¶¨ÒåÈçÏ£º R =(W+T)/T = 1+W/T
ÆäÖÐTΪ¸Ã×÷Òµ¹À¼ÆÐèÒªµÄÖ´ÐÐʱ¼ä£¬WΪ×÷ÒµÔÚºó±¸×´Ì¬¶ÓÁÐÖеĵȴýʱ¼ä¡£Ã¿µ±Òª½øÐÐ×÷Òµµ÷¶Èʱ£¬ÏµÍ³¼ÆËãÿ¸ö×÷ÒµµÄÏìÓ¦±È£¬Ñ¡ÔñÆäÖÐR×î´óÕßͶÈëÖ´ÐС£ÕâÑù£¬¼´Ê¹Êdz¤×÷Òµ£¬Ëæ×ÅËüµÈ´ýʱ¼äµÄÔö¼Ó£¬W / TÒ²¾ÍËæ×ÅÔö¼Ó£¬Ò²¾ÍÓлú»á»ñµÃµ÷¶ÈÖ´ÐС£ÕâÖÖËã·¨ÊǽéÓÚFCFSºÍSJFÖ®¼äµÄÒ»ÖÖÕÛÖÐËã·¨¡£ÓÉÓÚ³¤×÷ÒµÒ²Óлú»áͶÈëÔËÐУ¬ÔÚͬһʱ¼äÄÚ´¦ÀíµÄ×÷ÒµÊýÏÔȻҪÉÙÓÚSJF·¨£¬´Ó¶ø²ÉÓÃHRN·½Ê½Ê±ÆäÍÌÍÂÁ¿½«Ð¡ÓÚ²ÉÓÃSJF ·¨Ê±µÄÍÌÍÂÁ¿¡£ÁíÍ⣬ÓÉÓÚÿ´Îµ÷¶ÈÇ°Òª¼ÆËãÏìÓ¦±È£¬ÏµÍ³¿ªÏúÒ²ÒªÏàÓ¦Ôö¼Ó¡£
2¡¢Éè¼Æ·½°¸
struct source{ /*¶¨Òå×ÊÔ´ÐèÇó½á¹¹*/ char memery[5]; /*Ö÷´æÐèÇó*/ };
struct jcb { /* ¶¨Òå×÷Òµ¿ØÖÆ¿éPCB */ char name[10];
char state; /* ״̬ */
double super; /* ÏìÓ¦±ÈÓÅÏÈȨ */ int ntime; /* ÐèÒªÔËÐÐʱ¼ä */ int rtime; /* ¿ªÊ¼ÔËÐÐʱ¼ä */
int ptime; /*Ìύʱ¼ä*/ int ftime; /*Íê³Éʱ¼ä*/ int machine; /*´Å´ø»úÊýÁ¿*/
source *needsources; /*×ÊÔ´ÐèÇóÁ´*/
struct jcb* link; /* ÏÂÒ»¸ö×÷Òµ¿ØÖÆ¿éµÄµØÖ· */ }*ready=NULL,*run,*p;
15
3¡¢ ³ÌÐòÁ÷³Ìͼ ÓÃÏÈÀ´ÏÈ·þÎñËã·¨µ÷¶È¶ÓÊ××÷ҵͶÈëÔËÐУ¬¸ü¸Ä×÷ҵ״̬ΪR£¬¼Çס×÷Òµ¿ªÊ¼ÔËÐÐʱ¼ä£¬ÐÞ¸ÄÏÂÒ»×÷ÒµÖ¸ÕëµÈ£¬¼ÆËãÔËÐÐ×÷ÒµiµÄÍê³Éʱ¿Ì£¬ÖÜתʱ¼äºÍ´øȨÖÜתʱ¼ä ×÷Òµµ÷¶ÈËã·¨£¿ ¿ªÊ¼ ³õʼ»¯×÷ÒµJCBºÍ×ÊÔ´source£¬ËùÓÐ×÷Òµ°´ÕÕÏȺó˳ÐòÅÅÁУ¬×÷ÒµÌύʱ¼äΪϵͳĬÈÏʱ¼äp->ptime=Systemtim£¬×÷ÒµÍê³Éʱ¼äp->ftime=0 1 ÏÈÀ´ÏÈ·þÎñËã·¨ 2 ¶Ì×÷ÒµÓÅÏÈËã·¨ 3 ÏìÓ¦±È¸ßÓÅÏÈËã·¨ ÓöÌ×÷ÒµËã·¨µ÷¶ÈÐèÇóʱ¼ä×î¶ÌµÄ×÷ҵͶÈëÔËÐУ¬¸ü¸Ä×÷ҵ״̬ΪR£¬¼Çס×÷Òµ¿ªÊ¼ÔËÐÐʱ¼ä£¬ÐÞ¸ÄÏÂÒ»×÷ÒµÖ¸ÕëµÈ£¬¼ÆËãÔËÐÐ×÷ÒµiµÄÍê³Éʱ¿Ì£¬ÖÜתʱ¼äºÍ´øȨÖÜתʱ¼ä ÓÃÏìÓ¦±È¸ßÓÅÏÈËã·¨£¬ÏȼÆËãËùÓÐ×÷Òµ¸ßÏìÓ¦±È£¬µ÷¶È¶ÓÏìÓ¦±È×î¸ßµÄÊ××÷ҵͶÈëÔËÐУ¬¸ü¸Ä×÷ҵ״̬ΪR£¬¼Ç¼×÷Òµ¿ªÊ¼ÔËÐÐʱ¼äºÍÍê³Éʱ¼ä£¬ÐÞ¸ÄÏÂÒ»×÷ÒµÖ¸ÕëµÈ£¬¼ÆËãÔËÐÐ×÷ÒµiµÄÍê³Éʱ¿Ì£¬ÖÜתʱ¼äºÍ´øȨÖÜתʱ¼ä Y ×÷ÒµÔËÐÐÍê±Ï£¿ ÊͷŸÃ×÷ÒµÕ¼ÓÃ×ÊÔ´ N N µÈ´ý¶ÓÁпգ¿ ½áÊø Y ¼ÆËã²¢´òÓ¡Õâ×é×÷ÒµµÄƽ¾ùÖÜתʱ¼ä¼°´øȨƽ¾ùÖÜתʱ¼ä
16