A process interacts with the operating system by performing system cal การแปล - A process interacts with the operating system by performing system cal ไทย วิธีการพูด

A process interacts with the operat

A process interacts with the operating system by performing system calls. A system call is conceptually like calling a function but more sophisticated. It is more sophisticated because now we need to satisfy some extra security requirements. An operating system is a critical part of a system and we cannot let processes dodge the operating system control. A usual function call offers no protection of any kind. Any strategy we could design on top of a plain function call would easily be possible to circumvent. As a consequence of this constraint, we need support from the architecture (in our case ARM) in order to safely and securely implement a system call mechanism.

In Linux ARM we can perform a system call by using the instruction swi. This instruction means software interruption and its sole purpose is to make a system call to the operating system. It receives a 24-bit operand that is not used at all by the processor but could be used by the the operating system to tell which service has been requested. In Linux such approach is not used and a 0 is set as the operand instead. So, in summary, in Linux we will always use swi #0 to perform a system call.

An operating system, and particularly Linux, provides lots of services through system calls so we need a way to select one of them. We will do this using the register r7. System calls are similar to function calls in that they receive parameters. No system call in Linux receives more than 7 arguments and the arguments are passed in registers r0 to r6. If the system call returns some value it will be returned in register r0.

Note that the system call convention is incompatible with the convention defined by the AAPCS, so programs will need specific code that deals with a system call. In particular, it makes sense to wrap these system calls into normal functions, that externally, i.e. from the point of the caller, follow the AAPCS. This is precisely the main purpose of the C library. In Linux, the C library is usually GNU Libc (but others can be used in Linux). These libraries hide the extra complexity of making system calls under the appearance of a normal function call.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
กระบวนการโต้ตอบกับระบบปฏิบัติการ โดยการเรียกระบบ การเรียกระบบเป็นทางแนวคิดเช่นการเรียกฟังก์ชันแต่มีความซับซ้อนมากขึ้น มันเป็นความซับซ้อนมากขึ้น เพราะตอนนี้ เราต้องตอบสนองความต้องการเพิ่มความปลอดภัยบาง ระบบปฏิบัติเป็นส่วนสำคัญของระบบ และเราไม่สามารถปล่อยให้กระบวนหลบตัวควบคุมระบบปฏิบัติการ การเรียกฟังก์ชันปกติมีการป้องกันใด ๆ กลยุทธ์ใด ๆ เราสามารถออกแบบด้านการเรียกฟังก์ชันธรรมดาจะทำให้สามารถหลีกเลี่ยง เป็นลำดับของข้อจำกัดนี้ เราได้รับการสนับสนุนจากสถาปัตยกรรม (ในกรณีแขน) ต้นอย่างปลอดภัย และปลอดภัยกลไกระบบโทรใน Linux แขน เราสามารถทำการเรียกระบบ โดยใช้ swi สอน คำสั่งนี้หมายถึง ซอฟต์แวร์หยุดชะงัก และวัตถุประสงค์แต่เพียงผู้เดียวที่จะทำให้ระบบโทรศัพท์ระบบปฏิบัติ ได้รับดำเนินการ 24 บิตที่ไม่ใช้ทั้งหมด โดยตัวประมวลผล แต่สามารถใช้ได้โดย ระบบปฏิบัติการเพื่อแจ้งการบริการซึ่งมีการร้องขอ ใน Linux วิธีดังกล่าวไม่มีใช้ และการตั้งเป็นตัวถูกดำเนินการแทน ดังนั้น โดยสรุป ใน Linux เราจะใช้ swi #0 ทำการเรียกระบบเป็นระบบปฏิบัติการ และ Linux โดยเฉพาะอย่างยิ่ง ให้บริการผ่านระบบโทรศัพท์มากมายดังนั้นเราจำเป็นทางเลือกหนึ่งของพวกเขา เราจะทำนี้ใช้ r7 ทะเบียน เรียกระบบจะคล้ายกับการเรียกฟังก์ชันที่รับพารามิเตอร์ ไม่เรียกระบบ Linux ได้รับอาร์กิวเมนต์มากกว่า 7 และอาร์กิวเมนต์ส่งผ่านในทะเบียน r0 ไป r6 ถ้าการเรียกระบบคืนค่าบางอย่างจะถูกส่งกลับใน ทะเบียน r0หมายเหตุที่ประชุมเรียกระบบไม่เข้ากันกับอนุสัญญากำหนด โดย AAPCS ดังนั้นโปรแกรมจะระบุรหัสที่เกี่ยวข้องกับการเรียกระบบ โดยเฉพาะอย่างยิ่ง มันทำให้รู้สึกห่อเรียกระบบเหล่านี้เป็นฟังก์ชันปกติ ที่ภายนอก เช่นจากจุดของผู้เรียก ตาม AAPCS ตรงวัตถุประสงค์หลักของไลบรารี C อยู่ ใน Linux ไลบรารี C เป็นปกติ GNU Libc (แต่คนอื่นสามารถใช้ใน Linux ได้) ไลบรารีเหล่านี้ซ่อนความซับซ้อนพิเศษของการเรียกระบบภายใต้ลักษณะที่ปรากฏของการเรียกฟังก์ชันปกติ
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
กระบวนการปฏิสัมพันธ์กับระบบปฏิบัติการโดยการดำเนินการสายระบบ สายระบบแนวคิดเช่นเรียกใช้ฟังก์ชัน แต่มีความซับซ้อนมากขึ้น มันเป็นความซับซ้อนมากขึ้นเพราะตอนนี้เราต้องการที่จะตอบสนองความต้องการความปลอดภัยบางพิเศษ ระบบปฏิบัติการเป็นส่วนสำคัญของระบบและเราไม่สามารถปล่อยให้กระบวนการหลบควบคุมระบบปฏิบัติการ โทรฟังก์ชั่นปกติมีการป้องกันของชนิดใด ๆ กลยุทธ์ใด ๆ ที่เราสามารถออกแบบด้านบนของการเรียกใช้ฟังก์ชันธรรมดาจะเป็นไปได้ที่จะหลีกเลี่ยงได้อย่างง่ายดาย เป็นผลมาจากข้อ จำกัด นี้เราต้องการการสนับสนุนจากสถาปัตยกรรม (ARM ในกรณีของเรา) เพื่อที่จะได้อย่างปลอดภัยและปลอดภัยใช้กลไกระบบโทร. ใน ARM ลินุกซ์ที่เราสามารถดำเนินการเรียกระบบโดยใช้การเรียนการสอน SWI คำสั่งนี้หมายถึงการหยุดชะงักซอฟต์แวร์และวัตถุประสงค์เพียงอย่างเดียวของมันคือการโทรระบบระบบปฏิบัติการ มันได้รับการถูกดำเนินการ 24 บิตที่ไม่ได้ใช้เลยด้วยโปรเซสเซอร์ แต่สามารถนำมาใช้โดยระบบปฏิบัติการที่จะบอกว่าการบริการที่ได้รับการร้องขอ ในลินุกซ์วิธีการดังกล่าวไม่ได้ใช้และ 0 ถูกตั้งค่าเป็นตัวถูกดำเนินการแทน ดังนั้นในการสรุปในลินุกซ์ที่เรามักจะใช้ SWI # 0 เพื่อดำเนินการเรียกระบบ. ระบบปฏิบัติการลินุกซ์และโดยเฉพาะอย่างยิ่งให้จำนวนมากบริการผ่านระบบสายดังนั้นเราจึงต้องมีวิธีในการเลือกหนึ่งของพวกเขา เราจะทำนี้โดยใช้ r7 ลงทะเบียน สายระบบมีความคล้ายคลึงกับการทำงานสายในการที่พวกเขาได้รับค่าพารามิเตอร์ ไม่มีสายระบบในลินุกซ์ได้รับมากกว่า 7 ข้อโต้แย้งและข้อโต้แย้งจะถูกส่งผ่านในทะเบียน R0 จะ r6 ถ้ามีการเรียกระบบส่งกลับค่าบางอย่างมันจะถูกส่งกลับใน r0 ลงทะเบียน. ทราบว่าการประชุมระบบโทรไม่เข้ากันกับการประชุมที่กำหนดโดย AAPCs ดังนั้นโปรแกรมจะต้องมีรหัสเฉพาะที่เกี่ยวข้องกับการเรียกระบบ โดยเฉพาะอย่างยิ่งมันทำให้รู้สึกที่จะตัดระบบเหล่านี้เรียกเข้าไปในฟังก์ชั่นปกติที่ภายนอกเช่นจากจุดของผู้โทรตาม AAPCs นี้เป็นเพราะวัตถุประสงค์หลักของห้องสมุด C ใน Linux, ห้องสมุด C มักจะ GNU libc (แต่คนอื่น ๆ สามารถใช้ในลินุกซ์) ห้องสมุดเหล่านี้ซ่อนความซับซ้อนเป็นพิเศษในการทำระบบเรียกภายใต้ลักษณะของการเรียกฟังก์ชั่นปกติ





การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
a ของตัวเอง interacts with the operating system by เคี่ยว calls ก่อนใน ระบบโทรศัพท์มีแนวคิดเหมือนการเรียกใช้ฟังก์ชัน แต่ซับซ้อนมากขึ้น มันมีความซับซ้อนมากขึ้น เพราะตอนนี้เราต้องตอบสนองความต้องการบางอย่างเพิ่มความปลอดภัย ระบบปฏิบัติการเป็นส่วนหนึ่งที่สำคัญของระบบ และเราไม่สามารถปล่อยให้กระบวนการหลบควบคุมระบบปฏิบัติการเรียกฟังก์ชันปกติ มีการป้องกันใด ๆ กลยุทธ์ใดเราสามารถออกแบบด้านบนเรียกฟังก์ชันธรรมดาได้อย่างง่ายดายจะเป็นไปได้เพื่อหลีกเลี่ยง ผลที่ตามมาของข้อจำกัดนี้ เราต้องการการสนับสนุนจากสถาปัตยกรรม ( ในกรณีของเราแขน ) เพื่อที่จะได้อย่างปลอดภัยและปลอดภัยใช้ระบบเรียกกลไก

ใน Linux แขนเราสามารถดำเนินการระบบโทรศัพท์โดยใช้การสอนโดยอ .คำสั่งนี้หมายความว่าการซอฟต์แวร์และจุดประสงค์ของมันคือการทำให้ระบบเรียกระบบปฏิบัติการ it receives operand a 24 . that is not used at all by the พับ มีช่วงการ used by the the operating system to tell which ตรวจและ been requested . ในวิธีการเช่นลินุกซ์ไม่ได้ถูกใช้และถูกตั้งค่าเป็น 0 เปอแรนด์แทน ดังนั้น สรุปได้ว่าใน Linux เรามักจะใช้# swi 0 แสดงระบบโทร .

ระบบปฏิบัติการ และโดยเฉพาะลินุกซ์มีมากมายบริการผ่านระบบโทรศัพท์ ดังนั้นเราต้องหาวิธีที่จะเลือกหนึ่งของพวกเขา เราจะทำการลงทะเบียน r7 . โทรระบบจะคล้ายกับเรียกฟังก์ชันที่พวกเขาได้รับค่าไม่มีระบบการเรียกใน Linux จะได้รับมากกว่า 7 ข้อโต้แย้งและอาร์กิวเมนต์จะถูกส่งผ่านในการลงทะเบียน r0 R6 . ถ้าระบบเรียกกลับค่าบางอย่างจะถูกส่งกลับใน r0 ลงทะเบียน

โปรดทราบว่าระบบการเรียกประชุมมันเข้ากันไม่ได้กับการประชุมที่กำหนดโดย aapcs ดังนั้นโปรแกรมจะต้องระบุรหัสที่เกี่ยวข้องกับระบบโทรศัพท์ โดยเฉพาะอย่างยิ่งมันเป็นไปได้ที่จะตัดระบบเหล่านี้เรียกเป็นหน้าที่ตามปกติที่ภายนอก เช่น จากจุดที่โทรตาม aapcs . นี่คือเหตุผลสำคัญที่วัตถุประสงค์หลักของ c ห้องสมุด ใน Linux , ห้องสมุด GNU C มัก libc ( แต่คนอื่นสามารถใช้ใน Linux ) ห้องสมุดเหล่านี้ซ่อนความซับซ้อนเพิ่มขึ้นของการโทรระบบภายใต้ลักษณะของการเรียกฟังก์ชันปกติ
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: