ที่ตั้ง: ความบันเทิงเกมการ์ดออนไลน์ วิทยาศาสตร์และเทคโนโลยี ระบบปฏิบัติการใหม่ของ Apple มุ่งสู่อนาคตที่หลากหลาย

ระบบปฏิบัติการใหม่ของ Apple มุ่งสู่อนาคตที่หลากหลาย

author:冼铑耩 ที่มา: ไซต์ดั้งเดิม เวลา:2019-09-01

Apple เริ่มจัดส่ง Snow Leopard ในวันศุกร์ แต่ความสำคัญที่แท้จริงของการอัปเดต Mac OS X น่าจะเกิดขึ้นในเวลาต่อมา

นั่นเป็นเพราะ Mac OS X 10.6 เริ่มต้นความพยายามในระยะยาวของ Apple ในการก้าวไปข้างหน้าด้วยการทุบตีปัญหาที่อุตสาหกรรมคอมพิวเตอร์ทั้งหมดต้องประสบ: การบีบงานที่มีประโยชน์จากโปรเซสเซอร์ที่ทันสมัย แทนที่จะบรรจุ Snow Leopard ด้วยคุณสมบัติใหม่ที่ชัดเจนในทันที Apple กำลังพยายามปรับตัวให้เข้ากับความเป็นจริงแบบใหม่ซึ่งโปรเซสเซอร์สามารถทำงานหลายอย่างพร้อมกันมากกว่าหนึ่งงานที่รวดเร็ว

“ เรากำลังพยายามสร้างรากฐานสำหรับอนาคต” Wiley Hodges ผู้อำนวยการฝ่ายการตลาดของ Mac OS X กล่าว

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

การเคลื่อนไหวนั้นสอดคล้องกับแอปเปิ้ลได้ดีขึ้นกับการเปลี่ยนแปลงในการคำนวณ เป็นเวลาหลายปีที่ผู้ผลิตชิปเช่น Intel และ Advanced Micro Devices ได้เพิ่มอัตราการประมวลผลสัญญาณนาฬิกาอย่างต่อเนื่องและโปรแกรมเมอร์ก็คุ้นเคยกับการเพิ่มประสิทธิภาพในแต่ละรุ่นใหม่ แต่ก่อนหน้านี้ทศวรรษนี้ปัญหารถไฟตกราง

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

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

ป้อน Grand Central Dispatch หรือ GCD ส่วนประกอบ Snow Leopard นี้ออกแบบมาเพื่อลดปัญหาการเขียนโปรแกรมแบบขนานจำนวนมาก เป็นการง่ายที่จะแก้ไขซอฟต์แวร์ที่มีอยู่เพื่อใช้ GCD Apple กล่าวและระบบปฏิบัติการจะจัดการกับการจัดการที่ซับซ้อนดังนั้นโปรแกรมเมอร์ไม่จำเป็นต้องทำ

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

“ มันจะต้องเกิดขึ้น” Haff กล่าว "ถ้าคุณดูประวัติของเทคโนโลยีสารสนเทศสิ่งที่ต้องเกิดขึ้นจริง ๆ จะเกิดขึ้นจริง ๆ "

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

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

มีเครื่องมือบางอย่างที่ช่วยลดความยุ่งยากเช่น แต่เธรดยังคงซับซ้อน

“ เรามองไปที่สิ่งนี้และบอกว่ามันต้องมีการคิดใหม่ขั้นพื้นฐานเราต้องการทำให้การพัฒนาแอพพลิเคชั่นสำหรับมัลติคอร์ง่ายขึ้น” ฮอดจ์สกล่าว "เรากำลังเปลี่ยนความรับผิดชอบสำหรับรหัสการจัดการลงในระบบปฏิบัติการเพื่อให้ผู้พัฒนาแอปพลิเคชันไม่ต้องเขียนและบำรุงรักษา"

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

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

“ มีค่าใช้จ่ายมากมายในการทำเกลียวซึ่งหมายความว่าคุณต้องการแบ่งโปรแกรมของคุณออกให้น้อยที่สุดเท่าที่จะเป็นไปได้ด้วย Grand Central Dispatch เราพูดได้ว่าโปรแกรมของคุณแตกเป็นชิ้นเล็กชิ้นน้อยที่สุดเท่าที่จะทำได้” Hodges กล่าว

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

มูลนิธิอื่น ๆ
มีกลไกที่สองใน Snow Leopard ที่ให้วิธีการใหม่สำหรับโปรแกรมเมอร์ในฮาร์ดแวร์พลังงาน: หรือ Open Computing Language มันช่วยให้คอมพิวเตอร์ใช้ชิปกราฟิกไม่เพียง แต่เร่งกราฟิก แต่ยังรวมถึงการคำนวณทั่วไปด้วย

ในการใช้ OpenCL โปรแกรมเมอร์เขียนโมดูลของรหัสในรูปแบบของภาษาการเขียนโปรแกรม C ที่เรียกว่า OpenCL C. Snow Leopard แปลรหัสนั้นทันทีเพื่อให้คำแนะนำชิปกราฟิกสามารถเข้าใจและถ่ายโอนข้อมูลที่จำเป็นลงในหน่วยความจำระบบกราฟิก งานหลายอย่างจะไม่ได้รับประโยชน์ แต่ OpenCL นั้นดีสำหรับการจำลองทางฟิสิกส์ของวิดีโอเกมหรืออัลกอริทึมปัญญาประดิษฐ์การทำงานด้านเทคนิคคอมพิวเตอร์และการใช้งานมัลติมีเดีย

ผู้ผลิตชิปกราฟิกรายใหญ่สามรายคือ Intel, Nvidia และ ATI ของ AMD ได้รับรอง OpenCL และ นั่นหมายความว่าโปรแกรมเมอร์น่าจะสามารถนำโค้ด OpenCL ของพวกเขากลับมาใช้ใหม่ด้วยแอพพลิเคชั่น Windows ได้เช่นกัน

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

การเปลี่ยนแปลง 64 บิต
Apple เริ่มต้นการเปลี่ยนแปลง 64 บิตเมื่อหลายปีก่อนด้วยโปรเซสเซอร์ PowerPC ที่ใช้ก่อนเปลี่ยนเป็นชิป Intel ด้วย Snow Leopard เกือบจะเป็นชุดซอฟต์แวร์เต็มรูปแบบ - Mail, Safari, Finder, iChat, QuickTime - กลายเป็นโปรแกรม 64 บิต

ชิปของ Intel วันนี้เป็น 64 บิต แต่อะไรที่ทำให้คุณได้รับชิปมากกว่า 32 บิต สั้น ๆ มันสามารถให้โปรแกรมที่ใช้งานหนักใช้หน่วยความจำมากกว่า 4GB ปรับปรุงประสิทธิภาพด้วยการเสนอช่องหน่วยความจำชิปเพิ่มเติมที่เรียกว่ารีจิสเตอร์และเพิ่มความเร็วในการดำเนินการทางคณิตศาสตร์

แม้ว่าการเปลี่ยนไปใช้การออกแบบ 64 บิตไม่รับประกันว่าจะสามารถเร่งความเร็วได้ทันที ใน คนหนึ่ง Apple ระบุว่า: " Myth: แอปพลิเคชันของฉันจะทำงานเร็วขึ้นมากหากเป็นแอปพลิเคชัน 64 บิต 'ดั้งเดิม' ข้อเท็จจริง: โปรแกรม 64 บิตบางตัวอาจทำงานช้ากว่าในสถาปัตยกรรม 64 บิตของ Intel และ PowerPC" ปัญหาหนึ่ง:

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

เคอร์เนล 32 บิต
อย่างไรก็ตามส่วนประกอบหลักของ Mac OS X ซึ่งเป็นเคอร์เนลยังคงเป็นซอฟต์แวร์ 32 บิตตามค่าเริ่มต้นบนเครื่องอุปโภคบริโภคเช่น MacBooks และ iMacs Apple เขียนไว้เพื่อให้แอปพลิเคชันสามารถจัดการหน่วยความจำได้มากกว่า 4GB และเคอร์เนลสามารถจัดการได้ทั้งหมด

ในเอกสารนักพัฒนาซอฟต์แวร์เกี่ยวกับประสิทธิภาพ 64 บิต Apple ระบุว่า: "Myth: เคอร์เนลจำเป็นต้องเป็น 64 บิตเพื่อให้ได้รับการปรับให้เหมาะสมที่สุดสำหรับโปรเซสเซอร์ 64 บิต ข้อเท็จจริง: เคอร์เนลไม่จำเป็นต้องอยู่มากกว่า 4 โดยตรงโดยตรง GB of RAM พร้อมกัน "

แม้ว่าเคอร์เนล 32 บิตของ Apple จะถูก จำกัด ด้วยหน่วยความจำจำนวนมาก "ดังนั้นเมื่อเริ่มต้นใน Snow Leopard เคอร์เนลจะย้ายไปใช้งานแบบ 64 บิตบนฮาร์ดแวร์ที่รองรับการกำหนดค่าหน่วยความจำขนาดใหญ่" สายเซิร์ฟเวอร์ Xserve และเวิร์กสเตชัน Mac Pro ของ บริษัท กล่าว

ด้านที่ยุ่งยากในการย้ายจากเคอร์เนล 32 บิตไปเป็นเคอร์เนล 64 บิตคือไดรเวอร์ซึ่งเป็นซอฟต์แวร์ที่ช่วยให้ระบบปฏิบัติการสื่อสารกับอุปกรณ์เช่นเครื่องพิมพ์การ์ดแสดงผลและฮาร์ดไดรฟ์ต้องเป็น 64 บิต นั่นไม่เลวร้ายนักเมื่อมันเป็นอุปกรณ์ฮาร์ดแวร์ภายใต้การควบคุมของ Apple แต่มันก็ยากที่จะย้ายคอลเลกชันเต็มรูปแบบของอุปกรณ์บุคคลที่สามด้วยไดรเวอร์ของตัวเอง

แอปเปิ้ลระบุว่ามันไม่ยากที่จะกระโดด "ในฐานะนักพัฒนาโปรแกรมควบคุมคุณ ต้อง อัปเดตไดรเวอร์ของคุณด้วยไบนารี 64 บิตโชคดีที่ ... ไดรเวอร์จำนวนมาก 'ทำงานได้' หลังจากเปลี่ยนการตั้งค่าคอมไพล์แล้ว" บริษัท กล่าวใน

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

และการดึงดูดโปรแกรมเมอร์เป็นกุญแจสำคัญ ในท้ายที่สุดเทคโนโลยีที่ล้ำลึกของ Apple เช่น Grand Central Dispatch และ OpenCL จะประสบความสำเร็จก็ต่อเมื่อ บริษัท สามารถนำนักพัฒนารายอื่นมาใช้งานได้

แบ่งปันเสียงของคุณ

แท็ก

พิมพ์บทความนี้】 【ปิดหน้าต่าง】【กลับไปด้านบน】 [
บทความที่เกี่ยวข้อง
บทความแนะนำ
栏目导航