首页 > > 详细

Operating System辅导Assembly Line Scheduler辅导Operating System

Assembly Line Scheduler. group,part。
 

Scenario

Poly-Comp Factory owns 3 assembly lines for producing a number of products. On average, each assembly line can produce 1,000 products (no matter what they are) a day. For each product, it requires the usage of different pieces of equipment to assist the production process. For example, Product_A needs Equipment_1 and Equipment_4 while Product_B needs only Equipment_3 to produce the final products. Recently, the factory manager found that quite a number of Orders could not be completed on schedule and the profit of the company was falling. For example, there was an Order for Product_A, but it was found that Equipment_1 was not available before the production because the required equipment was still in use to produce Product_E. Moreover, the capacity of the three assembly lines was not fully utilized according to company’s financial reports. Knowing that you have learnt algorithms about the “scheduling” in the Department of Computing, would you mind helping the company to address the problem?

In this project, we assume that there are only 5 different products (Product_A, Product_B, Product_C, Product_D and Product_E) to be produced and, 8 pieces of equipment (Equipment_1, , Equipment_8) to be used with the three assembly lines during the productions. You are asked to help the company to schedule the Orders in production as well to demonstrate that the assembly lines and pieces of equipment could be used in an efficient way.

Project Requirements

Indeed, it is an opportunity to apply the theory of process scheduling which you have learnt from COMP2432 to a daily-life scenario and to create a Schedule. This project consists of four parts:

Part 1

Write a program that allows user to add details of an order or a list of orders (Order_Number, Product_Item, Equipment_Item, Order_Quantity, etc) to the scheduler, ALS. This is referred to as the Input Module.

Part 2

Extend your program developed in Part 1 with a scheduler to generate a production schedule. The scheduler may implement different scheduling algorithms (for this project, at least two algorithms are implemented) which are similar to those covered in lectures. However, the “First Come First Served” (FCFS) must be included, which is the simplest and could be used as a yardstick for comparison among the produced schedules. For the other one, you may choose any but it should show an improvement (by comparing to the FCFS). This is the Scheduling Kernel, contained within Scheduling Module.

Part 3

In addition, to assist management to know more about the improved schedules, the program should provide facilities to print out the Schedules of each Assembly Line which produced according to the algorithms in Part 2. This is the Output Module.

Part 4

Provide the program with the ability to generate an analysis report for the results produced in Part 3. Combine and compare the different Schedules produced and, show all the improvements. That is, for the one you have chosen to implement, it should have a better performance than the one based on FCFS. By the way, a rejected list must be included in this report for those Orders that cannot be accepted. This final module is the Analyzer Module.

You must form a group of 4 to 5 (at most) persons for the project. The project must be implemented using programming language C and it must be successfully executed on ANY ONE of Linux Servers in the Department of Computing. You will have to specify to us on which Linux server your project would be executed (e.g. apollo, apollo2).

***** Note that quot;gccquot; is the only compiler that we are going to use in this project. *****

Implementation

User Interface

This application simply uses the “command line interface” (CLI) to interact with users. A user inputs various commands to add/create Orders in the scheduler (ALS) through a command prompt. The input methods may look like the following㱥⼠㹬൯ੲ⁥⁤†⁩⁥⁳
‮‼ 㱰㸊㰾⽾㹅ൌ੃⁏⁍⁅†⁔⁏†⁁㱌⽓㸍ഊ੐⁥⁡⁳㱥⼠㸺഍ਊ⁧⁴※†㱡㹥൲ਠ⁒‰‰‰‱†⁄‰㰰㹄ര਱‰†⁐⁲⁤⁵⁣⁴ ⁁†㰵㸰㱳⽥㹮൴੥⁲›‍ ⁧⁴※†⁡⁤⁤⁏㱲㹲㰳⼠㸰ഹਠ⁐⁲⁤⁵⁣⁴ 㱂⼠㸰ര਍ ⁐⁥⁡⁳⁥†㱥㹥൲਺‍ ⁧⁴※†⁡⁤⁤⁂⁡⁴㱣㹲㰠⽢㹣൨੟⁏⁲⁤⁥⁲ ‰‱‮⁤⁡⁴㰍㹬⁲⁐›⁴††⹥㱤⽵㸠൧ੴ※†⁁⁌⁓ ⁐⁲㱩⽯㹴൹੟‰‱‮⁴㱸⽴㹡൳੥㰠⽥㸍ഊ੧㱴㸠‭†Ⱪ⁣⁴⁓⁥†㨺㰍⼊㹴഻ਠ㱰㹮൴੒⁥⁰⁲㱴㹴⁌⁥⁲⁴⁐⁳⹴⁥⁴⁥⁧‍⁥⁣‾⁲⁩•ⱡ⁴⁉⁴☼㬊䐼⁆ㅯ♲㭩Ɱ⁰♵㭯䑳㉩♫㭨ⱥ⁹⁥⁥⁡⹷⁥䤠⁳⁴ⱨ⁥†⁲†⁲†⁰⁡⹴⁡䤠⁹Ⰽ ‾⁴⁷⁴⁩⁰⵲⁲⁩Ɱ⁥⹴⹲䑵でとㄠ⁴†䑡ば㙰ぬ⹩㱣⽡㹯൮ਠ⁩⁴⁥㱲㹣⁥⁩Ⱐ⁴⁧⁸⁲⁩†⁲†⁲⁥⁵⹥㱮⽴㸨൯ੲ⁤⁥⁲⁳㰩㹨⁸⁨⁰⁹⁶⁵⁳☠㭵䑲⁥䑳♧㭳⸠⁴Ⱐ⁳†⁴⁤⁳⹥††⁣⁥†ⴠ⁦†⁣⹥㱲⼠㸠൮੯⁴†⁴⁨㱥㹬⁨⁩⁧†⁴⹴⁩⁩♳㭲⁴䴠♳㭶⁥⁹⁹⁲⁰⁥Ⱞ†⁴⁧⁤⁴⁧⁩†⁣  ⡬⥥‾‼⹤‾†☠㬼†䴠☠㭨‾ ‾†‼⁲‍⸠†⁲⁴⁤†‼††‼†⸠‼䥴‾⁴‾††‾⁲⁤ⱥ⁣†⁤⁝⁸⡥⥤††⁤⡥⥱⁵⽩⁲⡛⥱⁵†⹲⁥䥤†‮⁤†‰⁤⁴⁁⁤†Ⰺ††⁲†††‾♕㭤☠㬠†⠠⁴⁳☠㭥♩㭥⤠⹤㱥⽴㹬൳ਠ⁦†⁡㱮㹲䥤⁲⡤⥱⁵‰⡲⥤ⁱ†⁲†⁥‱⁤※Ⱐ⁥⁣⁲…‰ㄱ〰〦╲⹤ⁱ※†⁸ⱥ⁤⁵⁴ⁱ⁴⁲※⁳⁥ⱴ†⁥⁰※‬⠠㔦ぬ╤ⁱ※㔵㔰┰⤰…※⁳⹡䥴⁲‼‍††⁴†‼‾⁴ⰼ⁴†⁴⁤††⸍㰊⼠㸠ഠਠ††††㰠㹴䑨⁃⁡⁴††‼⁤⁴⁲‍‼⁲†ㄠ‼⁨‍⹢䅤‾‼‾†ⱓ⁹⁸‾††⹴⁤⁂⁤⁢⁣†⁤ⱨ⁏⁢ ⁤⁤⁴ †⁴⸠㰠⼠㹴൲ਾ‍ ††㰠㸠䈠†⁳ 㕴╤‾††‼‾⁳⁴⁩⁰⁥⁡⁷⁳⁴⁰⁡⁴⁴⁰⸮㰠⽉㹩൳ਠ㱳⽩㹬൹ਠ㱴㌠⁲㵯≲⵩䙰≤㹥⁳䘠㱥⼠㍥㹸൴ਠ㱦㹲†⁷⁩⁳※⁴ⁱ⹳†⡴䥨†⁦⁴⁴Ⱐ⁩⁡⁡⁩⁤ ⸠⤼ ‍ ⁹ ⽢⼠⁤ †⸍㰊⼠㸠ഠਠ㰠㸠㰠㸾䅃 䱴 ㄠഠਠ䄠㨼⁴⁨䘾䍲䙵ുੌ※䐠㩮⁴䑓っとㅥ൤ੵ䕬 䑴㨊†††䐠〠㘠〠ഠ਼യੴ†⁥‾⁴㨾‍㘊〠†ഠਠ 㨠†††‼⁴⁤‾⁓⁹⁴⁡⁸‼ ㍴㝤‾ഠਠ䐠†⁴⁲㩌⁓†‭⁛⁡⁧⁲⁩⁴⁨⁝†㉛ば⁡൴੥䑲⁰㩨⁥⁤⁵⁥†⁧⁴※†⁛⁵⁴⁰⁵⁴†⁦㑩ぬ⁥൥੝㩓†‭⁐⁒††⁰⁲⁩⁴⁓⁣⁨⁥⁤⁵㙬㙥⸠㝧╴഻ਠ㱁⽌㹩㱯⽲㹟ര਱㰮㹸⁴††‍†☠㭴†☠㭤ⰾ⁕♳㬾†䐠☠㭤ⰾ⁆♯㭁䕌‭䑐☬㭳Ⱐ⁴♯㭴䐠⁥䐠♬㭯☠㭮⁥☠㭴⁨♧㭭⁥♥㭰⹬⁥䠠ⁱ♵㬠䕮⁤䑱☠㬠…ⁱ⁰⁩⁷⁨†…⡲※‾††⁴† ⁹ ⁡♢㬼䑴䑥☠㭨⥥⹡⁤䴾Ⱐ†⁲††ⰾ⁃⁨†††☠㭰♲㬾Ⰽ ⸠⸠†⁴ ㌠†‾†⹢㱯⽤㸾഍ਊ㰠㸠†††ⰾ⁓‼⁤ †‾⁩⁴※⹯⁦䄠ⱥ†⁰⁥‮⁲⁥⁴⁒⹲㱴⽟㸱മੴ㱸㹴㱤㸠⨠⨠⨠‾†⩲⨾⨍ഊਠഠਠ䄠‼㩳⁥䘼䌯䙴ാ਍ഊਠ††㤠㘼⁴⁳†⁴⹰䑲⁷†⁵㩯൮੥ഠ੩䅮‴䱝⁨†⁹䅺†⁥⁩䑴൭੭㵡㵲㵹㴠㵯㵦㴠㵥㵡㵣㵨㴠㵡㵬㵧㵯㵲㵩㵴㵨㵭㴠㵵㵳㵥㵤㴠㵩㵮㴠㵴㵨㵡㵴㴠㵡㵰㵰㵬㵩㵣㵡㵴㵩㵯㵮㴠㵡㵮㵤㴠㵨㵡㵶㵥㴠㵡㴠㵣㵯㵭㵰㵡㵲㵩㵳㵯㵮㴠㵯㵦㴠㵥ൡ੣㵨㴠ൡ੬䱧ㅨ†⁴†⁩⁤⁩⁣㍡㝴⁥†⁷⁨⁩⁣⁨†⁡⁧⁲⁩⁴㑨ね†⁷⁵⁤†⁨⁡⁶⁥†㙡㘠⹢㝥൴ੴ䱥㉲⁦⁲⁡⁣⁥‮†㍉㥮†⁡⁤⁤⁩⁴⁩‬†⁡†⁲⁥㕪㍥⁣⁴⁥⁤†⁲⁤⁥⁲†㡩㡳⹴㌠൩ੳ䰠㍵⁤⁥⁤‮‼ ⁴⁤‾‍㈊〠†††††††‼ ⁴⁲‾‍ †㌠㔠†‼ ⁴⁢⁤⁹‾‍ ‼㔯㡴⹡㍢൬੥㴾㴍㴊㴼㵴㵡㵢㵬㵥㴾㴍㴊㴠㴠㴠㴠㴼㵴㵨㵥㵡㵤㴾㴍㴊㴠㴠㴠㴠㴠㴠㴠㴠㴼㵴㵲㴾㴍㴊㴠㴠㴠㴠㴠㴠㴠㴠㴠㴠㴠㴠㴼㵴㵨㴾㵃㵯㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀ഀ਀㴀㴀ഀ਀⨀⨀⨀䔀䘀䴀䄀䌀䔀⨀⨀⨀ഀ਀ഀ਀䄀䔀䄀䜀䔀 䘀 䬀䤀䜀 䐀䄀 䘀 䠀䔀 ㌀ 䄀䔀䴀䈀䰀 䰀䤀䔀㨀  㐀㈀⸀㜀 䐀䄀ഀ਀䄀䔀䄀䜀䔀 䘀 䤀䰀䤀䄀䤀䤀㨀                           㜀㄀⸀㄀ ─ഀ਀ഀ਀䄀䰀 䬀䤀䜀 䐀䄀 䘀 䠀䔀 ㌀ 䄀䔀䴀䈀䰀 䰀䤀䔀㨀        ㄀㈀㠀⸀  䐀䄀ഀ਀䤀䰀䤀䄀䤀 䘀 䠀䔀 ㌀ 䄀䔀䴀䈀䰀 䰀䤀䔀㨀               㜀㄀⸀㄀ ─ഀ਀㰀⼀㸀㰀⼀㸀ഀ਀㰀㸀䤀           ⸀㰀⼀㸀ഀ਀㰀㸀䘀Ⰰ  ☀㬀  䰀☀㬀  Ⰰ       ⸀㰀⼀㸀ഀ਀㰀㸀㰀㸀⨀⨀⨀  䰀⨀⨀⨀ഀ਀䄀䰀 䴀䈀䔀 䘀 䐀䔀 䔀䌀䔀䤀䔀䐀㨀  ㄀㈀㘀ഀ਀ⴀ 䐀䔀 䄀䌀䌀䔀䔀䐀㨀  㤀㘀ഀ਀ⴀ 䐀䔀 䔀䨀䔀䌀䔀䐀㨀  ㌀ ഀ਀ഀ਀䔀䨀䔀䌀䔀䐀 䐀䔀 䰀䤀ഀ਀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀㴀ഀ਀⸀ഀ਀⸀ഀ਀ ㄀ ㄀ 䐀 ㌀㄀ 䐀 㐀  䄀 㠀   ഀ਀⸀ഀ਀⸀ഀ਀⸀ഀ਀  ㌀   ⸀ഀ਀㰀⼀㸀㰀⼀㸀ഀ਀㰀㸀䄀       Ⰰ        ⸀㰀⼀㸀ഀ਀㰀㌀ 㴀∀䔀ⴀ∀㸀䔀 㰀⼀㌀㸀ഀ਀㰀㸀䄀                Ⰰ         ⸀ 䘀 Ⰰ            ☀㬀 ☀㬀 ⸀ 䌀     ⸀㰀⼀㸀ഀ਀㰀㈀ 㴀∀䐀∀㸀䐀㰀⼀㈀㸀ഀ਀㰀㸀䄀     Ⰰ              㨀㰀⼀㸀ഀ਀㰀㸀ഀ਀    㰀㸀䤀 ⠀     㼀⤀㰀⼀㸀ഀ਀    㰀㸀 ⠀         㼀⤀㰀⼀㸀ഀ਀    㰀㸀䌀 ⠀    㼀⤀㰀⼀㸀ഀ਀    㰀㸀    ⠀ ⤀㰀⼀㸀ഀ਀    㰀㸀    㰀⼀㸀ഀ਀    㰀㸀  ⠀䠀       㼀⤀㰀⼀㸀ഀ਀    㰀㸀  ⠀䐀           Ⰰ           ⤀㰀⼀㸀ഀ਀    㰀㸀     ⠀䠀      㼀   䰀         㼀⤀㰀⼀㸀ഀ਀    㰀㸀䄀 ⴀ ⼀           ⸀㰀⼀㸀ഀ਀㰀⼀㸀ഀ਀㰀㈀ 㴀∀䐀∀㸀䐀㰀⼀㈀㸀ഀ਀㰀㸀       ㄀㄀ ⠀⤀⸀ 䔀   ㄀         ⸀        䤀䐀       䌀䴀㈀㐀㌀㈀  䜀 䘀      㠀㈀㄀⸀㰀⼀㸀ഀ਀㰀㸀Ⰰ        ⸀ 䐀 ⼀       ☀㬀   ⸀           ⸀㰀⼀㸀

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!