معماری هسته مجازی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Csf2020 (بحث | مشارکت‌ها)
ابرابزار
خط ۱:
{{عنوان با حروف کوچک}}{{جعبه اطلاعات نرم‌افزار|name=vkernel|caption=virtual kernel architecture|author=[[Matthew Dillon]]|developer=[[DragonFly BSD]]|released={{Section link|DragonFly BSD#1.8}} ({{Start date and age|2007|01|30|df=y}}){{r|release18|vkernel.7}}|repo={{URL|http://bxr.su/d/sys/sys/vkernel.h|sys/vkernel.h}}, {{URL|http://bxr.su/d/sys/dev/virtual/vkernel/|dev/virtual/vkernel/}}, {{URL|http://bxr.su/d/sys/vm/vm_vmspace.c|vm/vm_vmspace.c}}, …|programming language=[[C (programming language)|C]]|operating system=[[DragonFly BSD]]|genre=[[OS-level virtualisation]], virtualised userspace kernel|website={{URL|mdoc.su/d/vkernel.7|vkernel(7)}}|standard=|AsOf=}}یک '''معماری هسته مجازی''' (به انگلیسی: '''vkernel''' ) یک نمونه از [[مجازی‌سازی|مجازی سازی]] [[سیستم‌عامل|سیستم عامل]] است که می توانمی‌توان کد هسته را برای اجرا در [[فضای کاربری|فضای کاربر]] کامپایل کرد ،کرد، به عنوان مثال برای سهولت در اشکال زدایی از اجزای مختلف سطح هسته ،هسته، {{R|Dillon2006|Reed2007|Lorch2009}} علاوه بر این برای مجازی سازی عمومی و تقسیم بندیتقسیم‌بندی [[منبع سیستم|منابع سیستم]] . از زمان DragonFly 1.7 توسط [[دراگون‌فلای بی‌اس‌دی|DragonFly BSD]] در اجرای vkernel استفاده می شود ،می‌شود، {{R|vkernel.7}} که اولین بار در {{تاریخ آغاز و سن|2006|09|paren=yes}} ظاهر شد ،شد، {{R|Dillon2006|vkernel.h}} و اولین بار با DragonFly 1.8 در {{تاریخ آغاز و سن|2007|01|paren=yes}} در شاخه پایدار آزاد شد . {{R|release18|informit-2007|lwn-2007-03|lwn-2007-04}} هدف بلند مدت ،مدت، علاوه بر كاهشکاهش توسعه هستههسته، ،آسان‌تر آسان تر كردنکردن پشتیبانی از [[رایانش خوشه‌ای|خوشه هایخوشه‌های رایانه ای]] متصل به اینترنت بدون به خطر انداختن [[امنیت رایانه|امنیت]] محلی است . {{R|Dillon2006|Reed2007}} مفاهیم مشابهی در سیستم عامل هایعامل‌های دیگر نیز وجود دارد. در لینوکس ،لینوکس، یک مفهوم مجازی سازی مشابه به عنوان لینوکس حالت کاربر شناخته می شود می‌شود. {{R|lwn-2010|informit-2007}} در حالی که در [[نت‌بی‌اس‌دی|NetBSD]] از تابستان 2007 ،۲۰۰۷، کانون اصلی زیرساخت ریپ کردن هسته بوده است بوده‌است. {{R|RUMPs}}
 
مفهوم ''هسته مجازی'' تقریباً مخالف مفهوم ''unikernel'' است - با ''هسته مجازی'' ، اجزای هسته برای ایجاد سهولت در توسعه هسته و رفع اشکال در فضای کاربر اجرا می شوندمی‌شوند و توسط هسته سیستم عامل معمولی پشتیبانی می شوندمی‌شوند. در حالی که با ''unikernel'' ، اجزای سطح کاربر برای عملکرد بیشتر مستقیماً در فضای هسته اجرا می شوند ،می‌شوند، پشتیبانی شده توسط سخت افزارسخت‌افزار baremetal یا پشته مجازی سازی سخت افزارسخت‌افزار. با این حال ،حال، از vkernels و unikernels می توانمی‌توان برای کارهای مشابه استفاده کرد ،کرد، به عنوان مثالمثال، ،برایبرای قرنطینه و تست نرم افزارنرم‌افزار در یک محیط مجازی با هزینه کم. در حقیقتحقیقت، ،ریپریپ کردن هسته NetBSD ،NetBSD، در اصل با تمرکز بر اجرای اجزای هسته در فضای کاربر ،کاربر، از آن زمان به فضای یک هسته نیز تغییر مکان داده استداده‌است (برای پشتیبانی از هر دو نمونه به دنبال ''مانیتور Anykernel است'' ).
 
مفهوم ''هسته مجازی'' با [[زندان‌های فری‌بی‌اس‌دی]] متفاوت است ،است، زیرا زندان فقط برای جداسازی منابع در نظر گرفته شده استشده‌است و نمی تواندنمی‌تواند برای توسعه و آزمایش عملکرد هسته جدید در سرزمین کاربر مورد استفاده قرار گیرد ،گیرد، زیرا هر زندان از هسته مشابهی برخوردار است. {{R|informit-2007}} (با این حال DragonFly همچنان از پشتیبانی ''[[زندان‌های فری‌بی‌اس‌دی]]'' نیز برخوردار است. {{R|informit-2007}} )
 
در DragonFly ، میDragonFly، توانمی‌توان ''هسته مجازی'' را به عنوان یک [[معماری رایانه|معماری رایانه ای]] درجه [[معماری رایانه|یک]] ، قابل مقایسه با i386 یا amd64 در نظر گرفت ،گرفت، و طبق گفته متیو دیلون در حدود سال 2007۲۰۰۷، ، می تواندمی‌تواند به عنوان یک نقطه شروع برای انتقال DragonFly BSD به معماری هایمعماری‌های جدید استفاده شود. {{R|kerneltrap-2007}}
 
''هسته مجازی'' DragonFly توسط هسته میزبان از طریق [[فراخوان سیستمی|فراخوان]] سیستمی جدید پشتیبانی می شودمی‌شود که به مدیریت فضای آدرس حافظه مجازی ( '''vmspace''' ) کمک می کندمی‌کند - <code>vmspace_create()</code> ، {{R|Dillon2006|lwn-2007-04|vmspace…}} و همچنین برنامه هایبرنامه‌های افزودنی برای چندین فراخوان سیستم موجود مانند <code>[[mmap]]</code> 's <code>madvise</code> - <code>mcontrol</code> . {{R|lwn-2007-04|mcontrol.2|syscalls.master}}
 
 
== References ==
{{Reflist|refs=
 
== منابع ==
{{پانویس|refs=
<ref name=Reed2007>{{cite web
|editor= Jeremy C. Reed |date= 2007-02-10
سطر ۲۰ ⟵ ۱۸:
|archive-url= https://web.archive.org/web/20070224140607/http://www.bsdnewsletter.com/2007/02/Features176.html
|archive-date= 2007-02-24 |url-status=live
}}</ref><ref name=informit-2007>{{cite web
}}</ref>
 
<ref name=informit-2007>{{cite web
|url= http://www.informit.com/articles/printerfriendly/766375
|title= DragonFly BSD: UNIX for Clusters?
سطر ۲۹ ⟵ ۲۵:
|website= [[InformIT (publisher)|InformIT]]
|date=2007-06-15 |accessdate=2019-03-06
}}</ref><ref name=kerneltrap-2007>{{cite web
}}</ref>
 
<ref name=kerneltrap-2007>{{cite web
|url= https://web.archive.org/web/20120207011005/http://kerneltrap.org/node/14116
|title= Interview: Matthew Dillon
سطر ۳۷ ⟵ ۳۱:
|website = [[KernelTrap]]
|date=2007-08-06 |accessdate=2019-03-03
}}</ref><ref name=lwn-2007-03>{{cite web
}}</ref>
 
<ref name=lwn-2007-03>{{cite web
|author= Aggelos Economopoulos |date= 2010-03-29
|url= https://lwn.net/Articles/228404/
|title= A peek at the DragonFly Virtual Kernel (part 1)
|website= [[LWN.net]] |accessdate= 2019-04-08
}}</ref><ref name=lwn-2007-04>{{cite web
}}</ref>
<ref name=lwn-2007-04>{{cite web
|author= Aggelos Economopoulos |date= 2010-04-16
|url= https://lwn.net/Articles/230658/
|title= A peek at the DragonFly Virtual Kernel (part 2)
|website= [[LWN.net]] |accessdate= 2019-04-08
}}</ref><ref name=lwn-2010>{{cite web
<ref name=lwn-2010>{{cite web
|url=https://lwn.net/Articles/384200/
|title=DragonFly BSD 2.6: towards a free clustering operating system
سطر ۵۷ ⟵ ۴۷:
|website=[[LWN.net]]
|date=2010-04-21 |accessdate=2019-03-07
}}</ref><ref name=release18>{{cite web
 
<ref name=release18>{{cite web
|url= http://www.dragonflybsd.org/release18/
|title= Release Notes for DragonFly 1.8.0
|publisher= [[DragonFly BSD]]
|date= 2007-01-30 |access-date= 2019-04-08
}}</ref><ref name=Lorch2009>{{cite web
 
<ref name=Lorch2009>{{cite web
|author= Daniel Lorch |date= 2009-06-10
|url= https://dlorch.github.io/hammer-linux/files/hammer-lorch.pdf
سطر ۷۲ ⟵ ۵۸:
|lay-url= https://dlorch.github.io/hammer-linux/files/hammer-lorch-presentation.pdf
|quote= "UML runs the Linux kernel as a userspace process, analogous to DragonFly BSD’s virtual kernels … allow for a quick recompile-restart cycle and can be debugged easily with standard gdb."
}}</ref><ref name=mcontrol.2>{{cite web
 
<ref name=mcontrol.2>{{cite web
|url= http://bxr.su/d/lib/libc/sys/madvise.2
|title= madvise, posix_madvise, mcontrol — give advice about use of memory
سطر ۸۰ ⟵ ۶۴:
|publisher= [[DragonFly BSD]]
|lay-url= http://mdoc.su/d/mcontrol.2
}}</ref><ref name=vkernel.7>{{cite web
<ref name=vkernel.7>{{cite web
|author= Sascha Wildner |date= 2007-01-08
|url= http://bxr.su/d/share/man/man7/vkernel.7
سطر ۸۸ ⟵ ۷۱:
|publisher= [[DragonFly BSD]]
|lay-url= http://mdoc.su/d/vkernel.7
}}</ref><ref name=release18syscalls.master>{{cite web
}}</ref>
 
<ref name=syscalls.master>{{cite web
|url= http://bxr.su/DragonFly/sys/kern/syscalls.master
|title= kern/syscalls.master
|website= BSD Cross Reference |publisher= [[DragonFly BSD]]
}}</ref><ref name=vkernel.h>{{cite web
 
<ref name=vkernel.h>{{cite web
|author= Matthew Dillon |author-link= Matthew Dillon |date= 2006
|url= http://bxr.su/d/sys/sys/vkernel.h |title= sys/vkernel.h
|website= BSD Cross Reference |publisher= [[DragonFly BSD]]
}}</ref><ref name=lwn-2010"vmspace…">{{cite web
}}</ref>
 
<ref name="vmspace…">{{cite web
|author= Matthew Dillon |author-link= Matthew Dillon |date= 2006
|url= http://bxr.su/d/sys/vm/vm_vmspace.c#sys_vmspace_create
|title= vm/vm_vmspace.c § sys_vmspace_create()
|website= BSD Cross Reference |publisher= [[DragonFly BSD]]
}}</ref><ref name=Dillon2006>{{cite mailing list
}}</ref>
 
<ref name=Dillon2006>{{cite mailing list
|author= Matthew Dillon |author-link= Matthew Dillon |date= 2006-09-02
|url= http://leaf.dragonflybsd.org/mailarchive/kernel/2006-09/msg00000.html
|title= Cache coherency, clustering, and Kernel virtualization
|mailing-list= kernel@ |publisher= [[DragonFly BSD]]
}}</ref><ref name=RUMPs>{{cite mailing list
}}</ref>
 
<ref name=RUMPs>{{cite mailing list
|author= Antti Kantee |date= 2007-08-05
|url= http://mail-index.netbsd.org/source-changes/2007/08/05/msg188696.html
سطر ۱۲۶ ⟵ ۹۹:
}}
 
== لینکپیوند هایبه خارجیبیرون ==
 
* {{نشانی وب|mdoc.su/d/vkernel.7|vkernel(7) man-page}}
* {{نشانی وب|www.dragonflybsd.org/docs/handbook/vkernel/|The DragonFly virtual kernels}}