نوع فایل: word
قابل ویرایش 118 صفحه
چکیده:
زبان پایه سیستم های توسعه پذیر نوع امن همچون جاوا برای تهیه کردن حافظه امن در فضای آدرس واحد استفاده می شود حافظه امن به تنهایی برای حفاظت از کاربرد های مختلف از دیگر موارد کافی نیست. بیشتر سیستم ها باید یک مدل پردازش که قادر به کنترل و مدیریت منابع ایجاد شده باشد را پشتیبانی کنند. در زبان های مخصوص پایه توسعه پذیر سیستم ها ، باید مکانیزم کنترل منابع برای آنها در سیستم عامل استاندارد را پشتیبانی کنند .
کلمات کلیدی
J_kernel , kaffe os , Alta , GVM
مقدمه:
1-1- انتقال رمز
عقیده انتقال رمز در طول شبکه به مناسبترین میزبان برای اجراء چیز عادی و پیش پا افتاده ای شده است . اکثراً رمز برای کارآیی و بازدهی انتقال داده می شود اما گاهی اوقات بخاطر شخصی بودن ، مقاومت در برابر خوابی ( روا داشت خطا ) یا فقط بخاطر آسایش و راحتی است . مسئله عمده در زمان انتقال دادن رمز ، ایمن سازی است ؛ تائید درستی میزبانی که رمز به آن منتقل می شوند و نیز تائید پردازش انجام شده بوسیله خود رمز انتقال یافته در خطر است . یک تعداد از تکنیک ها استفاده شده اند تا مرزهای حفاظت را میان رمز غیر قابل اعتماد منتقل شده به یک میزبان و باقیمانده نرم افزار اجرایی روی آن میزبان را قرار دهد . سیستم عاملهای قدیمی از حافظه مجازی استفاده میکنند تا حفاظت میان فرآروندها را تقویت کنند . یک فرآروند نمی تواند بطور مستقیم سایر حافظه فرآروندها را بخواند و بنویسد ، و ارتباط میان فرآروند غیر معتمد می تواند راه اندازی کند ، می تواند تا درجه های متنوعی از سایر فرآروندها در میزبان جدا شود . هرچند اشاره کمی در فرستادن یک رایانش به یک میزبان وجود دارد ، در صورتیکه نمی تواند با سایر رایانش ها بر هم کنش کند ، رایانش بین فرآروندی بایستی امکان پذیر باشد . مسائل عمده زمان استفاده از تسهیلات سیستم عامل قدیمی برای جدا کردن رمز غیر قابل اعتماد رخ می نمایند ، که تصمیم می گیرند آیا یک تله کرنل ویژه مجاز است یا نه و فائق آمدن از هزینه ارتباط بین فرآروند سطح معنایی تله های کرنل عموماً با سطحی که در آن سیاست های حفاظت مشخص می شوند مطابقت نمی کند . علاوه بر این موجوداتی که در آن تله ها عمل میکنند ، آنهایی هستند که بوسیله جی کرنل مدیریت می شوند و نه آنهایی که بوسیله مکانیسم های انتقال سریع فرآروندی شد ، هزینه عبوری از طریق کرنل و از فضا ها آدرس کلید زنی ، رتبه های مقدار بزرگتری از فراخوانی یک مرحله را دارند . در زمینه رمز سیار محافظت زبانی ، شیوه جالبی نسبت به مکانیسم های حفاظت سیستم عامل است . حفاظت زبانی تکیه بر ایمنی یک سیستم حرفی زبانی دارد که تضمین می کند چکیده سازیهای ارائه شده توسط حرف های زبان تقویت شده اند . یک سیستم حروف بعنوان یک مکانیسم کنترل دستیابی ساده عمل می کند ؛ این سیستم موجودهایی را محدود می سازد که یک رایانش می تواند دسترس پیدا کند ( هیچ راهی وجود ندارد تا یک اشاره گر را به یک شئی جعل کند ) و عملیاتی را محدود می سازد که رمز می تواند در موجودهای قابل دسترس عمل کند جاذبه حفاظت زبانی دو لایه است : دقت حفاظت و عملکرد ارتباط در طول مرزها ی حفاظت مکانیسم های حافظه مجازی سنتی مشخص شوند . عناصر داده ای که با آنها دستیابی ممکن میشوند و نیز انواع دستیابی های مجاز شده می توانند خیلی دقیق مشخص شوند . برای مثال ، در جاوا ، دستیابی را می توان به دقت با موجود های ( شن های )انفرادی و حتی فقط با فیلد های مقصد خاص با استفاده از توصیف گر عمومی مقرر کرد .
علاوه بر این ، با حفاظت زبانی ، فراخوانی های تابع ساده باشند ، که ارتباط بیشتری میان اجزاء را مقدور می سازد ، همانطور که بدون نقطه ضعف ها و عیب های اجرایی مطلوب است . اما حفاظت زبانی به تنهایی یک سیستم عامل را ایجاد نمی کند . چندین پروژهاخیراً شرح داده اند که چگونه قلمروها حفاظت در اطراف اجزاء یک محیط زبانی ایمنی بسازند . ایده اصلی این است که از ارجاعات موجودی ( اسمی ) ( یعنی اشاره گرها به اشیاء ) بعنوان توانش هایی برای ارتباط قلمرویی متقابل استفاده کنیم . ارجاعات موجودی ( اسمی ) در زبانهای ایمن غیر قابل جعل هستند و از این رو می توان از آنها استفاده کرد تا حق امتیاز های خاصی را برای نگهدارنده ها اعطا کند . در یک زبان اسمی شیوه های عملی برای یک شئی در اصل دروازه های فراخوانی هستند .هر چند این شیوه در حالیکه هم انعطاف پذیر وهم سریع است ، از محدودیت برخوردار است : هیچ راهی برای باطل کردن دستیابی به ارجاعات اسمی وجود ندارد ، و هیچ راهی برای رد گیری اینکه کدام موجود ها را مالک می باشند وجود ندارد . این امر منجر به مشکلات مبرمی در مورد پایان دهی قلمرویی و حساب کردن منابع می شود .
فهرست مطالب:
فصل اول : مقدمه
1-1 - انتقال رمز
2-1- پردازش ها در kaffe os
3-1- ارتباطات
4-1- امنیت سیستم
فصل دوم : مفاهیم جی_کرنل
1-2- جی کرنل
2-2- تحقق و پیاده سازی
3-2- میکرو افزار سنج های جی کرنل
4-2- عایق بندی
فصل سوم : طراحی و پیاده سازی
1-3- برنامه نویسی
2-3- مدیریت منابع
3-3- عایق سازی
4-3- طراحی سرور وب بر اساس جی کرنل
5-3- ساختار وب توسعه پذیر
6-3- کار مربوطه
فصل چهارم : مقایسه وارزیابی
1-4- GVM 7
2-4- Alta 80
3-4- j-kernel85
4-4- ارزیابی و کار ایی
5-4- کار مربوطه
فصل پنجم : نتیجه گیری
منابع
منابع و مأخذ:
[1] M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian,
and M. Young. Mach: A new kernel foundation for UNIX
- In Proc. of Summer USENIX ’86, pp. 93–112, June
[2] G. T. Almes, A. P. Black, E. D. Lazowska, and J. D. Noe. The Eden
system: A technical review. IEEE Trans. on Software Engineering,
SE-11(1):43–59, Jan. 1985.
[3] D. Balfanz and L. Gong. Experience with secure multi-processing
in Java. In Proc. of the Eighteenth ICDCS, May 1998.
[4] J. C. R. Bennett and H. Zhang. Hierarchical packet fair queueing
- In Proc. of SIGCOMM ’96, San Francisco, CA, Aug.
[5] P. Bernadat, L. Feeney, D. Lambright, and F. Travostino. Java sandboxes
meet service guarantees: Secure partitioning of CPU and
- TR TOGRI-TR9805, The Open Group Research Institute,
June 1998.
[6] B. N. Bershad, T. E. Anderson, E. D. Lazowska, and H. M. Levy.
Lightweight remote procedure call. ACM TOCS, 8(1):37–55, Feb.
[7] B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer,M. E. Fiuczynski,
- Becker, C. Chambers, and S. Eggers. Extensibility, safety, and
performance in the SPIN operating system. In Proc. of the 15th
SOSP, pp. 267–284, Copper Mountain, CO, Dec. 1995.
[8] A. D. Birrell and B. J. Nelson. Implementing remote procedure
- ACM TOCS, 2(1), Feb. 1984.
[9] A. P. Black, N. Huchinson, E. Jul, H. Levy, and L. Carter. Distribution
and abstract types in Emerald. IEEE Trans. on Software
Engineering, SE-13(1):65–76, 1987.
[10] J. Bruno, E. Gabber, B. Ozden, and A. Silberschatz. The Eclipse
operating system: Providing quality of service via reservation domains.
In Proc. of USENIX ’98, pp. 235–246, New Orleans, LA,
June 1998.
[11] J. Chase, F. Amador, E. Lazowska, H. Levy, and R. Littlefield. The
Amber system: Parallel programming on a network of multiprocessors.
In Proc. of the 12th SOSP, pp. 147–158, December 1989.
[12] J. S. Chase, H. M. Levy, M. J. Feeley, and E. D. Lazowska. Sharing
and protection in a single-address-space operating system. ACM
TOCS, 12(4):271–307, 1994.
[13] G. Clements and G. Morrison. Kore — an implementation of the
Java(tm) core class libraries. ftp://sensei.co.uk/misc/kore.tar.gz OR
http://www.cs.utah.edu/projects/flux/java/kore/.
[14] G. Czajkowski, C.-C. Chang, C. Hawblitzel, D. Hu, and T. von
- Resource management for extensible internet servers. In
- of the 8th ACM SIGOPS European Workshop, Sintra, Portugal,
- 1998. To appear.
[15] P. Dasgupta et al. The design and implementation of the Clouds distributed
operating system. Computing Systems, 3(1), Winter 1990.
[16] Digitivity Corp. Digitivity CAGE, 1997. http://-
- digitivity.com/overview.html.
[17] S. Dorward, R. Pike, D. L. Presotto, D. Ritchie, H. Trickey, and
- Winterbottom. Inferno. In Proc. of the 42nd IEEE COMPCON,
San Jose, CA, Feb. 1997.
[18] P. Druschel and G. Banga. Lazy receiver processing (LRP): A network
subsystem architecture for server systems. In Proc. of the
Second OSDI, pp. 261–275, Seattle, WA, Oct. 1996.
[19] The E extensions to Java. http://www.communities.com/products/-
tools/e/e white paper.html.
[20] B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers.
The Flux OSKit: A substrate for OS and language research. In
- of the 16th SOSP, pp. 38–51, St. Malo, France, Oct. 1997.
[21] B. Ford, M. Hibler, J. Lepreau, P. Tullmann, G. Back, and S. Clawson.
Microkernels meet recursive virtual machines. In Proc. of the
Second OSDI, pp. 137–151, Seattle, WA, Oct. 1996.
[22] B. Ford and S. Susarla. CPU inheritance scheduling. In Proc. of the
Second OSDI, pp. 91–105, Seattle, WA, Oct. 1996.
[23] M. Franz. Beyond Java: An infrastructure for high-performance
mobile code on the World Wide Web. In S. Lobodzinski and
- Tomek, editors, Proc. of WebNet ’97, pp. 33–38, Oct. 1997.
[24] L. Gong, M. Mueller, H. Prafullchandra, and R. Schemers. Going
beyond the sandbox: An overview of the new security architecture
in the Java development kit 1.2. In Proc. of USENIX Symp. on
Internet Technologies and Systems, pp. 103–112, Monterey, CA,
- 1997.
[25] L. Gorrie. Echidna — a free multiprocess system in Java.
http://www.javagroup.org/echidna/.
[26] J. Gosling, B. Joy, and G. Steele. The Java Language Specification.
The Java Series. Addison-Wesley, 1996.
[27] D. Hagimont and L. Ismail. A protection scheme for mobile agents
on Java. In Proc. of the Workshop on Persistence and Distribution
in Java, Lisbon, Portugal, Oct. 1997.
[28] J. H. Hartman et al. Joust: A platform for communication-oriented
liquid software. TR 97–16, Univ. of Arizona, CS Dept., Dec. 1997.
[29] C. Hawblitzel, C.-C. Chang, G. Czajkowski, D. Hu, and T. von
- Implementing multiple protection domains in Java. In Proc.
of USENIX ’98, pp. 259–270, New Orleans, LA, 1998.
[30] I. M. Leslie, D. McAuley, R. J. Black, T. Roscoe, P. R. Barham,
- M. Evers, R. Fairbairns, and E. A. Hyden. The design and implementation
of an operating system to support distributed multimedia
- IEEE Journal on Selected Areas in Communications,
14(7):1280–1297, Sept. 1996.
[31] S. Liang and G. Bracha. Dynamic class loading in the Java virtual
- In Proc. of OOPSLA ’98, Vancouver, BC, Oct. 1998. To
- appear.
[32] T. Limming in Argus. CACM, 31(3):300–
312, Mar. 1988.
[34] D.Malkhi, M. K. Reiter, and A. D. Rubin. Secure execution of Java
applets using a remote playground. In Proc. of the 1998 IEEE Symp.
on Security and Privacy, pp. 40–51, Oakland, CA, May 1998.
[35] D. Mosberger and L. L. Peterson. Making paths explicit in the Scout
operating system. In Proc. of the Second OSDI, pp. 153–167, Seattle,
WA, Oct. 1996.
[36] K. Nilsen. Java for real-time. Real-Time Systems Journal, 11(2),
[37] D. Plainfoss´e and M. Shapiro. A survey of distributed garbage collection
- In Proc. of the 1995 IWMM, Kinross, Scotland,
- 1995.
[38] D. Presotto, R. Pike, K. Thompson, and H. Trickey. Plan 9, a
distributed system. In Proc. of the USENIX Workshop on Microkernels
and Other Kernel Architectures, 1992.
[39] D. D. Redell, Y. K. Dalal, T. R. Horsley, H. C. Lauer, W. C. Lynch,
- R. McJones, H. G. Murray, and S. C. Purcell. Pilot: An operating
system for a personal computer. CACM, 23(2):81–92, 1980.
[40] M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien,
- Guillemont, F. Herrmann, C. Kaiser, S. Langlois, P. L´eonard,
and W. Neuhauser. The Chorus distributed operating system. Computing
Systems, 1(4):287–338, Dec. 1989.
[41] M. I. Seltzer, Y. Endo, C. Small, and K. A. Smith. Dealing with
disaster: Surviving misbehaved kernel extensions. In Proc. of the
Second OSDI, pp. 213–227, Seattle, WA, Oct. 1996.
[42] E. G. Sirer, R. Grimm, B. N. Bershad, A. J. Gregory, and
- McDirmid. Distributed virtual machines: A system architecture
for network computing. In Proc. of the Eighth ACM SIGOPS
European Workshop, Sept. 1998.
[43] Sun Microsystems, Inc. JavaOS: A standalone Java environment,
- 1997. http://www.javasoft.com/products/javaos/-
- white.html.
[44] D. C. Swinehart, P. T. Zellweger, R. J. Beach, and R. B. Hagmann.
A structural view of the Cedar programming environment. ACM
TOPLAS, 8(4):419–490, October 1986.
[45] D. L. Tennenhouse, J. M. Smith, W. D. Sincoskie, D. J. Wetherall,
and G. J. Minden. A survey of active network research. IEEE
Communications Magazine, 35(1):80–86, Jan. 1997.
[46] Transvirtual Technologies Inc. http://www.transvirtual.com/.
[47] P. Tullmann and J. Lepreau. Nested Java processes: OS structure
for mobile code. In Proc. of the Eighth ACM SIGOPS European
Workshop, Sintra, Portugal, Sept. 1998.
[48] R. Wahbe, S. Lucco, T. Anderson, and S. Graham. Efficient
software-based fault isolation. In Proc. of the 14th SOSP, pp. 203–
216, Asheville, NC, Dec. 5–8, 1993.
[49] C. A. Waldspurger, T. Hogg, B. A. Huberman, J. O. Kephart, and
- Stornetta. Spawn: A distributed computatational economy. IEEE
- on Software Engineering, 18(2):103–117, Feb. 1992.
[50] D. S. Wallach, D. Balfanz, D. Dean, and E. W. Felten. Extensible
security architectures for Java. In Proc. of the 16th SOSP, pp. 116–
128, Oct. 1997.
[51] D. J.Wetherall, J. Guttag, and D. L. Tennenhouse. ANTS: A toolkit
for building and dynamically deploying network protocols. In Proc.
of IEEE OPENARCH ’98, San Francisco, CA, Apr. 1998.
[52] P. R. Wilson. Uniprocessor garbage collection techniques. In Proc.
of the 1992 IWMM, St. Malo, France, Sept. 1992.
[53] N.Wirth and J. Gutknecht. Project Oberon. ACM Press, New York,
NY, 1992.
پروژه اصول طراحی و پیاده سازی و کاربرد(kemel_j). doc