پایان نامه مدل مفهومی و نرم افزار


Widget not in any sidebars
یک بار ما یک صفحه ی حافظه مجازی را در پایین قرار دادیم، از نظر کارایی اهمیت دارد که هر دو گره ی فرزند در یک صفحه ی حافظه مجازی قرار بگیرند، زیرا ما قصد مقایسه ی هردوی آن ها با پدرشان را داریم.
به همین دلیل، درخت برای توسعه یافتن به منظور تولید، در زمان ورود یک صفحه ی حافظه مجازی جدید، برای استفاده ی اولین دو عنصر صفحه، شکست می خورد.
در مثال شبیه سازی شده ی ما، نقص زمانی اتفاق می افتد که 5 صفحه بیشتر درخواست شود.
اگر این برای شما بی اهمیت به نظر بیاید، اشتباه می کنید: سعی کنید خط 20 کیلوبایت در بی هیپ را در شکل های 2-7 و 2-8 به سمت راست جابجا کنید و درمورد مفاهیم فکر کنید.
پارامترهای شبیه سازی من انتخاب شده اند برای ارائه ی اینکه چه اتفاقی در زندگی واقعی وارنیش می افتد، و من نباید به توصیف و تحلیل جامع کارایی بی هیپ برای همه ی پارامترهای ممکن تلاش کنم. همچنین از وجود راه های هوشمندانه تر برای اضافه کردن راهنمای وی ام به یک باینری هیپ، جلوگیری نخواهم کرد. اما به خرید بلیط روی ریل قطارهای سیبری به منظور یافتن زمان برای حل کردن آن، متمایل نشده ام.
مرتبه ی بزرگی تفاوت، با تعدادی از سطوح هیپ، کنار هر صفحه ی حافظه مجازی آغاز می شود. بنابراین تسریع نهایی روی ماشین هایی با سایز اشاره گرهای کوچک و سایز صفحه های بزرگ خواهد بود. این یک مشاهده ی وابسته است، همانطور که هسته های سیستم عامل شروع می کنند به استفاده از صفحات بزرگ برای بالا نگه داشتن عملکرد ورودی/خروجی.
چرا همچنان ما این کار را اشتباه انجام می دهیم؟ بحث معروفی وجود دارد با عنوان “سورت سریع یا هیپ سورت” ، تمرکز روی این حقیقت که بدترین رفتار سابق وحشتناک است، درحالیکه آخری عملکرد میانگین بدتری دارد اما نه در حد “نقاط بد”. وابسته به برنامهی شما، این می تواند تفاوت بسیار مهمی باشد.
ما فاقد یک درخواست مشابه به انتخاب الگوریتم در مواجه با تاخیر دسترسی حافظه ی ناهمسان به علت حافظه ی مجازی، کش های سی پی یو، بافرهای نوشتنو دیگر حقایق سخت افزار مدرن هستیم.
در هر کتابی که آموزش برنامه نویسی را یاد گرفته اید، احتمالا در 5 صفحه ی ابتدایی آن، شکلی از کامپیوتر مشابه شکل 2-12را داشته است.
شکل 2-12 مدل کامپیوتر منسوخ
این مدل، تنها مدل مفهومی استفاده شده در آموزش کامپیوتر است، علی رغم این واقعیت که هیچ چیزی برای کار با محیط اجرا روی یک کامپیوتر مدرن وجود ندارد. و فقط برای ضبط: توسط مدرن، منظور من وکس 780/11 یا بعدی است.
30 یا 40 سال گذشته از توسعه ی سیستم عامل و سخت افزار، درحاشیه روی دستورالعملی در بخش های تحلیلی الگوریتمی دپارتمان سی اس پیوند زده شده است، و طبق شاهد حدیثی من، درمجموع برای ثبت نامی که آن ها فراهم کردند شکست خورده است.
اختلاف سرعت بین انبار اولیه و ثانویه روی کامپیوتر اطلس روی مرتبه ی 1:1.000 بود. غلطک اطلس 2 میلی ثانیه برای دریافت یک سکتور زمان برد. دستورالعمل ها تقریبا 2 میکروثانیه برای اجرا زمان می برند. شما حدود 1000 دستورالعمل را برای هر نقص صفحه ی وی ام از دست داده اید.
روی یک سی پی یوی چند منظوره، اجرا می شود در فرکانس ساعت گیگاهرتز، بدترین اتلاف تقریبا 10 میلیون دستورالعمل بر نقص صفحه ی وی ام است. اگر شما در حال اجرا باشید با یک دیسک چرخشی، عدد آن بیشتر از 100 میلیون دستورالعمل است.
اگر عملیات یک الگوریتم مرتبه اجرای لاگ ان، باعث نقص صفحه شود یا عملیات دیسک را آهسته کند، چقد خوب است؟ برای اغلب مجموعه داده های وابسته، روی الگوریتم مرتبه ی ان یا حتی مرتبه ی ان دو، که از نقص صفحه اجتناب می کند، دایره هایی دور آن اجرا خواهد شد.
تحلیل عملکرد الگوریتم ها، یک موفقیت بزرگ برای همیشه در علم کامپیوتر خواهد بود]20[.
2-4 نرم افزارهای مبتنی بر وب
برای مشخص نمودن برنامه هائی با قابلیت اجراء بر روی وب، از واژه های متعددی استفاده می گردد:
نرم افزارهای تحت وب
نرم افزارهای وب 2
نرم افزارهای مبتنی بر وب
نمونه هائی در این زمینه می باشند. واژه های تحت وب و نرم افزارهای وب ۲ در برخی موارد بجای یکدیگر استفاده شده تا برنامه های نوشته شده برای اجراء بر روی وب ، شبکه های مبتنی بر اینترنت نظیر اینترانت ها را تشریح و مشخص نمایند. به هر یک از برنامه های فوق ، می توان از طریق یک مرورگر دستیابی پیدا کرد. این نوع برنامه ها در موارد متعددی با یکدیگر متفاوت می باشند.طراحی برنامه های تحت وب ( مبتنی بر وب ) ، بگونه ای است که قابلیت اجراء بر روی اینترنت و وب را داشته باشند، در مقابل برنامه های نرم افزارهای وب ۲ ، دارای یک اینترفیس مبتی بر وب بمنظور استفاده از قابلیت های نرم افرارهای موجود ( نرم افزارهای سنتی ) می باشند.
نرم افزارهای فوق قبل از مطرح شدن وب ایجاد شده و با طراحی یک اینترفیس مبتنی بر وب می توان از امکانات آنها در صفحات وب نیز استفاده نمود. مثلا” می توان با طراحی یک فرم لازم ، اطلاعاتی را از کاربران اخذ و با مراجعه به بانک های اطلاعاتی موجود ، اطلاعات مورد نظر را استخراج و نتایج را با یک فرمت مناسب برای مرورگر ارسال کرد. بهرحال برنامه های مبتنی بر وب، از آغاز با رویکرد وب ، طراحی و پیاده سازی شده در صورتیکه برنامه های نرم افزارهای وب ۲، از نرم افزارهای موجود به کمک یک اینترفیس مبتی بر وب استفاده می نمایند.
برنامه های تحت وب ، دارای امکانات و قابلیت های متعددی بوده که بمنظور استفاده در وب طراحی و پیاده سازی شده اند. برنامه ه
ای نرم افزارهای وب ۲ ، دارای یک دریچه اتصال مجزا تحت وب بوده که امکان ارتباط با نرم افزارهای قدیمی را فراهم می آورد. دریچه اتصال موجود امکان استفاده از تمام قابلیت های نرم افزارهای وجود را فراهم نخواهد کرد و صرفا” پاسخگو به بخش محدودی از انتظارات خواهند بود. بدیهی است بخش هائی از نرم افزارهای موجود ( سنتی ) می بایست با رویکرد وب بازنویسی شده تا امکان ارتباط آنان با دریچه اتصال فراهم گردد. برنامه های موجود بر روی برخی از سایت ها نظیر : خرید کالا ، کتاب ، رزو بلیط هواپیما ، ارسال و دریافت نامه ی الکترونیکی ( نظیر هات میل) نمونه هائی از برنامه های مبتنی بر وب می باشند. در ادامه با برخی تعاریف برنامه های تحت وب آشنا می شویم:
یک وب سایت که قادر به انجام عملیاتی خاص نظیر فروش کالا است.