makepp_sandboxes - ออนไลน์ใน Cloud

นี่คือคำสั่ง makepp_sandboxes ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


makepp_sandboxes -- วิธีแบ่งพาร์ติชัน makepp build

DESCRIPTION


D: --ทำ-สร้าง,
--อย่าสร้าง
--อย่าอ่าน
--do-อ่าน, I: --ในแซนด์บ็อกซ์
--inside-แซนด์บ็อกซ์ O: --นอกแซนด์บ็อกซ์ S: --แซนด์บ็อกซ์,
--แซนด์บ็อกซ์-เตือน
--แซนด์บ็อกซ์-คำเตือน V: --เสมือน-แซนด์บ็อกซ์

มีเหตุผลสองสามประการที่คุณอาจต้องการแบ่งพาร์ติชันโครงสร้างไฟล์สำหรับ makepp
สร้าง:

1. ถ้าคุณรู้ว่าต้นไม้ส่วนใหญ่ไม่ได้รับผลกระทบจากการเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับ
ไฟล์ต้นฉบับตั้งแต่บิลด์ก่อนหน้านี้ คุณสามารถบอก makepp ให้ถือว่าไฟล์นั้น
ในส่วนนั้นของต้นไม้นั้นมีความทันสมัยอยู่แล้ว ซึ่งหมายความว่าไม่โดยปริยาย
กำลังโหลด makefile ของพวกเขานับประสาการคำนวณและตรวจสอบการพึ่งพาของพวกเขา (บันทึก
ที่โหลด makefiles อย่างชัดเจนยังคงโหลดอยู่)

2. หากคุณมีกระบวนการ makepp หลายตัวที่เข้าถึงต้นไม้เดียวกัน คุณต้องการจะยกระดับ
ข้อผิดพลาดหากคุณตรวจพบว่ากระบวนการสองกระบวนการพร้อมกันกำลังเขียนส่วนเดียวกันของ
ต้นไม้หรือว่ากระบวนการหนึ่งกำลังอ่านส่วนหนึ่งของต้นไม้ที่กระบวนการพร้อมกันคือ
การเขียน. ไม่ว่าจะด้วยวิธีใด คุณมีสภาพการแข่งขันที่ลำดับเหตุการณ์ที่เกี่ยวข้อง
ในสองกระบวนการที่เกิดขึ้นพร้อมกัน (ซึ่งไม่สามารถรับประกันได้) อาจส่งผลต่อผลลัพธ์

Makepp มีสิ่งอำนวยความสะดวกแซนด์บ็อกซ์ที่จัดการข้อกังวลทั้งสองข้อ

sandboxing Options
ตัวเลือก makepp ต่อไปนี้อาจใช้เพื่อตั้งค่าคุณสมบัติของแซนด์บ็อกซ์ของทรีย่อย
มอบให้โดย เส้นทาง และไฟล์ทั้งหมดและไฟล์ที่เป็นไปได้:

--อย่าสร้าง เส้นทาง
--ทำ-สร้าง เส้นทาง
ตั้งค่าหรือรีเซ็ตคุณสมบัติ "dont-build" ไฟล์ใดๆ ที่มีชุดคุณสมบัตินี้จะถือว่า
เป็นปัจจุบันแล้ว และจะไม่มีการตรวจสอบบิลด์ใดๆ ค่าเริ่มต้นคือรีเซ็ต
(เช่น "do-build") ยกเว้นถ้าคุณมี "RootMakeppfile" ซึ่งในกรณีนี้ ทุกอย่าง
นอก id ทรีย่อย "dont-build"

--แซนด์บ็อกซ์ เส้นทาง
--ในแซนด์บ็อกซ์ เส้นทาง
--ภายใน-แซนด์บ็อกซ์ เส้นทาง
--ออกจากกล่องทราย เส้นทาง
ตั้งค่าหรือรีเซ็ตคุณสมบัติ "ในแซนด์บ็อกซ์" เกิดข้อผิดพลาดหาก makepp มิฉะนั้น
เขียนไฟล์ด้วยการรีเซ็ตคุณสมบัตินี้ ยังคงดำเนินการตรวจสอบบิลด์ เว้นแต่
มีการตั้งค่าคุณสมบัติ "dont-build" ด้วย ค่าเริ่มต้นถูกตั้งค่าไว้ (เช่น "ในแซนด์บ็อกซ์") เว้นแต่
มี --แซนด์บ็อกซ์ ตัวเลือก ซึ่งในกรณีนี้ ค่าเริ่มต้นสำหรับไฟล์อื่นๆ ทั้งหมดคือ
รีเซ็ต (เช่น "นอกแซนด์บ็อกซ์")

--แซนด์บ็อกซ์-warn
--แซนด์บ็อกซ์-คำเตือน
ดาวน์เกรดการละเมิด "ในแซนด์บ็อกซ์" และ "ไม่อ่าน" เป็นคำเตือนแทนที่จะเป็นข้อผิดพลาด
สิ่งนี้มีประโยชน์เมื่อมีการละเมิดหลายร้อยครั้ง เพื่อให้คุณสามารถรวบรวม
ในคราวเดียวและดำเนินการแก้ไขอย่างเหมาะสม มิเช่นนั้นจะเห็นเพียง
หนึ่งการละเมิดต่อการร้องขอ makepp และคุณไม่รู้ว่าจะเหลืออีกกี่อันจนกว่าจะถึง
พวกเขาทั้งหมดได้รับการแก้ไข

--อย่าอ่าน เส้นทาง
--do-อ่าน เส้นทาง
ตั้งค่าหรือรีเซ็ตคุณสมบัติ "ไม่อ่าน" เกิดข้อผิดพลาดหาก makepp มิฉะนั้น
อ่านไฟล์ด้วยชุดคุณสมบัตินี้ ค่าเริ่มต้นจะถูกรีเซ็ต (เช่น "do-read")

--เสมือน-แซนด์บ็อกซ์
อย่าเขียนใหม่ข้อมูลบิวด์ของไฟล์ที่ไม่ได้สร้างโดยกระบวนการ makepp นี้ นี้
มีประโยชน์เมื่อรันกระบวนการ makepp พร้อมกันกับแซนด์บ็อกซ์ที่ทับซ้อนกัน และคุณ
แน่ใจว่าจะไม่มีสองกระบวนการใดที่จะพยายามสร้างเป้าหมายเดียวกัน Makepp will
แล้วละเว้นจากการแคชข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ที่อ่านเพราะ
อาจมีผู้อ่านคนอื่น ๆ พร้อมกัน

คุณสมบัติทั้ง 3 อย่างนี้ใช้กับทรีย่อยทั้งหมด รวมถึงไฟล์ที่ไม่
ยังมีอยู่ เส้นทางที่เฉพาะเจาะจงมากขึ้นจะแทนที่เส้นทางที่เฉพาะเจาะจงน้อยกว่า เส้นทางที่ระบุอาจเป็น an
แต่ละไฟล์แม้ว่าไฟล์จะยังไม่มีอยู่ก็ตาม

หากทั้งตั้งค่าและรีเซ็ตคุณสมบัติบนเส้นทางเดียวกันทั้งหมด ตัวเลือกที่ปรากฏขึ้น
ไปทางขวาสุดบนบรรทัดคำสั่งจะมีความสำคัญกว่า

sandboxing for วัดการเร่งความเร็ว
หากคุณต้องการป้องกันไม่ให้ makepp เสียเวลาในการประมวลผลไฟล์ที่คุณรู้ว่ามีอยู่แล้ว
เป็นปัจจุบัน (โดยเฉพาะไฟล์ที่สร้างโดยเครื่องมือสร้างอื่นที่ไม่ใช่ makepp)
แล้วก็ --อย่าสร้าง เป็นตัวเลือกสำหรับคุณ

กรณีที่พบบ่อยที่สุดสำหรับการเพิ่มประสิทธิภาพดังกล่าวคือคุณรู้ว่าทุกอย่างไม่ได้
ที่หรือต่ำกว่าไดเร็กทอรีเริ่มต้นเป็นปัจจุบันแล้ว สามารถแจ้งได้ที่
makepp ใช้ "--อย่าสร้าง /. --ทำ-สร้าง .".

sandboxing for พร้อมกัน กระบวนการ
เทคนิคหนึ่งที่สามารถลดเวลาแฝงของบิวด์ได้คือการมีกระบวนการ makepp หลายอันทำงาน
บนต้นไม้ต้นเดียวกัน การจัดการนี้ค่อนข้างยากกว่าการใช้ -j ตัวเลือก
แต่ก็สามารถมีประสิทธิภาพมากขึ้นเช่นกันเนื่องจาก:

· เมื่อใช้แซนด์บ็อกซ์ กระบวนการอาจทำงานบนหลายโฮสต์ เช่น ผ่าน job
ระบบการเข้าคิว เพิ่มขึ้น -j จำกัด ในที่สุดก็หมดทรัพยากร CPU ของa
โฮสต์เดียวและยังสามารถชะลอการสร้างเนื่องจากการฟอร์กกระบวนการมากเกินไป

· -j ไม่ได้ทำให้งานที่ใช้เวลานานของ makepp เป็นแบบขนานเช่นการโหลด
makefiles, การสแกน, การสร้างการพึ่งพาโดยนัยขณะสแกนและตรวจสอบ
การพึ่งพา

ความเสี่ยงที่ใหญ่ที่สุดของแนวทางนี้คือการสร้างอาจไม่สามารถกำหนดได้ถ้า
กระบวนการที่อาจโต้ตอบซึ่งกันและกัน สิ่งนี้นำไปสู่การสร้างระบบ
ที่ให้ผลลัพธ์ที่ไม่ถูกต้องเป็นระยะ และไม่มีกลไกง่าย ๆ ในการระบุสาเหตุ
มันเกิดขึ้น.

เพื่อจัดการกับความเสี่ยงนี้ ขอแนะนำให้แบ่งทรีระหว่างกระบวนการที่เกิดขึ้นพร้อมกัน
เช่นนั้นหากกระบวนการใดเข้าถึงระบบไฟล์อย่างไม่ถูกต้อง ข้อผิดพลาดก็คือ
เพิ่มขึ้นอย่างแน่วแน่ในทันที โดยปกติทำได้โดยการมอบหมายให้แต่ละ
กระบวนการพร้อมกัน "แซนด์บ็อกซ์" ซึ่งได้รับอนุญาตให้เขียนโดยที่แซนด์บ็อกซ์ของ no
สองกระบวนการที่เกิดขึ้นพร้อมกันอาจทับซ้อนกัน

นอกจากนี้ แต่ละกระบวนการจะทำเครื่องหมายแซนด์บ็อกซ์ของกระบวนการอื่นๆ ที่อาจเกิดขึ้นพร้อมกัน
ว่า "ไม่อ่าน" หากกระบวนการอ่านไฟล์ที่กระบวนการอื่นพร้อมกันรับผิดชอบ
สำหรับการเขียน (ซึ่งยังไม่อาจเขียนได้) จึงเกิดข้อผิดพลาดขึ้น
โดยด่วน

sandboxing for เนื่อง กระบวนการ
เมื่อบิลด์ถูกแบ่งพาร์ติชันสำหรับกระบวนการ makepp พร้อมกัน มักจะมี a
ความสัมพันธ์ตามลำดับระหว่างคู่ของกระบวนการต่างๆ ตัวอย่างเช่น อาจมี a
กระบวนการคอมไพล์พร้อมกันนับโหล ตามด้วยกระบวนการลิงค์เดียวที่ไม่สามารถเริ่มต้นได้
จนกว่ากระบวนการคอมไพล์ทั้งหมดจะเสร็จสิ้น ความสัมพันธ์ตามลำดับดังกล่าวจะต้อง
บังคับใช้โดยกลไกใดก็ตามที่จัดการกระบวนการ makepp ต่างๆ (เช่น
ระบบคิวงาน)

เมื่อกระบวนการมีความสัมพันธ์แบบลำดับที่ทราบ โดยปกติไม่จำเป็นต้องเพิ่มค่า
ผิดพลาดเมื่อเข้าถึงส่วนเดียวกันของต้นไม้ เพราะผลก็คืออย่างไรก็ตาม
กำหนด

อย่างไรก็ตาม โดยทั่วไปจะเป็นประโยชน์ที่จะระบุ --อย่าสร้าง ทางเลือกของผู้อยู่ในอุปการะ
กระบวนการ (กระบวนการลิงค์ในตัวอย่างของเรา) ที่แจ้งให้ทราบถึงพื้นที่ที่มีแล้ว
ได้รับการปรับปรุงโดยขั้นตอนเบื้องต้น (งานคอมไพล์ในตัวอย่างของเรา) ในเรื่องนี้
เราหลีกเลี่ยงงานที่ไม่จำเป็นส่วนใหญ่ของเป้าหมายการสร้างค่าว่างที่เป็นเพียง
อัปเดต

ใช้ makepp_sandboxes ออนไลน์โดยใช้บริการ onworks.net



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด