POSIX standard was application source code portability.
First, usage is driven by high-level frameworks, which
impacts POSIX’s portability goals. The original goal of thePOSIX standard was application source code portability.
However, modern applications are no longer being written
to standardized POSIX interfaces. Instead, they rely
on platform-specific frameworks and libraries that leverage
high-level abstractions for inter-process communication
(IPC), thread pool management, relational databases, and
graphics support. These frameworks and libraries are often
implemented using underlying standard POSIX APIs,
but are also free to depart from POSIX and use OS-specific
interfaces. Thus, instead of the POSIX API serving as the
interface between applications and the OS environment,
modern OSes – such as Ubuntu, Android, and OS X– provide
a more layered programming model with “taller” interfaces.
Applications directly link against high-level frameworks,
which invoke other frameworks and libraries that
may eventually utilize POSIX. This new, layered programming
model imposes challenges with respect to application
portability, and has given rise to many different crossplatform
SDKs [2, 9, 22, 24, 39] that attempt to fill the gap
left by a standard which has not evolved with the rest of
the ecosystem. However, these cross-platform SDKs are often
challenging to develop and maintain up-to-date with OS
changes.
Second, extension APIs, namely ioctl, dominate modern
POSIX usage patterns as OS developers resort to them
to build support for abstractions missing from the POSIX
standard. Extension APIs have become the standard way
for developers to circumvent POSIX limitations and facilitate
hardware-supported, high-level functionality for graphics,
sound, and IPC. For example, the ioctl interface is now
regularly used to mediate complex graphics commands between
the high-level OpenGL library and the graphics driver.
Third, new abstractions are arising driven by the same
POSIX limitations across the three OSes, but the new abstractions
are not converging. To deal with abstractions
missing from the aging POSIX standard, modern OSes are
implementing new abstractions to support higher-level application
functionality. Although these interfaces and abstractions
are driven by similar POSIX limitations and are
conceptually similar across OSes, they are not converging
on any new standard. Traditional POSIX threading models,
IPC interfaces, and file system access are being replaced by
platform and vendor-specific APIs and frameworks such as
Grand Central Dispatch [18], Binder [29], DBus [25], and
SQLite [1].
We believe that our findings have broad implications related
to the future of POSIX-compliant OS portability, which
the systems research community and standards bodies will
likely need to address in the future. To support further studies
across a richer set of UNIX-based OSes and workloads,
which we anticipate will be needed to establish a rigorous
course of action, we make the libtrack source code, along
with the application workloads and traces, available at:This paper is organized as follows. Section 2 presents two
motivating examples for our study and formulates our goals.
Sections 3 and 4 give background and detail our study’s
methodology. Section 5 presents our measurement results.
Sections 6 and 7 discuss the broader implications of our
findings in the context of related work and in general.
มาตรฐาน POSIX ได้พกพารหัสแหล่งที่มาของแอพลิเคชันครั้งแรก การใช้งานจะขับเคลื่อน ด้วยกรอบระดับสูง ซึ่งผลกระทบต่อเป้าหมายของ POSIX พกพา เป้าหมายเดิมของมาตรฐาน thePOSIX คือ พกพารหัสแหล่งที่มาของแอพลิเคชันอย่างไรก็ตาม โปรแกรมประยุกต์สมัยใหม่ไม่ถูกเขียนกับมาตรฐาน POSIX อินเทอร์เฟซ แทน พวกเขาอาศัยบนแพลตฟอร์มเฉพาะกรอบและไลบรารีที่ใช้ประโยชน์จากabstractions ระดับสูงสำหรับการสื่อสารระหว่างกระบวนการ(IPC), การจัดการกลุ่มด้าย ฐานข้อมูลเชิงสัมพันธ์ และกราฟิกที่สนับสนุน กรอบและไลบรารีเหล่านี้มักดำเนินการโดยใช้ต้นแบบมาตรฐาน POSIX Apiแต่มีการเดินทางจาก POSIX และใช้ OS เฉพาะอินเทอร์เฟซ ดังนั้น แทนการ POSIX API ที่เป็นส่วนติดต่อระหว่างโปรแกรมประยุกต์และสภาพแวดล้อมระบบปฏิบัติการระบบปฏิบัติการทันสมัย – เช่น Ubuntu, Android และ OS X – ให้มากขึ้นชั้นจำลองการเขียนโปรแกรม ด้วยอินเทอร์เฟซ "สูง"การใช้งานเชื่อมโยงกับกรอบระดับสูงซึ่งเรียกกรอบและไลบรารีอื่น ๆ ที่ในที่สุดอาจใช้ POSIX การเขียนโปรแกรมนี้ใหม่ ชั้นแบบกำหนดความท้าทายเกี่ยวกับแอพลิเคชันพกพา และต้อง crossplatform แตกต่างกันมากSDKs [2, 9, 22, 24, 39] พยายามเติมช่องว่างซ้าย โดยมาตรฐานซึ่งมีพัฒนาไม่ มีเหลือระบบนิเวศ อย่างไรก็ตาม SDKs ข้ามแพลตฟอร์มเหล่านี้มักความท้าทายในการพัฒนา และรักษาทัน OSการเปลี่ยนแปลงที่สอง นามสกุล APIs คือ ioctl ครองทันสมัยรูปแบบการใช้ POSIX เป็นนักพัฒนาระบบปฏิบัติการเหล่านั้นการสร้างการสนับสนุนสำหรับ abstractions ที่ขาดหายไปจากการ POSIXมาตรฐาน นามสกุล APIs ได้กลายเป็น วิธีมาตรฐานสำหรับนักพัฒนาเพื่อหลีกเลี่ยงข้อจำกัดของ POSIX และอำนวยความสะดวกฟังก์ชันการทำงานระดับสูง ได้รับการ สนับสนุนจากฮาร์ดแวร์กราฟิกเสียง และ IPC ตัวอย่างเช่น อินเทอร์เฟซ ioctl อยู่ในขณะนี้ใช้เป็นประจำเพื่อเป็นสื่อกลางคำสั่งกราฟิกที่ซับซ้อนระหว่างไลบรารี OpenGL ระดับสูงและโปรแกรมควบคุมกราฟิกเกิด abstractions สาม ใหม่ขับเคลื่อน ด้วยเหมือนกันข้อจำกัดของ POSIX ใน Ose ที่สาม แต่ abstractions ใหม่จะไม่บรรจบกัน การจัดการกับ abstractionsหายไปจากมาตรฐาน POSIX ริ้วรอย Ose ที่ทันสมัยอยู่การใช้ abstractions ใหม่เพื่อสนับสนุนโปรแกรมประยุกต์ในระดับสูงกว่าฟังก์ชันการทำงาน แม้ว่าอินเทอร์เฟซและ abstractions เหล่านี้ขับเคลื่อน โดย POSIX ข้อจำกัดคล้ายกันและมีทางแนวคิดที่คล้ายกันในระบบปฏิบัติการ พวกเขาจะไม่บรรจบบนมาตรฐานใหม่ เธรดแบบจำลอง POSIX ดั้งเดิมอินเทอร์เฟซ IPC และเข้าถึงระบบแฟ้มที่ถูกแทนที่ด้วยแพลตฟอร์ม และการ APIs และกรอบเช่นแกรนด์เซ็นทรัลจัดส่ง [18], [29] คลิบ DBus [25], และSQLite [1]เราเชื่อว่า ผลของเรามีสิ่งเกี่ยวข้องที่เกี่ยวข้องอนาคตของระบบปฏิบัติการตามมาตรฐาน POSIX พกพา ที่ระบบการวิจัยชุมชน และมาตรฐานจะอาจจะต้องอยู่ในอนาคต เพื่อสนับสนุนการศึกษาใน Ose ที่ใช้ UNIX และภาระการทำงาน ชุดยิ่งขึ้นซึ่งเราคาดหวังจะต้องสร้างที่เข้มงวดหลักสูตรของการดำเนินการ เราทำรหัสแหล่งที่มา libtrack ทางกับภาระการทำงานของแอพลิเคชันและร่องรอย : กระดาษนี้จัดเป็นดังนี้ ส่วนที่ 2 นำเสนอสองตัวอย่างสำหรับการศึกษาของเราสร้างแรงจูงใจ และกำหนดเป้าหมายของเราส่วนที่ 3 และ 4 ให้พื้นหลัง และรายละเอียดการศึกษาของเราวิธีการนี้ ส่วนที่ 5 แสดงผลการวัดของเราส่วนที่ 6 และ 7 อภิปรายผลกระทบวงกว้างของเราผลวิจัย ในบริบทของการทำงานที่เกี่ยวข้อง และโดยทั่วไป
การแปล กรุณารอสักครู่..

มาตรฐาน POSIX เป็นรหัสที่มาประยุกต์ใช้ในการพกพา.
ครั้งแรกที่ใช้คือการขับเคลื่อนด้วยกรอบระดับสูงซึ่ง
ส่งผลกระทบต่อ POSIX เป้าหมายของการพกพา เป้าหมายเดิมของมาตรฐาน thePOSIX เป็นแหล่งที่มาประยุกต์ใช้รหัสพกพา.
แต่โปรแกรมที่ทันสมัยไม่ได้ถูกเขียนขึ้น
เพื่อการเชื่อมต่อมาตรฐาน POSIX แต่พวกเขาต้องพึ่งพา
ในกรอบเฉพาะแพลตฟอร์มและห้องสมุดที่ใช้ประโยชน์จาก
นามธรรมระดับสูงสำหรับการสื่อสารระหว่างกระบวนการ
(IPC), การจัดการสระว่ายน้ำด้ายฐานข้อมูลเชิงสัมพันธ์และ
กราฟิกที่สนับสนุน กรอบและห้องสมุดเหล่านี้มักจะ
ดำเนินการโดยใช้พื้นฐาน APIs POSIX มาตรฐาน
แต่ยังมีอิสระที่จะออกจาก POSIX และใช้ OS เฉพาะ
อินเตอร์เฟซ ดังนั้นแทนที่จะเป็น API POSIX ทำหน้าที่เป็น
อินเตอร์เฟซระหว่างการใช้งานและสภาพแวดล้อมระบบปฏิบัติการ
ระบบปฏิบัติการที่ทันสมัย - เช่น Ubuntu, Android, และ OS X-ให้
รูปแบบการเขียนโปรแกรมชั้นมากขึ้นด้วย "สูง" อินเตอร์เฟซ.
การประยุกต์ใช้งานเชื่อมโยงโดยตรงกับระดับสูง กรอบ
ที่เรียกกรอบอื่น ๆ และห้องสมุดที่
ในที่สุดก็อาจใช้ POSIX ใหม่โปรแกรมนี้ชั้น
รุ่นประเด็นความท้าทายที่เกี่ยวกับการประยุกต์ใช้
ในการพกพาและได้ก่อให้เกิดการแตกต่างกันหลาย crossplatform
SDKs [2, 9, 22, 24, 39] ว่ามีความพยายามที่จะเติมช่องว่าง
ด้านซ้ายโดยมาตรฐานที่ยังไม่ได้พัฒนาด้วย ส่วนที่เหลือของ
ระบบนิเวศ แต่เหล่านี้ SDKs ข้ามแพลตฟอร์มมักจะมี
ความท้าทายที่จะพัฒนาและรักษา up-to-date กับ OS
เปลี่ยนแปลง.
สอง APIs ขยายคือ IOCTL ครองที่ทันสมัย
รูปแบบการใช้ POSIX เป็นนักพัฒนา OS รีสอร์ทเพื่อให้พวกเขา
ในการสร้างการสนับสนุนสำหรับแนวคิดหายไปจาก POSIX
มาตรฐาน APIs ขยายได้กลายเป็นวิธีมาตรฐาน
สำหรับนักพัฒนาที่จะหลีกเลี่ยงข้อ จำกัด POSIX และอำนวยความสะดวกใน
การทำงานระดับสูงฮาร์ดแวร์สนับสนุนสำหรับกราฟิก,
เสียงและ IPC ยกตัวอย่างเช่นอินเตอร์เฟซ IOCTL คือตอนนี้
ใช้เป็นประจำเพื่อเป็นสื่อกลางในกราฟิกที่ซับซ้อนคำสั่งระหว่าง
ระดับสูงห้องสมุด OpenGL และไดรเวอร์กราฟิก.
สามแนวคิดใหม่จะเกิดขึ้นโดยได้แรงหนุนเดียวกัน
ข้อ จำกัด POSIX ทั่วทั้งสามระบบปฏิบัติการ แต่แนวคิดใหม่
ไม่ได้ บรรจบ เพื่อจัดการกับแนวคิด
ที่ขาดหายไปจากมาตรฐาน POSIX ริ้วรอย, ระบบปฏิบัติการที่ทันสมัยมี
การใช้แนวคิดใหม่ในการสนับสนุนการประยุกต์ใช้ในระดับที่สูงขึ้น
การทำงาน แม้ว่าการเชื่อมต่อเหล่านี้และนามธรรม
จะขับเคลื่อนด้วยข้อ จำกัด POSIX ที่คล้ายกันและ
ระบบปฏิบัติการที่คล้ายกันทั่วแนวคิดพวกเขาจะไม่บรรจบ
มาตรฐานใหม่ ๆ รุ่นดั้งเดิม POSIX เกลียว
อินเตอร์เฟซ IPC และการเข้าถึงระบบไฟล์จะถูกแทนที่โดย
แพลตฟอร์มและผู้ขายเฉพาะ APIs และกรอบเช่น
แกรนด์เซ็นทรัลส่ง [18], Binder [29], DBus [25] และ
SQLite [1].
เรา เชื่อว่าการค้นพบของเรามีผลกระทบในวงกว้างที่เกี่ยวข้องกับ
อนาคตของ POSIX สอดคล้อง OS พกพาซึ่ง
ชุมชนระบบการวิจัยและมาตรฐานร่างกายจะ
มีแนวโน้มที่ต้องอยู่ในอนาคต เพื่อสนับสนุนการศึกษาต่อไป
ทั่วชุดที่ดียิ่งขึ้นของระบบปฏิบัติการ UNIX-based และปริมาณงาน
ซึ่งเราคาดว่าจะต้องสร้างอย่างเข้มงวด
หลักสูตรของการกระทำที่เราทำรหัสที่มา libtrack พร้อม
กับเวิร์กโหลดใบสมัครและร่องรอยที่: บทความนี้ มีการจัดระเบียบดังต่อไปนี้ ส่วนที่ 2 นำเสนอสอง
ตัวอย่างการสร้างแรงจูงใจในการศึกษาของเราและกำหนดเป้าหมายของเรา.
ส่วนที่ 3 และ 4 ให้พื้นหลังและรายละเอียดการศึกษาของเราของ
วิธีการ มาตรา 5 ให้นำเสนอผลการวัดของเรา.
มาตรา 6 และ 7 หารือเกี่ยวกับผลกระทบในวงกว้างของเรา
ค้นพบในบริบทของการทำงานที่เกี่ยวข้องและในทั่วไป
การแปล กรุณารอสักครู่..

มาตรฐาน POSIX เป็นโปรแกรมรหัสแหล่งที่มาของการพกพาก่อนการใช้ขับเคลื่อนโดยพื้นฐานกรอบ ซึ่งผลกระทบของ POSIX ได้เป้าหมาย เป้าหมายเดิมของมาตรฐาน theposix เป็นโปรแกรมรหัสแหล่งที่มาของการพกพาอย่างไรก็ตาม การใช้งานที่ทันสมัย ไม่มี การ เขียนเพื่อการเชื่อมต่อ POSIX มาตรฐาน แทน พวกเขาพึ่งพาบนแพลตฟอร์มเฉพาะกรอบและห้องสมุดดำเนินงานนามธรรม - กระบวนการสื่อสารสำหรับอินเตอร์( IPC ) , ด้ายสระว่ายน้ำการจัดการฐานข้อมูลเชิงสัมพันธ์และกราฟิกที่สนับสนุน กรอบเหล่านี้และห้องสมุดอยู่บ่อย ๆการใช้ต้นแบบมาตรฐาน POSIX API ,แต่ยังสามารถออกเดินทางจาก POSIX และใช้ OS ที่เฉพาะเจาะจงอินเทอร์เฟซ . ดังนั้น แทนที่จะ POSIX API ที่ให้บริการเป็นเชื่อมต่อระหว่างโปรแกรมประยุกต์และระบบปฏิบัติการสิ่งแวดล้อมoses สมัยใหม่ ( เช่น Ubuntu , Android และ OS X และให้มากขึ้นชั้นการเขียนโปรแกรมแบบ " สูง " ) .การใช้งานโดยตรงเชื่อมโยงกับกรอบระดับสูง ,ซึ่งใช้กรอบอื่น ๆและห้องสมุดที่ในที่สุดอาจใช้ POSIX . มีโปรแกรมใหม่นี้ความท้าทายเกี่ยวกับการกำหนดรุ่นการพกพา และได้ให้ลุกขึ้นเพื่อ crossplatform แตกต่างกันมากSDK [ 2 , 9 , 22 , 24 , 39 ] ที่พยายามที่จะเติมช่องว่างซ้ายโดยมาตรฐานซึ่งมีวิวัฒนาการกับส่วนที่เหลือของระบบนิเวศ . แต่เหล่านี้ข้ามแพลตฟอร์ม SDK อยู่บ่อย ๆความท้าทายที่จะพัฒนา และ รักษาที่ทันสมัยให้กับระบบปฏิบัติการการเปลี่ยนแปลงประการที่สอง การขยายตลาด ได้แก่ ioctl ครองสมัยใหม่การเป็นนักพัฒนารีสอร์ทรูปแบบ POSIX ระบบปฏิบัติการเหล่านั้นเพื่อสร้างการสนับสนุนสำหรับนามธรรมได้หายไปจาก POSIXมาตรฐาน ขยายตลาดได้กลายเป็นวิธีมาตรฐานสำหรับนักพัฒนาเพื่อหลีกเลี่ยง POSIX ข้อจำกัดและอำนวยความสะดวกฮาร์ดแวร์สนับสนุนฟังก์ชันการทำงานระดับสูงสำหรับกราฟิกเสียงและ IPC . ตัวอย่างเช่น ioctl ติดต่อตอนนี้ใช้เป็นประจำในการไกล่เกลี่ยระหว่างคำสั่งกราฟิกที่ซับซ้อนพื้นฐานของ OpenGL ห้องสมุดและกราฟิกไดรเวอร์ที่สาม , นามธรรมใหม่ที่เกิดขับเคลื่อนโดยเดียวกันPOSIX ข้อจำกัดทั่วสาม oses แต่นามธรรมใหม่ไม่บรรจบ . จัดการกับนามธรรมหายไปจากอายุ oses ทันสมัยมาตรฐาน POSIX ,การใช้โปรแกรมประยุกต์เพื่อสนับสนุนระดับนามธรรมใหม่การทํางาน ถึงแม้ว่าอุปกรณ์เหล่านี้และนามธรรมขับเคลื่อนโดย POSIX ที่คล้ายกันและมีข้อ จำกัดแนวคิดที่คล้ายคลึงกันระหว่าง oses , พวกเขาจะไม่บรรจบมาตรฐานใหม่ใด ๆ ดั้งเดิม POSIX เกลียวรุ่นการเชื่อมต่อ IPC และการเข้าถึงระบบแฟ้มจะถูกแทนที่โดยแพลตฟอร์มและผู้ขายเฉพาะ APIs และกรอบ เช่นแกรนด์เซ็นทรัลส่ง [ 18 ] , ประสาน [ 29 ] dbus [ 25 ] และSQLite [ 1 ]เราเชื่อว่าเราได้ค้นพบความหมายคร่าว ๆ ที่เกี่ยวข้องเพื่ออนาคตของ POSIX พกพาเข้ากันได้ OS ซึ่งระบบการวิจัยและร่างมาตรฐานจะอาจต้องแก้ไขในอนาคต เพื่อสนับสนุนการศึกษาในชุดสมบูรณ์ของยูนิกซ์และตาม oses เวิร์กโหลดซึ่งเราคาดว่า จะต้องสร้าง อย่างเข้มงวดหลักสูตรของการกระทำที่เราทำ libtrack รหัสแหล่งที่มา , ตามกับการประยุกต์ใช้งาน และร่องรอยของกระดาษนี้จะจัดดังนี้ ส่วน 2 ชิ้นสองตัวอย่างแรงจูงใจในการศึกษาของเราและ PayPal เป้าหมายของเราส่วนที่ 3 และ 4 ให้ประวัติและรายละเอียดของการศึกษาของเราคือ ส่วนที่ 5 แสดงผลการวัดของเราส่วนที่ 6 และ 7 หารือผลกระทบของเรากว้างขึ้นพบในบริบทของงานที่เกี่ยวข้อง และในทั่วไป
การแปล กรุณารอสักครู่..
