Үлдсэн хугацааг тооцоолох үйл явц. Төлөвлөлт (тооцоолох). "Jet Infosystems" шинэлэг технологи, шийдлийн төвийн техникийн захирал


Өмнөх хэд хэдэн хэсэгт тайлбарласан бүх зүйл нь үндсэн процессын цаг хугацааны асуудлыг цаашид судлах, бага хэмжээгээр практик хэрэглээнд чиглэв. Энэ цоорхойг нөхөхийн тулд үйл явцын хувьслын талаарх статистик мэдээлэлд үндэслэн үйл явцын зөв хугацааг тооцоолох аргуудын нэгийг тоймлон хүргэе.

Төлөв нь бодит х хувьсагчаар тодорхойлогддог нэг хэмжээст процессыг авч үзье. Үйл явцын динамикийн ажиглалтыг одон орны t хугацаанд хийсэн гэж бодъё, ингэснээр t = tk ба x = xk, k = 1, ..., n нь тогтмол ажиглалтын моментууд ба төлөв байдлын харгалзах утгууд болно. үйл явц. Математикийн олон янзын аргууд байдаг бөгөөд тэдгээр нь цэгүүдийг (t k, Xk) дайран өнгөрөх, эсвэл "хамгийн сайн аргаар" ойртох муруйг бүтээх боломжийг олгодог. Үүссэн x = x (t) функцууд нь бидний оюун ухаанд авч үзэх үйл явц нь селестиел биетүүдийн механик хөдөлгөөнөөс хамаардаг тул түүний төлөв байдал нь одон орны t цаг хугацаагаар илэрхийлэгддэг гэсэн сэтгэгдлийг төрүүлдэг. Ийм дүгнэлтийг тооцоолж болно; үйл явцын цаашдын явцыг урьдчилан таамаглах оролдлого нь байнгын бэрхшээл байхгүй байсан бол. Тэнгэрийн биетүүдийн механик хөдөлгөөнтэй шууд хамааралгүй олон тооны янз бүрийн процессуудын хувьд ажиглалтын интервалаас гадуур х = x (t) функцийг ашиглан олж авсан онолын таамаглал нь дараагийн туршилтын өгөгдлөөс ихээхэн хазайж эхэлдэг. Онол ба туршилтын зөрүүгийн шалтгааныг ихэвчлэн амжилтгүй сонгосон боловсруулалтын аргаар тайлбарлахыг оролддог боловч асуудлын мөн чанар нь үүнд ороогүй байж магадгүй юм.

Бидний сонирхсон аливаа үйл явц Орчлон ертөнцөд явагддаг. Тэр мэдээж селестиел биетүүдийн хөдөлгөөний нөлөөг "мэдэрдэг". Гэсэн хэдий ч, энэ нөлөөлөл нь "хатуу биш", тодорхой бус байж болно. Энэ нь ялангуяа одон орны цаг хугацааны урсгалын тодорхой интервалд үйл явцын төлөв байдал өөрчлөгдөөгүй хэвээр байгаагаар илэрч болно. Үүнтэй холбогдуулан гаднах ертөнцөөс тусгаарлагдсан хаалттай хоосон өрөөний жишээг эргэн санацгаая. Өрөөнд зөвхөн нэг амьд амьтдыг нисгэе. Хэдэн өдрийн дотор гэрийн ялаа системийн төлөв байдал өөрчлөгдөх нь ялааны хөдөлгөөнөөс хамаарна, учир нь байшингийн төлөв байдал өөрчлөгдөхийг хүлээх боломжгүй юм. Үүний зэрэгцээ ялааны зан байдал нь одон орны цаг хугацааны явцтай нягт холбоотой гэж төсөөлөхөд хэцүү байдаг.

Ийм урт ухралт хийсний дараа процессын зөв цагийг тооцоолох алгоритмын тайлбар руу шилжье.

Энэ алгоритмд орон нутгийн максимумыг тооцоолох нэгжийг байгалийн цаг хугацааны хэмжүүр болгон сонгосон. Нэмж дурдахад, үйл явцын хөдөлгөөнгүй байдлын боломжит хэсгүүдийг харгалзан үздэг бөгөөд үүнд өмнө дурдсанчлан, өөрийн цагзогсдог. Бид зөвхөн хэмжилтийн нарийвчлалын хүрээнд хоёр төлөвийн ижил төстэй байдлын талаар ярих боломжтой тул ирээдүйд эерэг тоо e-г ашиглана - хэмжилтийн зөвшөөрөгдөх алдаа.

Тиймээс алгоритмын оролтын өгөгдөл нь натурал тоо n, эерэг тоо 8, массив (tk) ба (xk), k = 1, ..., n байна.Програмчлалд хялбар болгох үүднээс алгоритмыг дараах байдлаар үзүүлэв. Дараалсан дөрвөн модулийн хэлбэр.

Модуль 1, n, e, tk), (xk) өгөгдлийг ашиглан ерөнхий тохиолдолд шинэ массивууд 7 = (7+ X = (X t)) ба маш тодорхой дагалдах массив P = (?), энд 1 = 1, . .., t, ба т<Сп. Основное назначение этого модуля -- выявление в массиве x k) последовательностей идентичных состояний процесса, сохранение первых элементов в таких последовательностях и удаление всех остальных и, наконец, уменьшение по определенному, правилу исходного интервала наблюдения от t до на сумму тех промежутков времени, в которых процесс протекает стационарно.

1-р модуль нь дараахь процедурыг агуулна.

p: = 1, m: = 0, k: = 1.

p.p. 1, 2-т тодорхой анхны утгатай тоолуурыг танилцуулав.

p.p. 3, 4, тоологч утгууд 1-ээр нэмэгдэнэ.

k ^ n нөхцөлийг шалгана уу. Хэрэв энэ нь сэтгэл хангалуун байвал 6-р зүйл рүү, үгүй ​​бол 11-р зүйл рүү очно уу.

x k --x k = e тэгш бус байдлыг шалгана. Хэрэв энэ нь тохирч байвал 7-р зүйл рүү, үгүй ​​бол 9-р зүйл рүү очно уу.

7.tii = ti - (tkl - tk), i = k1, ..., х.

Энэ процедур нь Xk ба Xk 1-ийн утгууд алдааны дотор ялгагдахгүй байвал tk-ээс эхлэн бүх цаг хугацаа tki-tk-ээр буурна гэсэн үг юм.

p = p. 4-р зүйл рүү буцах.

ТВ = t k; X v: = x k; p = p v = v + l., өөрөөр хэлбэл. T, X, P массивуудын элементүүд үүсч дараагийн v утгыг өгнө.

  • 10. (t k, ..., t n AND (Xk, - X n) -ийг n - k 1 + 1 хэмжээст массив болгон аваад дараа нь 2-р зүйл рүү буцна.
  • 11. m, (T), (X,) болон (P,) гэж хэвлэ, энд i = l, ..., m.Төгсгөл.

Дагалдах P массивын элементүүдийн утгыг тайлбарлая. Өмнөх бичвэрээс үзэхэд pk-ийн утга нь массивын шууд дагадаг (xk) элементүүдийн тоотой тэнцүү бөгөөд x pi + -ээс ялгаатай байна. .. +, +, e-ээс бага. Мөн pi + ... + pm = n гэдгийг анхаарна уу.

Жишээ 1. Өгөгдсөн: n = 20, (/ *) = (2, 4, 7, 10, 12, 13, 15, 17, 20, 22, 24, 25,

  • 27, 30, 32, 33, 34, 35, 36) ба (x,) = (4, 4, 6, 6, 6, 3, 2, 4, 3, 3, 3, 2, 2, 4, 5) , 5,
  • 5, 4, 3), зургийг үз. 9, а.

Модуль 1-ийн үр дүнд бид m = 11,

(D) = (2, 3, 4, 6, 8, 11, 1-2, 15, 17, 18, 19); (X,) = (4, 6, 3, 2, 4, 3, 2, 4,5,4,3)

ба (г.) = (2, 4, 1, 1, 1.3, 2, 1.3, 1, 1), зургийг үз. 9, б.

Модуль 2.Үүний оролтын өгөгдөл нь натурал тоо m, түүнчлэн массивууд (7+ (XL), = 1, ..., t. Массив дахь энэ модуль (TJ нь цаг хугацааны мөчүүдийг илчилдэг [TM a], 1 = 1 м (мл

Жишээ 2. m, (T b) ба (X,] утгуудыг өмнөх жишээнээс авсан. Модуль 2-ыг ажиллуулсны дараа бид ml = 3, m2 = 8, (U,) = (3, 8,) болно. 17), (T *) = (3, 4, 6, 8, 11, 12, 15, 17), мөн Зураг 9, b-г үзнэ үү.

Модуль 3.Оролтын өгөгдөл мл, м2, (TM n), 1 = 1, ..., мл, (T *), / 2 = 1, ..., rn2.

Энэ модуль нь томъёогоор массив (m (-g)) бүтээхэд зориулагдсан

ТВ 6 [TMp, TMn + i]

m хувьсагч нь х хувьсагчийн өөрчлөлтөөр үүсгэгдсэн өөрийн цаг юм. Түүний байгалийн хэмжүүр нь орон нутгийн хамгийн дээд нэгж юм.

Жишээ 3. Т 2)-ын анхны өгөгдөл нь ml, m2 ITM-тэй ижил, жишээ 2-т байна.. Тохиромжтой тооцооллын дараа бид N = (0; 0.2; 0.6; 1; 1,33; 1,78; 2).

Модуль 4.Массив (xk) -ийн m-ийн утга ба x-ийн элементүүдийн хоорондын хамаарлыг тогтоох замаар үр дүнгийн гаралтыг бүрдүүлдэг.

Жишээ 4. 2 ба 3-р жишээнүүдийн өгөгдөл дээр үндэслэн дараах үр дүн гарна. Зураг. 9, дотор:

t: 0; 0.2; 0.6; 1; 1.33; 1.44;

x: 6; 3; 2; 4; 3T 0 2;

Тиймээс авч үзсэн алгоритм нь одон орон судлалын цагийн хуваарьт бүртгэгдсэн үйл явцын төлөв байдлын өөрчлөлтийн талаархи мэдээлэлд үндэслэн үйл явцын зөв цаг хугацааны талаархи ойлголтыг боловсруулах боломжийг олгодог. Жишээлбэл, орон нутгийн минимумуудын дараалал эсвэл орон нутгийн максимум ба минимумаас бүрдэх холимог дарааллыг тооцоолоход үндэслэсэн бусад алгоритмуудыг ашиглаж болох нь тодорхой байна. Туршилтын өгөгдлийг боловсруулахдаа та өөр хувилбаруудыг туршиж үзэх хэрэгтэй. Хэрэв ямар нэг шалтгааны улмаас туршилт хийгч тодорхой цаг хугацааны аль нэгийг сонгож, массивуудыг (m4 ба (xk) зэрэг) хүлээн авсан бол дараагийн шатанд туршилтын цэгүүдийг (m *) ойролцоолохын тулд математикийн зарим аргыг ашиглах хэрэгтэй. , x) үйл явцын зарим ойролцоогоор дэлхийн шугам x = x (t) Энэ шугамыг ажиглалтын анхны интервалаас давж гаргаснаар тэрээр үйл явцын цаашдын явцын талаар таамаглал дэвшүүлж чадна.

Санал болгож буй алгоритмыг ашиглах хэтийн төлөвийг үнэлэх зорилготой тооцооллын туршилтыг дурдах нь сонирхолтой юм. Туршилтын материал болгон голын жилийн урсацын мэдээллийг сонгосон. 40 жилийн өмнөх Вахш (Тажикистан). Үүнтэй ижил хугацаанд нарны идэвхжилийн хамгийн түгээмэл хэрэглэгддэг интеграл индекс болох чонын тооны динамикийн талаар мэдээлэл авсан. Сүүлийнх нь нарны идэвхжлийн үйл явцын зөв цагийг боловсруулах үндэс суурь болсон. Шинэ цаг үед голын зардлын талаарх мэдээлэл өөрчлөгдсөн. Вахш, дараа нь ажиглалтын хугацаанд усны урсгалын хурдны онолын хамаарлыг нарны идэвхжилийн зохих хугацаанаас хамааруулан өгсөн. Үүссэн хуваарийн онцлог шинж чанар нь хамгийн их ба хамгийн бага зардлын бараг үе үе зан төлөв юм. Гэсэн хэдий ч зардал нь тогтмол биш юм.

Өмнөх алгоритмын шилжих хувилбар нь хамгийн бага хугацаа үлдсэн алгоритм юм. Энэ алгоритмын дагуу төлөвлөгч нь гүйцэтгэх хугацаа болгондоо хамгийн бага үлдсэн процессыг сонгодог. Энэ тохиолдолд даалгаврын гүйцэтгэлийн хугацааг урьдчилан мэдэх шаардлагатай. Шинэ даалгавар ирэхэд түүний гүйцэтгэлийн нийт хугацааг одоогийн даалгаврын гүйцэтгэлийн үлдсэн хугацаатай харьцуулна. Хэрэв шинэ даалгаврын гүйцэтгэлийн хугацаа бага байвал одоогийн үйл явцыг түр зогсоож, хяналтыг шинэ даалгаварт шилжүүлнэ. Энэ схем нь танд богино хүсэлтийг хурдан гүйцэтгэх боломжийг олгодог.

Гурван түвшний төлөвлөлт

Багцын систем нь зурагт үзүүлсэн шиг гурван түвшний төлөвлөлтийг хэрэгжүүлэх боломжийг танд олгоно. Шинэ ажлууд системд орж ирэхэд эхлээд дискэнд хадгалагдсан дараалалд тавигддаг. Оролт хандалтын төлөвлөгч ажлаа сонгоод систем рүү шилжүүлнэ. Үлдсэн ажлууд нь дараалалд хэвээр байна.

Даалгаврыг системд оруулмагц түүнд тохирох процесс үүсэх бөгөөд тэр даруй процессор руу нэвтрэх тэмцэлд орж болно. Гэсэн хэдий ч хэт олон процесс байгаа бөгөөд тэдгээр нь бүгд санах ойд багтахгүй байх нөхцөл байдал үүсч, заримыг нь диск рүү оруулах болно. Хуваарийн хоёр дахь түвшин нь санах ойд ямар процесс, аль нь дискэнд хадгалагдаж болохыг тодорхойлдог. Үүнийг хийж байна санах ой төлөвлөгч .

Санах ой төлөвлөгч нь дискэн дээрх процессуудыг үе үе харж, алийг нь санах ой руу шилжүүлэхээ шийддэг. Төлөвлөгчдийн ашигладаг шалгууруудын дунд дараахь зүйлс орно.

1. Процессыг диск рүү шилжүүлж эсвэл дискнээс ачаалснаас хойш хэр удсан бэ?

2. Процессорыг хэр удаан ашиглаж байгаа вэ?

3. Үйл явцын хэмжээ (жижиг процессууд саад болохгүй) юу вэ?

4. Үйл явцын ач холбогдол юу вэ?

Гурав дахь түвшний хуваарь нь бэлэн байдалд байгаа процессуудад процессорт хандах үүрэгтэй. "Төлөвлөгч"-ийн тухай яриа гарахад энэ нь ихэвчлэн байдаг процессор төлөвлөгч ... Энэхүү хуваарь гаргагч нь тухайн нөхцөл байдалд тохирсон ямар ч алгоритмыг тасалдалгүй, тасалдалгүйгээр ашигладаг. Бид эдгээр алгоритмуудын заримыг аль хэдийн авч үзсэн бөгөөд бусадтай нь танилцах болно.

Интерактив систем дэх төлөвлөлт.

Цикл төлөвлөлт.

Хамгийн эртний, энгийн, шударга, хамгийн түгээмэл хэрэглэгддэг алгоритмуудын нэг бол тойрогт хуваарийн алгоритм юм. Процесс бүрд процессорын тодорхой хугацааны интервалыг цаг хугацааны зүсмэл гэж нэрлэдэг. Хэрэв тухайн хугацааны төгсгөлд процесс ажиллаж байгаа бол түүнийг зогсоож, хяналтыг өөр процесс руу шилжүүлнэ. Мэдээжийн хэрэг, хэрэв процесс хаагдах эсвэл эрт гарах юм бол удирдлагын шилжилт тухайн үед тохиолддог. Тойргийн хуваарийг хэрэгжүүлэх нь энгийн зүйл юм. Төлөвлөгч нь зөвхөн процессуудын жагсаалтыг бэлэн байлгах хэрэгтэй. Процесс нь хязгаарт хүрсэн тохиолдолд жагсаалтын төгсгөлд илгээгдэнэ.

Энэ алгоритмын цорын ганц сонирхолтой зүйл бол квант урт юм. Нэг процессоос нөгөө процесс руу шилжихэд хэсэг хугацаа шаардагддаг - регистр, санах ойн картыг хадгалах, ачаалах, хүснэгт, жагсаалтыг шинэчлэх, санах ойн кэшийг хадгалах, дахин ачаалах гэх мэт үр ашигтай байх шаардлагатай боловч хэт том квант нь богино хугацааны хариу үйлдэл хийхэд удаашралтай байдаг. интерактив асуулга. 2 0 -5 0 мс орчим квант утга нь ихэвчлэн боломжийн буулт болдог.

Тэргүүлэх төлөвлөлт.

Циклийн хуваарь гаргах алгоритмд бүх процессууд тэнцүү гэсэн чухал таамаглал байдаг. Олон тооны хэрэглэгчидтэй компьютерийн нөхцөлд энэ нь тийм биш байж магадгүй юм. Жишээлбэл, их сургуульд эхлээд деканууд, дараа нь профессор, нарийн бичгийн дарга, цэвэрлэгч, дараа нь оюутнуудад үйлчлэх ёстой. Ийм гадны хүчин зүйлсийг харгалзан үзэх хэрэгцээ нь тэргүүлэх төлөвлөлтөд хүргэдэг. Үндсэн санаа нь энгийн: процесс бүрд тэргүүлэх ач холбогдол өгч, хяналтыг хамгийн өндөр ач холбогдол бүхий ажиллуулахад бэлэн процесс руу шилжүүлдэг.

Хэд хэдэн дараалал.

Эхний ээлжинд төлөвлөгчдийн нэг нь нийцтэй цаг хуваалцсан системд (CTSS) хэрэгжсэн.CTSS системийн гол асуудал нь IBM 7094 компьютерын санах ойд зөвхөн нэг процесс байсан тул хэт удаан процесс шилжих явдал байв. Шилжүүлэгч бүр нь одоогийн процессыг диск рүү хаях гэсэн үг юм

мөн дискнээс шинэ процессыг унших. CTSS-ийн хөгжүүлэгчид процессороор хязгаарлагдсан процессуудад жижиг зүсмэлүүдийг өгснөөс илүү их цаг хугацаа хуваарилвал үр ашиг нь илүү сайн байх болно гэдгийг хурдан ойлгосон. Нэг талаас, энэ нь санах ойгоос диск рүү шилжих тоог бууруулж, нөгөө талаас бид өмнө нь харсан шиг хариу өгөх хугацаа муудахад хүргэнэ.

Үүний үр дүнд тэргүүлэх ангиудтай шийдлийг боловсруулсан. Хамгийн чухал ач холбогдолтой ангийн процессуудад нэг квант, дараагийн ангиллын процессуудад хоёр квант, дараагийнх нь дөрвөн квант гэх мэтээр хуваарилагдсан.Процесс нь түүнд хуваарилагдсан бүх цагийг дуусмагц энэ нь нөгөө рүү шилжсэн. доод анги.

Жишээ болгон 100 квантад тооцоо хийх шаардлагатай процессыг авч үзье. Эхлээд түүнд нэг квант өгөөд дараа нь диск рүү шахна. Дараагийн удаа тэр 2 квант, дараа нь 4, 8,16, 32, 64 авах болно, гэхдээ тэр 64-өөс ердөө 37-г нь ашигладаг. Энэ тохиолдолд түүнд 100-ын оронд ердөө 7 шилжүүлэг (анхны таталтыг оруулаад) хэрэгтэй болно. циклийн алгоритмыг ашиглах шаардлагатай. Нэмж дурдахад, та тэргүүлэх дараалал руу шумбах тусам процесс бага багаар эхлэх бөгөөд процессорыг богино процессуудад үлдээх болно.

"Хамгийн богино үйл явц бол дараагийнх"

Хамгийн богино даалгаврын эхний алгоритм нь багц боловсруулах системд ажиллах дундаж хугацааг багасгадаг тул бид үүнийг интерактив системд мөн ашиглахыг хүсч байна. Энэ нь тодорхой хэмжээгээр боломжтой. Интерактив процессууд нь ихэвчлэн "тушаал хүлээх, тушаал гүйцэтгэх, тушаал хүлээх, тушаал гүйцэтгэх ..." гэсэн хэв маягийг дагаж мөрддөг. Хэрэв та тушаал тус бүрийн гүйцэтгэлийг тусдаа ажил гэж үзвэл нийт дундаж хариуг багасгаж болно. эхлээд хамгийн богино ажлыг эхлүүлснээр цаг. Ганц асуудал нь

хүлээгдэж буй процессуудын аль нь хамгийн богино болохыг олж мэдэхэд.

Аргын нэг нь үйл явцын өмнөх зан төлөвт үндэслэн үйл явцын үргэлжлэх хугацааг тооцоолоход суурилдаг. Энэ нь хамгийн богино тооцоолсон хугацаанд үйл явцыг эхлүүлнэ. Командын гүйцэтгэлийн тооцоолсон хугацаа нь T 0, дараагийн хөөргөлтийн тооцоолсон хугацаа нь T 1 гэж үзье. Та эдгээр цагуудын жигнэсэн нийлбэрийг aT 0 + (1 - a) T 1 болгон авч цаг хугацааны тооцоог сайжруулж болно. a-д тохирох утгыг сонгосноор бид тооцооллын алгоритмыг өмнөх хөөргөлтүүдийг хурдан мартаж, эсвэл эсрэгээр нь удаан хугацаанд санаж чадна. a = 1/2-ийг авснаар бид хэд хэдэн тооцооллыг авна.

T 0, T 0/2 + T 1/2, T 0/4 + T 1/4 + T 2/2, T 0/8 + T 1/8 + T 2/4 + T 3/2.

Гурван удаа эхлүүлсний дараа тооцоолсон T 0-ийн жин 1/8 болж буурна.

Өмнөх болон өмнөх тооцооллын жигнэсэн дундажаар цувралын дараагийн утгыг тооцоолох аргыг ихэвчлэн насжилт гэж нэрлэдэг. Энэ аргыг өмнөх утгуудаас тооцоолох шаардлагатай олон тохиолдолд хэрэглэнэ. Хөгшрөлтийг ойлгох хамгийн хялбар арга бол a = 1/2 юм. Алхам бүрт танд хэрэгтэй

одоогийн тооцоонд шинэ утгыг нэмж, нийлбэрийг хоёр дахин багасгах (баруун тийш 1 бит шилжүүлэх).

Баталгаат төлөвлөлт.

Төлөвлөлтийн зарчмын өөр арга бол хэрэглэгчдэд бодит амлалт өгч, дараа нь биелүүлэх явдал юм. Энд хийхэд хялбар бөгөөд биелүүлэхэд хялбар нэг амлалт байна: хэрвээ n хэрэглэгч тантай процессор хуваалцвал танд 1/n процессорын хүч өгөх болно.

Нэг хэрэглэгчтэй, n ажиллаж байгаа процессортой системд тус бүр 1/n процессорын цикл авна.

Энэхүү амлалтаа биелүүлэхийн тулд систем процесс бүрийг үүсгэснээс хойш процессуудын хооронд CPU-ийн хуваарилалтыг хянах ёстой. Дараа нь систем үүсгэсэнээс хойшхи хугацааг n-д хуваасан гэх мэт процесст хамаарах процессорын нөөцийн хэмжээг тооцдог. Одоо та процесст өгөгдсөн цаг хугацааны харьцааг тооцоолох боломжтой. Үр дүнгийн 0.5 утга нь үйл явц нь байх ёстойгоос ердөө тал хувийг нь хуваарилсан гэсэн үг бөгөөд 2.0 нь процесс байх ёстой хэмжээнээсээ хоёр дахин их болсон гэсэн үг юм. Дараа нь процессыг хамгийн бага харьцаагаар эхлүүлнэ

энэ нь хамгийн ойрын хөршөөсөө том болохгүй.

Сугалааны төлөвлөлт.

Алгоритм нь процессор зэрэг янз бүрийн нөөцөд хандах процессуудад сугалааны тасалбар тараахад суурилдаг. Төлөвлөгч шийдвэр гаргах шаардлагатай үед сугалааны тасалбарыг санамсаргүй байдлаар сонгож, эзэмшигч нь нөөцөд хандах эрхтэй болно. CPU-ийн хандалтын хувьд "сугалаа" нь секундэд 50 удаа явагдах боломжтой бөгөөд ялагч нь CPU-ийн цагийг 20ms авдаг.

Илүү чухал процессуудад ялах магадлалыг нэмэгдүүлэхийн тулд нэмэлт тасалбар өгч болно. Зөвхөн 100 тасалбар, тэдгээрийн 20 нь нэг процесст байгаа бол процессорын цагийн 20% -ийг авах болно. Нэн тэргүүнд төлөвлөгчөөс ялгаатай нь, жишээлбэл, тэргүүлэх ач холбогдол 40 гэж юу болохыг тооцоолоход хэцүү байдаг тул сугалааны төлөвлөлтөд бүх зүйл тодорхой байдаг. Процесс бүрд байгаа тасалбарын хувьтай тэнцэх хэмжээний нөөцийн хувийг авна.

Сугалааны төлөвлөлт нь хэд хэдэн сонирхолтой шинж чанартай байдаг. Жишээлбэл, хэрэв үйл явц бүтээх явцад хэд хэдэн тасалбар авсан бол дараагийн сугалаанд хожих магадлал нь тасалбарын тоотой пропорциональ байна.

Харилцан ажиллах процессууд нь шаардлагатай бол тасалбар солилцож болно. Жишээлбэл, хэрэв үйлчлүүлэгчийн процесс серверийн процесс руу мессеж илгээж, дараа нь блоклодог бол серверийг эхлүүлэх боломжийг нэмэгдүүлэхийн тулд бүх тасалбараа серверийн процесс руу дамжуулж болно. Серверийн процесс гарахад бүх тасалбарыг буцааж өгөх боломжтой.

Шударга төлөвлөлт.

Одоогийн байдлаар бид хэн дарга байхаас үл хамааран үйл явц бүрийг хянадаг гэж үзсэн. Тиймээс хэрэв 1-р хэрэглэгч 9 процесс, 2-р хэрэглэгч 1 процесс үүсгэсэн бол мөчлөгийн хуваарь ашиглан эсвэл ижил ач холбогдолтой тохиолдолд 1-р хэрэглэгч процессорын 90%, харин 2-р хэрэглэгч зөвхөн 10-ыг авна.

Ийм нөхцөл байдлаас зайлсхийхийн тулд зарим системүүд хуваарь гаргахаасаа өмнө процессын эзэнд анхаарлаа хандуулдаг. Энэ загварт хэрэглэгч бүр процессороос тодорхой хувийг авдаг бөгөөд хуваарь гаргагч нь энэ баримтын дагуу процессыг сонгодог. Хэрэв бидний жишээнд хэрэглэгчид тус бүр байсан бол

Процессорын 50% -ийг амласан бол процессын тооноос үл хамааран процессорын 50% -ийг авах болно.

Бодит цагийн системд хуваарь гаргах.

Бодит цагийн системд цаг чухал үүрэг гүйцэтгэдэг. Ихэнх тохиолдолд нэг буюу хэд хэдэн гадаад физик төхөөрөмж нь оролтын дохиог үүсгэдэг бөгөөд компьютер тодорхой хугацааны дотор тэдгээрт зохих хариу үйлдэл үзүүлэх ёстой.

Бодит цагийн системийг дараахь байдлаар хуваадаг бодит цагийн хатуу систем , энэ нь ажил бүрийн хувьд хатуу хугацаа байдаг (тэдгээрийг хангасан байх ёстой) гэсэн үг юм уян хатан бодит цагийн системүүд цагийн хуваарийг зөрчих нь хүсээгүй боловч хүлээн зөвшөөрөгдөх боломжтой. Аль ч тохиолдолд програм нь хэд хэдэн процесст хуваагддаг бөгөөд тэдгээр нь тус бүрийг урьдчилан таамаглах боломжтой байдаг. Эдгээр үйл явц нь ихэвчлэн богино бөгөөд секундын дотор ажлаа дуусгадаг. Гадны дохио гарч ирэхэд төлөвлөгөөг биелүүлж байгаа эсэх нь төлөвлөгчөөс хамаарна.

Системийн хариу үйлдэл үзүүлэх ёстой гадаад үйл явдлуудыг хувааж болно үе үе(тогтмол давтамжтайгаар тохиолддог) ба үе үе бус(урьдчилан таамаглах аргагүй үүссэн). Системд боловсруулах ёстой хэд хэдэн үйл явдлын үе үе урсгал байж болно. Үйл явдал бүрийг боловсруулахад зарцуулсан цаг хугацаанаас хамааран систем нь бүх үйл явдлыг цаг тухайд нь боловсруулж чадахгүй байж болно.


Үүнтэй төстэй мэдээлэл.


Ихэнхдээ хөгжүүлэгчид, ялангуяа туршлагагүй хүмүүс даалгаврын эцсийн хугацааг тогтоохыг хүсэхэд төөрөлддөг. Гэсэн хэдий ч төлөвлөх чадвар нь зөвхөн ажилд төдийгүй амьдралд тустай маш хэрэгтэй бөгөөд шаардлагатай чадвар юм. Төслийг хэрхэн зөв төлөвлөж, цаг тухайд нь хүргэж сурах талаар бид мэргэжилтнүүдээс асуухаар ​​шийдлээ.

Товч дүгнэлтийг өгүүллийн төгсгөлд олж болно.

Даалгаврын гүйцэтгэлийн хугацааг тооцоолохын тулд хөгжүүлэгчид ихэвчлэн хэд хэдэн параметрүүдийг нэг дор анхаарч үзэх хэрэгтэй.

  1. Ийм даалгавруудыг гүйцэтгэж, энэ технологийн стектэй ажиллаж байсан туршлагатай. Хэрэв та цоо шинэ зүйл хийх шаардлагатай бол үнэлгээнд онцгой анхаарал хандуулах хэрэгтэй.
  2. Энэ үйлчлүүлэгчтэй ажиллах туршлага. Үйлчлүүлэгчийг мэддэг тул та нэмэлт шаардлага, засварын хэмжээг урьдчилан таамаглах боломжтой.
  3. Хамтран ажиллах кодын чанар. Энэ бол хамгийн их нөлөөлсөн хүчин зүйл бөгөөд үүнээс болж бүх зүйл хойшлогдож, ерөнхийдөө төлөвлөгөөний дагуу явахгүй байх магадлалтай. Хэрэв төсөлд туршилтууд байгаа бол хаа сайгүй зөвхөн тодорхой хамаарал байдаг бөгөөд функц нь сайн тусгаарлагдсан бол бүх зүйл тийм ч аймшигтай биш юм. Хэрэв та туршилтгүйгээр хуучин кодтой эсвэл далд хамаарлаар хэт ачаалагдсан кодтой харьцаж байгаа бол энэ нь илүү муу юм. "Ид шидийн функцууд" (кодоос эцсийн дуудлагын стекийг харахад хэцүү үед) болон кодын хуулбар (ямар нэгэн функцийг өөрчлөхийн тулд хэд хэдэн бие даасан хэсгүүдийг засварлах шаардлагатай үед) зэрэг нь асуудлыг хүндрүүлдэг.

Ажлын цагийг хэрхэн зөв үнэлэх талаар сурахын тулд та байнга дасгал хийх хэрэгтэй. Ажлынхаа эхэнд би яг ингэж хийсэн: хэн ч гуйгаагүй байсан ч ирж буй аливаа ажлыг дуусгах цагийг тооцоолж, дараа нь би өөрийнхөө тооцоололд хэр үнэн зөв орж чадсанаа ажигласан. Даалгаврыг гүйцэтгэх явцад би ямар үйлдэл илүү их цаг зарцуулдагийг тэмдэглэв. Хэрэв ямар нэг зүйл нэр томьёог ихэсгэсэн бол тэр энэ мөчийг санаж, дараагийн үнэлгээнд харгалзан үзсэн.

Зөвхөн ажилд шаардагдах хугацааг бодитой үнэлэхийн тулд давагдашгүй хүчин зүйлийн нөхцөл байдлыг хангахын тулд бага хэмжээний маржин нэмэх хэрэгтэй. Энэ нь ихэвчлэн үндсэн даалгаврын гүйцэтгэлийн хувиар тооцдог боловч хүн бүрт өөр өөр байдаг: хэн нэгэн цаг хугацааны 20%, хэн нэгэн - 10%, хэн нэгэн - 50% -ийг нэмдэг.

Хугацаа алдсан томоохон зөрчил бүрийн дараа хугацаа алдсан шалтгааныг шинжлэх нь бас ашигтай байдаг. Хэрэв танд хангалттай чадвар байхгүй бол сул тал дээрээ ажиллах хэрэгтэй. Хэрэв асуудал нь зохион байгуулалттай байсан бол хэвийн ажилд юу саад болж байгааг ойлгох.

Доод сурталчлах

, "Jet Infosystems" шинэлэг технологи, шийдлийн төвийн техникийн захирал

Олон тооны нийтлэлүүд нь ажлын үргэлжлэх хугацаа, бие даасан даалгавруудыг багтаасан төслийн нарийн төвөгтэй байдлыг үнэлэх аргуудад зориулагдсан болно. Гэсэн хэдий ч өнөөг хүртэл энэ нь төслийн багийн доторх болон үйлчлүүлэгчтэй харилцах үед зөрчилдөөний шалтгаан болж байна.

Үнэлгээний гол туслах нь туршлага юм. Шинэ даалгаврыг аль хэдийн дууссан ажлуудтай ямар нэгэн байдлаар уялдуулахыг хичээ. Хэрэв та тайлан гаргаж байгаа бол өмнө нь ижил төстэй тайлан хэр удаан гарсныг хараарай. Хэрэв та ямар нэг шинэ зүйл хийж байгаа бол мэдэгдэж байгаа хэсгүүдэд хувааж, тэдгээрийг үнэлж үзээрэй. Хэрэв асуудал цоо шинэ бол судлахад бага зэрэг цаг зарцуул (бүр илүү сайн - асуудлыг тавьсан хүнтэй энэ цагийг зохицуулах).

Дагалдах үе шатуудад анхаарлаа хандуулаарай - хэрэв та үйлчилгээг хөгжүүлэх шаардлагатай бол нэгжийн туршилтыг (мөн зөвхөн нэг нэгж биш байж магадгүй) үнэлгээнд оруулах ёстой бөгөөд туршилтын өгөгдлийг бэлтгэхэд тодорхой хугацаа шаардагдана. Бусад үйлчилгээтэй нэгтгэх гэх мэтийг анхаарч үзээрэй. Өөрийнхөө олж мэдсэн алдаануудыг эсвэл тестерүүдийн тусламжтайгаар засахад цаг гарга. "Үл үзэгдэх" ажилд маш их цаг зарцуулж болно. Жишээлбэл, хөгжүүлэлтийн үнэлгээ байдаг бөгөөд туршилтын үнэлгээ байдаг боловч олдворыг туршилтанд шилжүүлэх нь лангуу байрлуулахтай холбоотой байж болно. Тиймээс юу ч алдахгүйн тулд бүх үйл явцыг оюун ухаанаараа төсөөлөх нь чухал юм.

Хөдөлмөрийн эрч хүчийг тодорхойлсны дараа хуанлидаа шинэ ажлын байрыг оруулах шаардлагатай бөгөөд бусад ажил, зэрэгцээ явагдаж буй үйл ажиллагааны талаар мартаж болохгүй.

Төлөвлөгөө бол ашиггүй, харин төлөвлөх нь үнэлж баршгүй зүйл гэдгийг мартаж болохгүй. Төлөвлөгөөгөө цаг тухайд нь тохируулж сур, хүн бүрийг сонирхож, цаг тухайд нь өргөжүүлээрэй, ингэснээр алдсан хугацаа нь хэнд ч гэнэтийн зүйл болохгүй.

Доод сурталчлах

Богино хэлбэрээр хариулах боломжгүй асуулт. Хэрэв энэ нь энгийн байсан бол хугацаа алдах асуудал гарахгүй.

Хөгжлийн эцсийн хугацааг урьдчилан таамаглах боломжтой болгохын тулд эхлээд програмистууд яагаад байнга алдаа гаргадаг шалтгааныг ойлгох хэрэгтэй.

Эхний шалтгаан нь програмист хүний ​​хийдэг ихэнх даалгавар нь нэг хэмжээгээр өвөрмөц байдаг. Энэ нь програмист анх удаагаа ийм ажлыг хийх магадлалтай. Тэр ажил хэр удаан үргэлжлэхийг сайн мэдэхгүй байна. Хэрэв энэ нь хатуу туршлагатай програмист бөгөөд тэр ижил төстэй ажлыг гүйцэтгэх ёстой байсан бол түүний үнэлгээ бодит байдалд ойртох болно.

Энгийн зүйрлэлээр хэлэхэд, хэрэв та хэзээ ч суваг шуудуу ухаж үзээгүй бол 30 см өргөн, 60 см гүн, 20 метр урт суваг шуудуу ухахад яг хэр хугацаа шаардагдахыг хэлж чадахгүй. Хэрэв та өмнө нь ухаж байсан бол ажлын цагийн тооцоолол нь ажлын бодит үргэлжлэх хугацаатай илүү ойр байх болно.

Хоёр дахь шалтгаан нь програмистууд угаасаа өөдрөг үзэлтэй байдаг. Өөрөөр хэлбэл, даалгаврыг авч үзэх, түүнийг хэрэгжүүлэх хувилбарыг сонгох, сайжруулалтыг үнэлэх, хөгжүүлэгч бүх зүйл түүний хүссэнээр ажиллах болно гэж найдаж байна. Тэгээд тэр замдаа тулгарах асуудлынхаа талаар боддоггүй. Ихэнхдээ тэр тэднийг урьдчилан харж чаддаггүй. Жишээлбэл, гуравдагч талын нээлттэй эхийн програм хангамжийн номын санг ашиглан програмист хийж чадах ажил байдаг. Үнэлгээний шатанд тэр үүнийг интернетээс олж, тайлбарыг нь уншина уу - энэ нь түүнд тохирсон. Мөн тэрээр энэхүү номын сангийн ашиглалтын хүрээнд хийх ажлынхаа цар хүрээг хүртэл зөв тооцоолсон. Гэхдээ энэ номын сан дахь түүний програм хангамжийн бүтээгдэхүүний орчинд алдаа гарна гэж тэр огт төсөөлөөгүй.

Хөгжүүлэгч нь номын сангийн хэрэглээг өөрийн код болгон бүтээхээс гадна номын сангийн алдааг өөрөө засах шаардлагатай болно. Ихэнхдээ хөгжүүлэгчид алдаагаа засах цаг гаргадаггүй. Статистик мэдээллээс харахад алдааг турших, засах нь кодлоход зарцуулсан цаг хугацааны 50 орчим хувийг эзэлдэг. Энэ үзүүлэлт нь хөгжүүлэгчийн ур чадвар, хүрээлэн буй орчин, ашигласан хөгжүүлэлтийн практик зэргээс хамаарна (жишээлбэл, нэгжийн туршилтууд нь энэ хугацааг эрс багасгаж, боловсруулах ажлын нийт үргэлжлэх хугацаа / хөдөлмөрийн эрч хүч бага байх болно).

Хэрэв бид экскаватортай зүйрлэл рүү буцвал экскаватор хүрз нь хагарч, шинэ зүсэлт хайж хоёр цаг зарцуулна гэж төсөөлөөгүй.

Гурав дахь шалтгаан нь урьдчилан тооцоолоогүй шаардлага юм. Үйлчлүүлэгчдийн програм хангамж хөгжүүлэлтийг харьцуулах дуртай материалын үйлдвэрлэлийн аль ч салбарт ийм шинэ шаардлагын урсгал байдаггүй. 20-оос 19 метр ухсан экскаватор шуудуу шулуун явахгүй, 97 см мөр урттай могой шиг байх ёстой гэсэн хүслийг захиалагчаас сонссоныг төсөөлөөд үз дээ.

Энэ бүхнийг хэрхэн даван туулж, ийм тодорхойгүй нөхцөлд хэрхэн амьдрах вэ? Тодорхой бус байдлыг бууруулж, цаг хугацааны нөөц бий болгох.

Хүлээгдэж буйгаа бодит байдалд ойртуулах хамгийн хялбар арга бол "Пи" хэмээх хошин шогийн дүрмийг ашиглах явдал юм. Хөгжүүлэгчээс тооцоолсон (цаг хугацаа эсвэл хөдөлмөрийн эрчмийн хувьд) та үүнийг Pi тоогоор (= 3.14159) үржүүлэх хэрэгтэй. Илүү туршлагатай хөгжүүлэгч тооцоолсон байх тусам энэ коэффициент бага байх болно.

Анхны асуудлыг 4 цагаас илүүгүй хэмжээтэй жижиг бодлого болгон задлах дадлага хийх зайлшгүй шаардлагатай. Задаргаа илүү нарийвчилсан байх тусам тооцоолол нь хөдөлмөрийн бодит орц/хугацаатай ойролцоо байх магадлал өндөр болно.
Хэрэв бид нөөцийн хуваарилалт руу буцах юм бол энэ хугацааг төслийн төгсгөлд хуваарилах ёстой. Даалгавар болгонд нөөц бүрдүүлж, оруулдаг нь буруу дадал юм. Паркинсоны "Ажил нь түүнд зориулагдсан бүх цагийг дүүргэдэг" хуулийг чанд мөрддөг.

Хэрэв та богино "нийт" -ийг нэгтгэн дүгнэвэл ажлын цагийг зөв тодорхойлохын тулд дараахь үйлдлүүд хэрэгтэй болно.

  • ажлын задралыг гүйцэтгэх, даалгаврыг аль болох нарийвчилсан алхам болгон хуваах;
  • прототип хийх;
  • урьд өмнө тооцоолоогүй шаардлагын хэрэгжилтийг хязгаарлах. Энэ нь тэдгээрийг хийх ёсгүй гэсэн үг биш боловч эдгээр шаардлагуудыг онцолж, тэдгээрийг хэрэгжүүлэх хугацаа, зардлыг өөрчлөхийн тулд үйлчлүүлэгчтэй тохиролцохыг зөвлөж байна;
  • шийдлийг тогтворжуулах хугацааг харгалзан үзэх;
  • кодын чанарыг сайжруулах туршлагыг ашиглах, жишээлбэл, нэгжийн тест бичих;
  • ерөнхий нөөц бүрдүүлэх.

Хэрэв таны тооцоолсон баримт 30% -иар давсан бол энэ нь маш сайн үр дүн гэдгийг санаарай.

Доод сурталчлах

Хамгийн үнэн зөв үнэлгээ хийхийн тулд танд бодит хөгжлийн туршлага, үүнээс гадна тодорхой чиглэлээр туршлага хэрэгтэй. Гэхдээ төлөвлөлтөд алдаа гарахаас зайлсхийх, ажлыг захиалагчдад хүлээлгэн өгөхөд бэрхшээл гарахгүй байх ерөнхий дүрмүүд байдаг. Би эдгээр дүрмийг дараах байдлаар тайлбарлах болно.

Эхлээд та даалгаврыг ойлгох хэрэгтэй. Энэ нь тодорхой бөгөөд цаг хугацаатай шууд холбоогүй мэт боловч үнэн хэрэгтээ энэ нь гол цэг юм. Ноцтой томоохон төслүүдэд ч гэсэн бүтэлгүйтэх, хойшлуулах гол хүчин зүйлүүдийн нэг нь шаардлагыг тодорхойлоход бэрхшээлтэй байдаг. Шинэхэн хөгжүүлэгчдийн хувьд харамсалтай нь энэ нь ноцтой асуудал юм - тэд TOR-г уншдаггүй, уншиж, ойлгодоггүй (тэд арван онооны тавыг цээжилж, дуусгасан, үр дүнг илгээх үед үлдсэн хэсгийг нь санаж байсан). Буруу ойлгосон даалгаврыг цаг тухайд нь зөв хэрэгжүүлэх боломжгүй гэдэг нь ойлгомжтой.

Дараа нь - хөгжлийн цагийг өөрөө тооцоолох. Програмчлалын онцлог нь яг ижил төстэй даалгавар байдаггүй явдал юм. Энэ нь бидний ажлыг илүү сонирхолтой болгодог, гэхдээ цаг хугацаа нь илүү хэцүү байдаг. Энд задрал сайн ажилладаг, өөрөөр хэлбэл. нарийн төвөгтэй өвөрмөц даалгаврыг жижиг, танил дэд даалгавруудын дараалалд хуваах. Тэд тус бүрийг хэдэн цагийн дотор хангалттай хэмжээгээр тооцож болно. Бид дэд даалгавруудын тооцоог нэгтгэж, бүх асуудлын тооцоог авдаг.

Дүрмээр бол энэ тооцоонд зөвхөн шууд кодчиллын зардлыг багтаасан болно. Энэ бол хөгжлийн хамгийн чухал хэсэг нь эргэлзээгүй, гэхдээ цорын ганц зүйлээс хол (мөн ихэнхдээ - хамгийн том биш). Даалгаврыг бүрэн хэрэгжүүлэхэд TOR-г уншиж, тодруулах, хамтран ажиллагсад эсвэл үйлчлүүлэгчтэй уулзах, дибаг хийх, турших, баримт бичгийг бүрдүүлэх, үр дүнг хүлээлгэн өгөх (үйлчлүүлэгчид үзүүлэх, түүний тайлбар дээр үндэслэн болзошгүй өөрчлөлтүүд) орно. Эдгээр үйлдлүүдэд хэр их цаг хугацаа шаардагдахыг зөвхөн туршлага л хэлэх болно. Эхлээд тооцоололдоо тэдгээрийг анхаарч үзэхээ мартаж болохгүй бөгөөд цаг хугацааны ойролцоо тооцоог илүү туршлагатай хамт ажиллагсадаас асууж болно.

Тиймээс, бид кодлох хөдөлмөрийн зардлын тооцоог гаргаж, нэмэлт ажлын зардлын тооцоог нэмж, даалгавраа дуусгах цаг хугацааны хүссэн тооцоог авдаг. Гэхдээ энэ нь бүгд биш юм! Даалгаврыг дуусгахаар төлөвлөсөн хугацааг зааж өгөх шаардлагатай. Хөдөлмөрлөх зардлыг (цагаар) 8 цагт хувааж аваад одоогийн огноо дээр нэмбэл алдаа болно. Бодит амьдрал дээр хөгжүүлэгч хэзээ ч (за, бараг хэзээ ч) нэг тодорхой даалгавар дээр 100% ажилладаггүй. Та өөр ажилд цаг зарцуулах нь гарцаагүй - чухал, гэхдээ гол ажилтай шууд холбоогүй. Жишээлбэл, хамт олондоо туслах, сургалт явуулах, тайлагнах гэх мэт. Ихэвчлэн төлөвлөлт хийхдээ ажлын цагийн 60-70% нь одоогийн төслийн ажилд шууд зарцуулагддаг гэж үздэг. Нэмж дурдахад, та ажил дээрээ тасралтгүй ажиллахаас сэргийлж болзошгүй саатлыг анхаарч үзэх хэрэгтэй. Жишээлбэл, хэрэв та бусад хүмүүстэй (хамт ажиллагсад, үйлчлүүлэгчид) харилцах шаардлагатай бол тэдний ажил эрхлэлт, ажлын хуваарь гэх мэтийг анхаарч үзээрэй.

Миний бодлоор хөгжүүлэгч эцсийн хугацааг тооцоолох, биелүүлэхэд бэрхшээлээс зайлсхийхэд туслах үндсэн дүрмүүд энд байна. Нэмж дурдахад гол зүйл бол даалгаврыг хэрэгжүүлэх, үнэлгээ хийх явцад өөрсдийн туршлага хуримтлуулах явдал юм. Жишээлбэл, даалгавраа гүйцэтгэсний дараа анхны тооцоогоо бодит цаг хугацаатай харьцуулж, ирээдүйн талаар дүгнэлт хийх нь маш тустай. Мэдээжийн хэрэг, хэн нэгний туршлагыг судлах нь зүйтэй. Би С.Макконнелийн "Програм хангамжийн төсөл хэр үнэтэй вэ", С.Архипенковын "Програм хангамжийн төслийн менежментийн талаархи лекцүүд" номыг санал болгож байна.

Доод сурталчлах

Эцсийн хугацааг үнэлэх, төлөвлөхдөө дараахь зүйлийг хийх шаардлагатай.

  1. Даалгаврыг жижиг функциональ хэсгүүдэд задалж, ийм хэсэг бүрийг боловсруулахад хэр хугацаа шаардагдахыг тодорхой ойлгох болно.
  2. Задаргаатай зэрэгцэн асуудлын мэдэгдэлд тайлбарлаагүй функциональ байдлын талаархи нэмэлт асуултууд гарч ирэх нь дамжиггүй. Энэ нь ажлын цар хүрээ, улмаар цаг хугацаатай шууд холбоотой тул ийм асуултын хариултыг авах шаардлагатай байна.
  3. Эцсийн үнэлгээнд эрсдэлийн тодорхой хувийг нэмнэ. Үүнийг эмпирик байдлаар тодорхойлдог. Жишээлбэл, та 10-15% эрсдэлтэй байж болно.
  4. Програмист хүн өдөрт хэдэн цагийг ямар нэг ажилд зориулахад бэлэн байдгийг ойлгоорой.
  5. Бид эцсийн тооцоог өдөрт хуваарилж буй цагийн тоонд хувааж, хэрэгжүүлэхэд шаардагдах өдрийн тоог авдаг.
  6. Бид хуанли болон дуусгахад шаардагдах өдрийн тоонд анхаарлаа хандуулдаг. Бид амралтын өдрүүд болон программист даалгавраа биелүүлэх боломжгүй бусад өдрүүд, түүнчлэн ажил эхлэх огноог харгалзан үздэг (хөгжүүлэгч нь тухайн өдөр ажиллах даалгавар авахад үргэлж бэлэн байдаггүй). Тиймээс бид ажлын эхлэх, дуусах огноог авдаг.

Доод сурталчлах

Манай компанид ажлын төлөвлөлт үргэлж хэд хэдэн үе шатыг дамждаг. Бизнесийн тал дээр бид жилийн 5-6 стратегийн зорилтыг томъёолдог. Эдгээр нь өндөр түвшний ажлууд, жишээлбэл, параметрийг тодорхой хувиар нэмэгдүүлэх. Цаашилбал, компанийн янз бүрийн хэлтэс нь мэдээллийн технологийн бүх багуудад бизнесийн даалгавруудыг бүрдүүлдэг. Эдгээр ажлыг гүйцэтгэх эцсийн хугацаа нь менежер, шинжээч, хөгжүүлэгч, шалгагч гэсэн багийн бүх гишүүдээс бүрддэг анхны ойролцоогоор тооцооллыг хүлээн авдаг. Энэхүү үнэлгээг хүлээн авсны дараа бизнес нь компанийн стратегийн зорилгыг харгалзан зорилтуудыг эрэмбэлдэг. Үүнд хөндлөн огтлолцсон стратегийн зорилтууд тусалдаг бөгөөд тэдгээрийн тусламжтайгаар бид бүгд ямар нэгэн нийтлэг зорилгын төлөө ажиллаж байгаа нь тодорхой болж, хэн нэгэн зөвхөн өөрийнхөө чиглэлд татдаг ийм нөхцөл байдал байдаггүй. Бид нарийн тооцоолсон ажлуудаас спринт цуглуулдаг. Зарим багууд улирал бүр, заримд нь сар бүр хийдэг. Дараагийн спринтэд урьдчилсан байдлаар эрэмблэгдсэн хэд хэдэн даалгаврыг багууд үнэн зөв үнэлнэ. Томоохон ажлуудыг доод түвшний ажлуудад хуваадаг бөгөөд тус бүрийг тодорхой гүйцэтгэгч хариуцдаг бөгөөд тэр нь үнэн зөв үнэлгээ өгдөг.

Энэ үе шатанд алдаа засах нэмэлт цаг нэмэхээ мартаж болохгүй, учир нь юу ч хийдэггүй хүмүүс л алдаа гаргадаггүй. Үүнийг Бүтээгдэхүүний эзэн болон бизнесийн үйлчлүүлэгчид сайн ойлгодог. Үүний зэрэгцээ шаардагдах хугацаа нь хангалттай байх ёстой: энгийн даалгаврыг хэтэрхий удаан тавьдаг хөгжүүлэгчийг хэн ч ойлгохгүй, шийдвэрээ зөвтгөхийг түүнээс хүсэх болно. Хамгийн хэцүү зүйл бол бизнест яагаад дахин засварлахад цаг хугацаа шаардагддагийг тайлбарлах явдал юм. Эцсийн дүндээ дахин засварлах нь илүү хөнгөн дэд бүтцийг бий болгож, кодыг эмх цэгцтэй болгоход хүргэдэг бөгөөд энэ нь системийн тогтвортой байдлыг нэмэгдүүлж, шинэ бүтээн байгуулалтыг ихээхэн хурдасгадаг тул бид үе үе амжилтанд хүрч байгаад манай компанид талархаж байна. функцууд.

Заримдаа үнэлгээ хийхэд алдаа гардаг. Миний бодлоор дэд бүтэц хөгжсөн томоохон компаниудын хөгжлийн хэлтэс үүнээс бүрэн зайлсхийх боломжгүй юм. Энэ тохиолдолд хөгжүүлэгч нь юу болж байгаа талаар менежердээ цаг тухайд нь мэдэгдэх нь чухал бөгөөд тэрээр эргээд бизнест анхааруулж, компанийн ерөнхий төлөвлөгөөнд ямар нэг зүйлийг "дахин тоглуулж" чадсан. Энэ горимд 3 өдрийн дотор 5 өдөр шаардлагатай зүйлийг хийх гэж улайран зүтгэж, дараа нь ийм яарсны улмаас үүссэн олон тооны алдаануудад живэхээс илүү ажиллах нь илүү зөв юм.

Доод сурталчлах

Асуултын хоёр хэсэгт зөв хариулт [хэрхэн төслийг зөв төлөвлөж, цаг тухайд нь хүргэх талаар сурах - Эд.] - туршлага. "Зэнийг мэдэх" өөр арга байхгүй. Шийдвэр гаргах онолын дагуу аливаа төрлийн үнэн зөв дүгнэлтийг зөвхөн бэлэн байгаа хэд хэдэн өгөгдлийн дүн шинжилгээнд үндэслэн хийж болно. Энэ өгөгдөл хэдий чинээ их байх тусам эцсийн таамаглал, үнэлгээ үнэн зөв байх болно.

Херберт Шоугийн хэлснээр: "Туршлага бол хүн өмнө нь ямар тэнэг байсныг сурдаг сургууль юм." Эндээс нэлээд энгийн дүгнэлт гарч байна: хэрвээ программист өмнө нь хийж буй ажилтай холбоотой туршлагатай бол түүндээ, үгүй ​​бол "дэлгүүрийн хамт ажиллагсдынхаа" туршлагад найдаж болно.

Дараа нь та шууд хуваарь гаргах нь хүмүүсийн маш, маш муу, ялангуяа хөгжлийн явцад хийдэг ажил гэдгийг ойлгох хэрэгтэй. Эцсийн хугацааг тооцохдоо анхны тооцоонд "засварлах хүчин зүйл"-ийг оруулах нь сайн туршлага юм. Энэхүү хэмжигдэхүүн нь хөгжүүлэгчийн туршлага, төслийн хүрээнд шийдэгдсэн ажлуудын тодорхойгүй байдлын нийт зэргээс хамаарч 1.5-3 хооронд хэлбэлзэж болно.

Доод сурталчлах

Цагийг тодорхойлохдоо олон хүчин зүйлийг харгалзан үзэх нь чухал юм.

Жишээлбэл, ажлын туршлага. Та удахгүй хийх ажлын цар хүрээг хэр тодорхой төсөөлж байна вэ? Та өмнө нь ийм зүйл хийж байсан уу? Туршлага их байх тусам ажил хурдан хийгдэх нь ойлгомжтой.

Сайн бичсэн техникийн даалгавар нь эцсийн хугацааг тодорхойлоход чухал үүрэг гүйцэтгэдэг. Энэ нь манай нутагт маш хэцүү байдаг. Ихэнхдээ үйлчлүүлэгч өөрөө юу хүсч байгаагаа мэддэггүй тул би танд нэмэлт нэг эсвэл хоёр өдөр зарцуулахыг зөвлөж байна, гэхдээ үйлчлүүлэгчээс хүссэн үр дүнгийн талаар тодорхой ойлголт аваарай. Энэ үзэл бодол нь харилцан хамааралтай байх нь чухал юм. Үүний дараа л та хэмжээ, нөхцөлийн талаар тохиролцож эхлэх боломжтой.

Мөн эрсдэлийг үргэлж оруулаарай. Эхлэгчдэд би гүйцэтгэлийн тооцоолсон хугацааг хоёроор үржүүлэхийг зөвлөж байна. Тэгээд ч дараа нь оруулж ирээд нэр хүндээ унагахаас илүүтэй хугацаанаас нь өмнө хүлээлгэж өгөөд захиалагчийн нүдэн дээр мэргэжилтэн болж өсөх нь дээр.

Доод сурталчлах

Ерөнхий зөвлөмж бол хөгжүүлэгч нь даалгавруудыг хэрхэн зөв задлах талаар сурах, болзошгүй бэрхшээлийг үргэлж хайж олох, өөрийн туршлагад найдаж, хэрэв заасан хугацаанд даалгаврыг шийдвэрлэх боломжгүй бол үйлчлүүлэгчид болон хамтран ажиллагсдад цаг тухайд нь анхааруулахаа бүү мартаарай.

Тодорхой төлөвлөгөө гаргах нь тодорхой ажлын эцсийн хугацааг тогтоохоос хамаагүй хэцүү байдаг. Үүний зэрэгцээ төслийг хугацаанд нь хүлээлгэж өгөхөөс гадна таны боловсруулсан систем бизнесийн асуудлыг зөв шийдэж байгаа эсэхийг шалгах нь чухал юм. Энд мэдээллийн технологийн багуудад RUP ба MSF-ээс SCRUM болон бусад Agile формат хүртэл програм хангамж хөгжүүлэх янз бүрийн арга зүйгээр тусалдаг. Хэрэгслийн сонголт маш өргөн бөгөөд манай олон үйлчлүүлэгчид бид төсөлд тэдэнтэй хэрхэн хамтран ажиллах, ямар зарчмуудыг баримталж байгааг урьдчилан ойлгохыг хүсдэг.

Дашрамд дурдахад, энэхүү аргачлалын зарчмууд нь үйлчлүүлэгчийн хүлээлтийг давталт болгонд удирдаж, төслийг маш хурдан хэрэгжүүлэх боломжийг олгодог тул Agile сэдэв нь бизнест ойртож, тэр ч байтугай төрийн секторт бие даасан төслүүдэд ч ойртож байна. Жишээлбэл, Agile багт үйлчлүүлэгчтэй удаан ярилцдаггүй. Уналт гарч ирэх хурд гэх мэт шаардлагагүй техникийн нарийн ширийн зүйлийг дүрсэлсэн олон арван хуудсыг март. Үйлчлүүлэгчдээ системийн завсрын хувилбарыг туршиж үзэх боломжийг олго, тэгвэл та бие биенээ ойлгоход илүү хялбар болно.

Agile баг бүх зүйлийг хамтдаа төлөвлөж, тодорхой асуудлыг шийдвэрлэхэд шаардагдах хөдөлмөрийн оновчтой түвшинг тодорхойлдог. Жишээлбэл, нэг арга техникийг "Покер төлөвлөлт" гэж нэрлэдэг бөгөөд оролцогч бүр тодорхой даалгаварт шаардагдах ажлын ачааллыг нэрээ нууцлан гаргадаг. Үүний дараа баг нь даалгаврын дундаж жинг өгүүллэгийн оноо эсвэл хүн-цагаар тодорхойлж, "хэн юунд дуртай вэ" зарчмын дагуу даалгавруудыг хуваарилдаг. Үүний зэрэгцээ, баг нь өдөр бүр 15 минутын уулзалтанд цугларч, хүн бүр хэдэн минутын дотор одоо хийж буй ажлынхаа байдал, тэр дундаа үүссэн бэрхшээлийн талаар ярилцдаг. Баг нь илрүүлсэн асуудлыг хурдан арилгадаг тул үйлчлүүлэгч програмистын ажлын дараагийн үе шатыг аль болох хурдан хардаг. Хөгжүүлэгчид багаа дахин татах хүсэлгүй, эсвэл өөрсдөө олох гэж дэмий оролдлого хийснээс болж даалгавраа дуусгах хугацааг хойшлуулдаггүй бөгөөд үнэ цэнэтэй цагийг хөнөөдөг. Дашрамд хэлэхэд, ийм мини статустай бол хөгжүүлэгчид өөрсдийн хамгийн сайн талыг харуулах, таныг ажилдаа хариуцлагатай ханддаг гэдгээ харуулах хүсэл эрмэлзэлтэй байдаг. Энэ нь үнэхээр урам зориг өгч, өөрийгөө хүмүүжүүлдэг.

Танилцуулга

Үйлдвэрлэлийн зохион байгуулалтын семинарын зорилго нь онолын мэдлэгийг өргөжүүлэх, гүнзгийрүүлэх, үйлдвэрлэлийг зохион байгуулах, төлөвлөхтэй холбоотой практикт хамгийн нийтлэг асуудлыг шийдвэрлэхэд шаардлагатай ур чадварыг эзэмшүүлэх явдал юм.

Семинарт сургалтын үндсэн хэсгүүдийн даалгавруудыг багтаасан болно. Сэдэв бүрийн эхэнд товч арга зүйн заавар, онолын мэдээлэл, шийдэл бүхий ердийн даалгавар, бие даан шийдвэрлэх даалгавруудыг танилцуулсан.

Сэдэв тус бүрт арга зүйн заавар, онолын товч мэдээлэл байгаа нь энэхүү семинарыг захидал харилцааны хичээлд ашиглах боломжийг олгодог.


Үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацааг тооцоолох

Үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацаа нь үйлдвэрлэлийн үйл явцын үр ашгийн үзүүлэлт болдог.

Үйлдвэрлэлийн мөчлөг- түүхий эдийг үйлдвэрлэж эхэлснээс хойш эцсийн бүтээгдэхүүн гаргах хүртэл хөдөлмөрийн объектын үйлдвэрлэлийн явцад байх хугацаа.

Үйлдвэрлэлийн мөчлөг нь дараахь зүйлээс бүрдэнэ ажлын цаг,энэ хугацаанд хөдөлмөр зарцуулж, мөн завсарлагааны цаг... Тэдний үүсгэсэн шалтгаанаас хамааран завсарлагыг дараахь байдлаар хувааж болно.

1) дээр байгалийнэсвэл технологийн - тэдгээр нь бүтээгдэхүүний шинж чанараас шалтгаална;

2) зохион байгуулалтын(ээлжийн хооронд завсарлага).

Үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацаа нь дараахь бүрэлдэхүүн хэсгүүдээс бүрдэнэ.

Цикл T = ттэдгээр + тидэх + т tr + тк.к. + тм.о. + тм.ц.

хаана ттэдгээр- технологийн үйл ажиллагааны хугацаа;

иддэг -байгалийн үйл явцын цаг хугацаа (хатаах, хөргөх гэх мэт);

t tr -хөдөлмөрийн объектыг тээвэрлэх хугацаа;

t c.c. -чанарын хяналтын хугацаа;

t m.o -хамтарсан унтах цаг;

т м.ц. -хэлтэс хоорондын агуулахад зарцуулсан хугацаа;

(тгурав тк.к. -тай хослуулж болно тм.о).

Үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацааг тооцоолох нь үйлдвэрлэлийн төрлөөс хамаарна. Масс үйлдвэрлэлд үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацааг тухайн бүтээгдэхүүний урсгал дээр байгаа цаг хугацаагаар тодорхойлдог, өөрөөр хэлбэл.

Цикл T = т M-д,

хаана т v- суллах мөчлөг;

М- ажлын байрны тоо.

Доод суллах тактикЭнэ нь нэг үйлдвэрлэсэн бүтээгдэхүүн болон дараагийн бүтээгдэхүүн гаргах хоорондох хугацааны интервалыг ойлгох ёстой.

Суллах мөчлөгийг томъёогоор тодорхойлно

t in = Teff / V,

хаана Тефф- тооцооны хугацаанд ажилтны цагийн үр дүнтэй сан (ээлж, өдөр, жил);

В- ижил хугацаанд үйлдвэрлэлийн хэмжээ (байгалийн нэгжээр).

Жишээ нь: T см = 8 цаг = 480 мин; T эгнээ = 30 мин; → Тефф = 480 - - 30 = 450 мин.

B = 225 ширхэг; → т h = 450/225 = 2 мин.

Боловсруулалтыг багцаар нь хийдэг багцын үйлдвэрлэлд технологийн мөчлөгийн үргэлжлэх хугацааг үйлдвэрлэлийн нэгжээр биш, харин бүхэл бүтэн багцаар тодорхойлно. Түүнээс гадна, багцыг үйлдвэрлэлд оруулах аргаас хамааран бид өөр өөр мөчлөгийн хугацааг авдаг. Бүтээгдэхүүнийг үйлдвэрлэлд шилжүүлэх гурван арга байдаг: дараалсан, зэрэгцээ, холимог (цуваа-зэрэгцээ).


I... At тууштайхөдөлж буй хэсгүүд, дараагийн үйл ажиллагаа бүр өмнөх ажил дууссаны дараа л эхэлнэ. Эд ангиудын дараалсан хөдөлгөөн хийх мөчлөгийн хугацаа нь дараахь хэмжээтэй тэнцүү байна.

хаана n - боловсруулж буй багцын хэсгүүдийн тоо;

t ширхэгби- үйл ажиллагааны цагийн хувь хэмжээ;

C би- нэг ажлын байрны тоо биүйл ажиллагаа;

м- технологийн процессын үйл ажиллагааны тоо.

5 ширхэг багцыг өгсөн. Багцыг 4 үйлдлээр дараалан дамжуулдаг; эхний үйл ажиллагааны үргэлжлэх хугацаа - 10 минут, хоёр дахь нь - 20 минут, гурав дахь нь - 10 минут, дөрөв дэх нь - 30 минут (Зураг 1).

Зураг 1

Тмөчлөг = Тсүүлийн = 5 (10 + 20 + 10 + 30) = 350 мин.

Эд ангиудын дараалсан хөдөлгөөн нь тоног төхөөрөмжийг сул зогсолтгүй ажиллуулах боломжийг олгодог давуу талтай. Гэхдээ түүний сул тал бол энэ тохиолдолд үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацаа хамгийн их байдаг. Нэмж дурдахад ажлын байран дээр эд ангиудын ихээхэн нөөц бий болдог бөгөөд энэ нь нэмэлт үйлдвэрлэлийн орон зай шаарддаг.

II... At Зэрэгцээбагцын хөдөлгөөн, бие даасан хэсгүүд нь ажлын байранд сааталгүй, харин бүхэл багцын боловсруулалт дуусахыг хүлээхгүйгээр нэн даруй дараагийн үйл ажиллагаанд шилжинэ. Тиймээс ажлын станц бүр дээр хэсэг хэсгүүдийн зэрэгцээ хөдөлгөөнөөр нэг багцын өөр өөр хэсгүүдэд янз бүрийн үйлдлүүд нэгэн зэрэг хийгддэг.

Бүтээгдэхүүний зэрэгцээ хөдөлгөөнтэй багц боловсруулах хугацаа эрс багасдаг.

dl .

хаана n n- доторх хэсгүүдийн тоо багц шилжүүлэх(тээврийн ачаа), i.e. нэг үйл ажиллагаанаас нөгөөд нэгэн зэрэг шилжсэн бүтээгдэхүүний тоо;

Dl - хамгийн урт ажиллагааны мөчлөг.

Бүтээгдэхүүний багцыг зэрэгцүүлэн ажиллуулснаар бүхэл багцын хэсгүүдийн боловсруулалтыг зөвхөн богино хугацааны дараа урт хугацааны үйл ажиллагаа явуулдаг ажлын байранд тасралтгүй явуулдаг. Богино үйл ажиллагаа нь уртыг дагаж мөрддөг тохиолдолд, i.e. урт (бидний жишээнд - гурав дахь үйлдэл), эдгээр үйлдлүүдийн гүйцэтгэлийг үе үе гүйцэтгэдэг, i.e. сул зогсолттой тоног төхөөрөмж. Энд өмнөх (урт) ажиллагаа нь үүнийг зөвшөөрөхгүй тул хэсэгчилсэн хэсгийг хойшлуулалгүйгээр шууд боловсруулах боломжгүй юм.

Бидний жишээнд: n= 5, т 1 = 10; т 2 = 20; т 3 = 10; т 4 = 30; хамт= 1.

Туур = 1 (10 + 20 + 10 + 30) + (5-1) 30 = 70 + 120 = 190 мин.

Эд ангиудын зэрэгцээ хөдөлгөөний схемийг авч үзье (Зураг 2):

Зураг 2

III... Бүх үйл ажиллагаанд багцын салангид хэсгүүдийн боловсруулалтын тасалдлыг арилгахын тулд хэрэглэнэ зэрэгцээ-цувааэсвэл холимогЭхлэх арга бөгөөд энэ нь эд ангиудыг (боловсруулсны дараа) дараагийн үйл ажиллагаанд нэг нэгээр нь эсвэл "тээврийн" хоцрогдол (тус бүр хэд хэдэн хэсэг) хэлбэрээр үйл ажиллагааны гүйцэтгэлийг тасалдуулахгүй байхаар шилжүүлэх арга ямар ч ажлын байранд. Холимог аргад боловсруулалтын тасралтгүй байдлыг дэс дараалсан аргаас, параллель аргаар тухайн хэсгийг боловсруулсны дараа шууд үйл ажиллагаанаас үйл ажиллагаанд шилжүүлэхийг авдаг. Үйлдвэрлэлд оруулах холимог аргын хувьд мөчлөгийн хугацааг томъёогоор тодорхойлно

кор .

хаана кор. - хамгийн богино үйлдлийн мөчлөг (зэргэлдээх үйл ажиллагааны хос бүрээс);

м-1тохируулгын тоо.

Хэрэв дараагийн үйл ажиллагаа нь өмнөх үйлдлээсээ илүү урт эсвэл цаг хугацааны хувьд тэнцүү байвал өмнөх үйл ажиллагааны эхний хэсгийг боловсруулсны дараа энэ үйлдлийг нэг нэгээр нь эхлүүлнэ. Хэрэв эсрэгээр дараагийн үйл ажиллагаа нь өмнөхөөсөө богино байвал хэсэг хэсгээр нь шилжүүлэхэд цоорхой байна. Тэднээс урьдчилан сэргийлэхийн тулд ийм хэмжээний тээврийн нөөцийг хуримтлуулах шаардлагатай бөгөөд энэ нь дараагийн үйл ажиллагаанд ажиллахад хангалттай юм. График дээрх энэ цэгийг бодитоор олохын тулд багцын сүүлийн нарийн ширийн зүйлийг шилжүүлж, түүний гүйцэтгэлийн хугацааг баруун тийш хойшлуулах шаардлагатай. Багцын бусад бүх хэсгүүдийн боловсруулалтын хугацааг зүүн талд зурсан болно. Эхний хэсгийн боловсруулалтын эхлэл нь өмнөх үйл ажиллагааны тээврийн нөөцийг энэ үйл ажиллагаанд шилжүүлэх ёстой мөчийг харуулж байна.

Хэрэв зэргэлдээх үйлдлүүд ижил хугацаатай бол тэдгээрийн зөвхөн нэгийг нь богино эсвэл урт гэж хүлээн зөвшөөрдөг (Зураг 3).

Зураг 3

Тсүүлчийн уурын = 5 (10 + 20 + 10 + 30) - (5-1) (10 + 10 + 10) = 350-120 = 230 мин.

Үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацааг багасгах үндсэн арга замууд нь:

1) Үйлдвэрлэсэн бүтцийн үйлдвэрлэлийн чадварыг сайжруулах, компьютер ашиглах, дэвшилтэт технологийн процессыг нэвтрүүлэх замаар бүтээгдэхүүний үйлдвэрлэлийн хөдөлмөрийн эрчмийг бууруулах.

2) Хөдөлмөрийн үйл явцыг оновчтой зохион байгуулах, ажлын байрыг мэргэшүүлэх, хамтын ажиллагааны үндсэн дээр зохион байгуулах, засвар үйлчилгээ хийх, үйлдвэрлэлийг өргөн хүрээтэй механикжуулах, автоматжуулах.

3) Үйлдвэрлэлийн үйл явцыг шинжлэх ухааны үндэслэлтэй зохион байгуулах зарчмуудыг оновчтой ашиглах үндсэн дээр ажил дээрх янз бүрийн төлөвлөсөн болон төлөвлөөгүй завсарлагааг багасгах.

4) Даралт, температур нэмэгдэх, тасралтгүй үйл явц руу шилжих гэх мэт урвалын явцыг хурдасгах.

5) Тээвэрлэлт, агуулах, хяналтын үйл явцыг сайжруулах, тэдгээрийг боловсруулах, угсрах үйл явцтай цаг хугацааны уялдуулах.

Үйлдвэрлэлийн мөчлөгийн үргэлжлэх хугацааг багасгах нь үйлдвэрлэлийг зохион байгуулах ноцтой ажлуудын нэг юм, учир нь эргэлтийн хөрөнгийн эргэлтэд нөлөөлж, хөдөлмөрийн зардлыг бууруулах, хадгалах зайг багасгах, тээврийн хэрэгцээ гэх мэт.

Даалгаврууд

1 Үйлдвэрлэлийн процесст дараалсан, зэрэгцээ, дараалсан-зэрэгцээ хөдөлгөөний төрлөөр 50 хэсгийг боловсруулах циклийн үргэлжлэх хугацааг тодорхойлох. Эд анги боловсруулах нь таван үйлдлээс бүрдэх бөгөөд үргэлжлэх хугацаа нь мин: т 1 =2; т 2 =3; т 3 =4; т 4 =1; т 5 = 3. Хоёр дахь үйлдлийг хоёр машин дээр, бусад нь нэг машин дээр гүйцэтгэдэг. Шилжүүлэх багцын хэмжээ 4 ширхэг байна.

2 Үйлдвэрлэлийн процесст дараалсан, зэрэгцээ, дараалсан-зэрэгцээ хэлбэрийн хөдөлгөөн бүхий 50 хэсгийг боловсруулах мөчлөгийн үргэлжлэх хугацааг тодорхойлох. Эд анги боловсруулах нь дөрвөн үйлдлээс бүрдэх бөгөөд үргэлжлэх хугацаа нь мин: т 1 =1; т 2 =4; т 3 =2; т 4 = 6. Дөрөв дэх үйлдлийг хоёр машин дээр, бусад нь нэг машин дээр гүйцэтгэдэг. Шилжүүлэх багцын хэмжээ 5 ширхэг байна.

3 200 ширхэг хэсгүүдийн багцыг үйлдвэрлэлийн явцад зэрэгцээ дараалсан хөдөлгөөнөөр боловсруулдаг. Эд анги боловсруулах нь зургаан үйлдлээс бүрдэх бөгөөд үргэлжлэх хугацаа нь мин: т 1 =8; т 2 =3; т 3 =27; т 4 =6; т 5 =4; т 6 = 20. Гурав дахь үйлдэл нь гурван машин дээр, зургаа дахь нь хоёр, бусад үйлдлүүд тус бүрийг нэг машин дээр гүйцэтгэдэг. Үйлдвэрлэл дэх хөдөлгөөний зэрэгцээ-дараалсан хувилбарыг зэрэгцээ хувилбараар сольсон тохиолдолд хэсэг хэсгүүдийн боловсруулалтын мөчлөгийн хугацаа хэрхэн өөрчлөгдөхийг тодорхойл. Шилжүүлэх багцын хэмжээ 20 ширхэг байна.

4 300 ширхэгтэй багцыг үйлдвэрлэлийн явцад зэрэгцээ дараалсан хөдөлгөөнөөр боловсруулдаг. Эд анги боловсруулах нь долоон үйлдлээс бүрдэх бөгөөд үргэлжлэх хугацаа нь мин: т 1 =4; т 2 =5; т 3 =7; т 4 =3; т 5 =4; т 6 =5; т 7 = 6. Үйлдэл бүрийг нэг машин дээр гүйцэтгэдэг. Багцыг шилжүүлэх - 30 ширхэг. Үйлдвэрлэлийн технологийг сайжруулсны үр дүнд гурав дахь үйл ажиллагааны үргэлжлэх хугацаа 3 минут, долоо дахь нь 2 минутаар буурчээ. Багцын мөчлөг хэрхэн өөрчлөгдөхийг тодорхойлох.

5 5 ширхэгээс бүрдсэн нэг багц хоосон зайг өгнө. Багцыг 4 үйлдлээр дамжуулдаг: эхнийх нь 10 минут, хоёр дахь нь 20 минут, гурав дахь нь 10 минут, дөрөв дэх нь 30 минут байна. Циклийн хугацааг аналитик болон графикаар дараалсан хөдөлгөөнөөр тодорхойлно.

6 Дөрвөн ширхэгээс бүрдсэн нэг багц хоосон зайг өгсөн. Багцыг 4 үйлдлээр дамжуулдаг: эхнийх нь 5 минут, хоёр дахь нь 10 минут, гурав дахь нь 5 минут, дөрөв дэх нь 15 минут байна. Зэрэгцээ хөдөлгөөнөөр мөчлөгийн үргэлжлэх хугацааг аналитик болон графикаар тодорхойлно.

7 5 ширхэгээс бүрдсэн нэг багц хоосон зайг өгнө. Багцыг 4 үйлдлээр дамжуулдаг: эхнийх нь 10 минут, хоёр дахь нь 20 минут, гурав дахь нь 10 минут, дөрөв дэх нь 30 минут байна. Дараалсан параллель хөдөлгөөний аналитик болон график аргыг ашиглан мөчлөгийн үргэлжлэх хугацааг тодорхойлно.

8 180 ширхэг багцыг боловсруулах технологийн мөчлөгийн үргэлжлэх хугацааг тодорхойлно. түүний хөдөлгөөний зэрэгцээ болон дараалсан хувилбаруудтай. Боловсруулах график бүтээх. Шилжүүлгийн багцын хэмжээ - 30 ширхэг. Ашиглалтын ажлын цагийн норм, ажлын тоо дараах байдалтай байна.

(ажлаас хойшхи хугацаа нь эх үүсвэр дээр ажиллаж эхлэх хүртэл дэмжлэг болдоггүй); багасгах сааталэсвэл хариу цаг(Тогтмол үйл ажиллагаа явуулж байгаа тохиолдолд ажил дуусах хүртэл, эсвэл интерактив үйл ажиллагааны үед хэрэглэгчийн эхний гаралтын үед систем хариу үйлдэл үзүүлэх хүртэл хугацаа үргэлжилнэ); эсвэл дээд зэргээр нэмэгдүүлэх шударга ёс(процесс тус бүрт ижил хэмжээний процессорын цаг, эсвэл ерөнхийдөө процесс бүрийн тэргүүлэх чиглэл, ажлын ачааллын дагуу цаг хугацааны харгалзах цэгүүд). Практикт эдгээр зорилгууд нь ихэвчлэн хоорондоо зөрчилддөг (жишээ нь: нэвтрүүлэх чадвар ба хоцролт ба цаг хугацаа) тул хуваарь гаргагч нь зохих өөрчлөлтийг хийх болно. Хэрэглэгчийн хэрэгцээ шаардлага, даалгавраас хамааран дээр дурдсан асуудлуудын аль нэгээр нь давуу талыг хэмждэг.

OS / 360 ба залгамжлагчид

Aix

AIX 4-р хувилбарт хэлхээний хуваарь гаргах бодлогын гурван боломжит утга байдаг:

  • Эхлээд эхнийх нь гарч ирэв: Энэ удирдамжтай хэлхээг товлосоны дараа түүнийг дуусгах хүртэл гүйцэтгэнэ, хэрэв блоклогдоогүй бол процессорын хяналтаас сайн дураараа татгалзана, эсвэл илгээх нь илүү өндөр урсгалын тэргүүлэх ач холбогдолтой болно. Зөвхөн тогтмол тэргүүлэх урсгалтай үед FIFO хуваарийн бодлого байж болно.
  • Round Robin: Энэ нь 10ms цагийн зүсмэлүүд дээр суурилсан дугуй эргэлтийн загвартай AIX Version 3 схем төлөвлөгчтэй төстэй юм. PP утас нь хугацааны төгсгөлд хяналттай байх үед энэ нь ижил ач холбогдол бүхий хэлхээний дарааллын сүүл рүү шилждэг. Зөвхөн тогтсон тэргүүлэх чиглэлтэй хэлхээнүүд нь Round Robin хуваарийн бодлоготой байж болно.
  • БУСАД: Энэхүү бодлогыг хэрэгжүүлэх явцад POSIX1003.4a тодорхойлсон. AIX Хувилбар 4-д энэ удирдамж нь тогтмол бус тэргүүлэх чиглэлүүдэд хамаарахаас бусад тохиолдолд RR-тэй дүйцэхүйц бодлого гэж тодорхойлогддог. Тасалдал бүрт ажиллаж байгаа урсгалын тэргүүлэх утгыг дахин тооцоолох нь түүний тэргүүлэх утга нь өөр урсгалаас өндөр болсон тул урсгал нь хяналтаа алдаж болзошгүй гэсэн үг юм. Энэ бол AIX 3-р хувилбарын үйлдэл юм.

Thread нь одоогоор олон асинхрон процессоос бүрдэх програмуудад голчлон сонирхолтой байдаг. Эдгээр програмууд нь олон урсгалтай бүтэц рүү хөрвүүлбэл системд бага ачаалал өгөх боломжтой.