You are on page 1of 115

‫ذخیره و بازیابی اطالعات‬

‫مؤلف‪ :‬فرشید شیرافکن‬

‫دانشجوی دکترای بیوانفورماتیک دانشگاه تهران‬

‫ناشر‪ :‬سازمان علمی آموزش فرادرس‬

‫بزرگترین پلتفرم آموزش آنالین ایران‬

‫وب‪www.faradars.org :‬‬
‫‪2‬‬ ‫ذخیره و بازیابی اطالعات‬

‫تقدیم به‪:‬‬

‫روح پاک پدرم‬

‫‪ -‬فرشید شیر افکن‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪3‬‬ ‫ذخیره و بازیابی اطالعات‬

‫سخن ناشر‬

‫در عین تمام نقدهای وارد شده به کنکور‪ ،‬هنوز راه حلی عملی که در جمیع جوانب‪ ،‬بهتر از سبک کوتاه و چند گزینهای‬
‫سواالت باشد؛ ارائه نشده است‪ .‬همین موضوع‪ ،‬کنکور را به ویژه کنکور کارشناسی ارشد به عنوان یک آزمون متمرکز و‬
‫سراسری‪ ،‬از اهمیت دو چندانی برخوردار میکند‪.‬‬

‫یکی از آسیبهای همراه با این آزمون سراسری این است که فضای رقابتی آن با ایجاد موسسات گوناگون‪ ،‬به سرعت از فضای‬
‫یک رقابت علمی تبدیل به فضای رقابت اقتصادی می شود؛ به گونهای که هزینه سرسام آور کالسها‪ ،‬دورهها و منابع مرتبط با‬
‫آزمون‪ ،‬از عهده بسیاری از دانشجویان خارج می شود‪ .‬دانشجویانی که در عین استعداد تحصیلی باال‪ ،‬در میدان رقابت مالی‬
‫تحمیلی‪ ،‬در عین تمام شایستگیهای خود‪ ،‬قدرت ادامه مسیر را از دست میدهند یا به نتیجهای که در فضای مساوی مالی‬
‫برای همه باید به آن میرسیدند‪ ،‬دست نمییابند‪.‬‬

‫یکی از اهداف و آرمانهای فرادرس به عنوان بزرگترین پروژه آموزش دانشگاهی اجرا شده بر بستر وب کشور‪ ،‬ایجاد دسترسی‬
‫همگانی و یکسان به آموزش و دانش؛ مستقل از جغرافیا‪ ،‬زمان و سطح مالی دانشجویان بوده است‪ .‬سیاست کاری فرادرس در‬
‫راستای این آرمان‪ ،‬انتشار آموزشهای ویدئویی تخصصی و دانشگاهی رایگان و یا بسیار کم هزینه‪ ،‬با تدریس مجربترین اساتید‬
‫داخل و خارج کشور بوده است‪.‬‬

‫ما با انتشار رایگان این کتاب (به همراه نزدیک به ده کتاب رایگان دیگر) یکی از گامهای دیگر خود را در راستای آرمان‬
‫فرادرس برداشتیم‪ .‬کتاب حاضر که حاصل نزدیک به دو دهه تدریس و پژوهش و تألیف مؤلف و مدرس فرادرس می باشد؛ در‬
‫عین هزینههای باالی تألیف و آمادهسازی‪ ،‬به جای انتشار و فروش؛ با تأمین مالی و سرمایهگذاری فرادرس به عنوان ناشر‪ ،‬به‬
‫صورت کامال رایگان منتشر می شود‪ .‬ما در گامهای بعدی نیز تالش خواهیم کرد تا هر جا بتوانیم‪ ،‬حتی شده یک کتاب مرجع‬
‫دیگر و بیشتر را با پرداخت هزینه‪ ،‬آزادسازی کرده و به صورت رایگان منتشر کنیم‪.‬‬

‫مؤلفین و ناشرینی که تمایل به واگذاری حق انتشار کتاب خود به فرادرس را دارند‪ ،‬می توانند با ایمیل‬
‫‪ ebooks@faradars.org‬مکاتبه نمایند‪ .‬ما این کتابها را با پرداخت هزینه تألیف به مدرس و ناشر‪ ،‬به صورت رایگان‬
‫منتشر خواهیم کرد تا همه دانشجویان مستقل از سطح مالی‪ ،‬به منابع مفید آزمون دسترسی داشته باشند‪ .‬همچنین اگر ایده و‬
‫نظری در خصوص کتابهای رایگان فرادرس داشته باشید‪ ،‬خوشحال میشویم که آن را با ایمیل ‪ebooks@faradars.org‬‬
‫مطرح نمایید‪.‬‬

‫سازمان علمی آموزش فرادرس‬

‫بزرگترین پلتفرم آموزش آنالین ایران‬

‫وب‪www.faradars.org :‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪4‬‬ ‫ذخیره و بازیابی اطالعات‬

‫منبع مطالعاتی تکمیلی مرتبط با این کتاب‬

‫آموزش ویدئویی ذخیره و بازیابی اطالعات‬

‫با افزایش روز افزون اطالعات‪ ،‬فرایند ذخیره‪ ،‬بازیابی و استخراج اطالعات از‬
‫اهمیت ویژه ای برخوردار است‪ .‬این اطالعات ممکن است شامل هر نوع‬
‫منبعی مانند متن‪ ،‬تصویر‪ ،‬صوت و ویدئو باشد‪ .‬هدف از ذخیره و بازیابی‬
‫اطالعات کمک به کاربران برای ذخیره مناسب اطالعات و یافتن اطالعات‬
‫مورد نظر در انبوهی از اطالعات ساختار نایافته است‪.‬‬

‫یکی از هدف های یادگیری ذخیره و بازیابی اطالعات‪ ،‬آموختن روش های‬
‫ذخیره سازی مورد استفاده در سامانه های ذخیره سازی داده و همچنین‬
‫طراحی و معماری فناوری های نوین به کار گرفته شده در این سامانه ها می‬
‫باشد‪ .‬ذخیره سازی اطالعات را می توان چنین برداشت نمود که هرگونه‬
‫عملیاتی که اطالعات را بر روی یک سامانه ذخیره ساز یا رسانه ذخیره کند‪.‬‬
‫معنای رسانه در اینجا معنای یک وسیله ای است که قدرت ذخیره و بازیابی‬
‫اطالعات و به عبارتی خواندن دوباره اطالعات را داشته باشد‪( .‬به عنوان مثال‬
‫ذخیره کردن فیلم بر روی ‪ DVD‬به عنوان ذخیره سازی اطالعات تعریف‬
‫می شود‪.).‬‬

‫مدرس‪ :‬مهندس فرشید شیرافکن‬


‫مدت زمان‪ 8 :‬ساعت‬
‫‪faradars.org/fvsft106‬‬ ‫جهت مشاهده آموزش ویدئویی این آموزش کلیک کنید‪.‬‬

‫درباره مدرس‬

‫مهندس فرشید شیرافکن کارشناس ارشد مهندسی کامپیوتر گرایش نرمافزار است و در حال‬
‫حاضر دانشجوی دکترای بیوانفورماتیک دانشگاه تهران هستند‪ .‬ایشان از مدرسین نمونه در‬
‫زمینه ارائه و آموزش دروس دانشگاهی انتخاب شدهاند‪.‬‬
‫ایشان مشاور کنکور هستند و بیش از ‪ 30‬کتاب در زمینه کنکور رشته کامپیوتر تألیف نمودهاند‪.‬‬
‫ایشان در حال حاضر به عنوان یکی از برترین مدرسین فرادرس از جهت کمیت و کیفیت دروس‬
‫ارائه شده‪ ،‬نزدیک به ‪ 20‬عنوان درسی را در قالب آموزش ویدئویی از طریق فرادرس منتشر‬
‫کردهاند‪ .‬این مجموعه دروس تا کنون مورد استفاده دهها هزار دانشجوی سراسر کشور قرار‬
‫گرفته اند‪.‬‬

‫مشاهده همه آموزش های تدریسی و تألیفی توسط مؤلف کتاب کلیک کنید‪.‬‬

‫‪Email: fshirafkan51@gmail.com‬‬ ‫شماره همراه مدرس‪09121972028 :‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪5‬‬ ‫ذخیره و بازیابی اطالعات‬

‫کتب رایگان دیگر از این مجموعه آموزشی‬

‫‪ .1‬آموزش نظریه زبان ها و ماشین – کلیک کنید (‪)+‬‬


‫‪ .2‬آموزش شیءگرایی در سی پالس پالس – کلیک کنید (‪)+‬‬
‫‪ .3‬آموزش برنامهنویسی سی پالس پالس– کلیک کنید (‪)+‬‬
‫‪ .4‬آموزش ساختمان داده ها – کلیک کنید (‪)+‬‬
‫‪ .5‬آموزش سیستم عامل – کلیک کنید (‪)+‬‬
‫‪ .6‬آموزش پایگاه داده ها – کلیک کنید (‪)+‬‬

‫برای دانلود رایگان این مجموعه کتب‪ ،‬به لینک زیر مراجعه کنید‪:‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪6‬‬ ‫ذخیره و بازیابی اطالعات‬

‫دسته بندی موضوعی آموزش های فرادرس‪ ،‬در ادامه آمده است‪:‬‬

‫مهندسی برق الکترونیک و‬ ‫هوش مصنوعی ‪ -‬کلیک (‪)+‬‬ ‫آموزشهای دانشگاهی و‬ ‫برنامهنویسی ‪ -‬کلیک (‪)+‬‬
‫روباتیک ‪ -‬کلیک (‪)+‬‬ ‫تخصصی – کلیک (‪)+‬‬

‫مهارت های دانشگاهی ‪-‬‬ ‫مباحث مشترک ‪ -‬کلیک (‪)+‬‬ ‫دروس دانشگاهی ‪-‬‬ ‫مهندسی نرمافزار ‪-‬‬
‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬

‫آموزشهای عمومی ‪-‬‬ ‫طراحی و توسعه وب ‪-‬‬ ‫نرمافزارهای عمومی ‪-‬‬ ‫نرمافزارهای تخصصی ‪-‬‬
‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪7‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فهرست مطالب‬

‫فصل ‪ : 1‬نوار مغناطیسی‪ -‬دیسک مغناطیسی‬

‫فصل ‪ : 2‬سیستم فایل‪ -‬تکنیک های بالک بندی‬

‫فصل ‪ : 3‬فایل در محیط فیزیکی‪ -‬مدیریت بالکهای آزاد‪ -‬پشتیبان گیری‪ -‬چگالی لود اولیه‪-‬‬

‫لوکالیتی‬

‫فصل ‪ : 4‬سطوح نشانی دهی ‪ -‬بافرینگ‬

‫فصل ‪ : 5‬ظرفیت و نرخ انتقال واقعی نوار ‪ -‬ظرفیت و نرخ انتقال واقعی دیسک‪ -‬تکنیکهای‬

‫کاهش ‪s,r‬‬

‫فصل ‪ : 6‬فایل با ساختار پایل‬

‫فصل ‪ : 7‬فایل با ساختار ترتیبی‬

‫فصل ‪ : 8‬ساختار ترتیبی شاخص دار‪ -‬ساختار چند شاخصی‬

‫فصل ‪ : 9‬ساختار مستقیم‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪8‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪: 1‬‬
‫نوار مغناطیسی – دیسک مغناطیسی‬

‫سیستم کامپیوتری‬
‫هر سیستم کامپیوتری از یک کامپیوتر و تعدادی تجهیزات جانبی تشکیل شده است‪ .‬چنین سیستمی دارای‬
‫دو محیط درون ماشینی و برون ماشینی می باشد‪ .‬محیط درون ماشینی از کامپیوتر با اجزاء و عناصر داخلی‬
‫اش و محیط برون ماشینی از دستگاههای جانبی تشکیل شده است‪.‬‬
‫محیط درون ماشینی شامل دو قسمت است‪:‬‬
‫)‪1. MEMORY ( ROM , RAM , Data Instructions‬‬

‫)‪2. CPU (CU , ALU , Local Memory , Registers , Buffers , Flags , Index , Accumulator‬‬
‫و محیط برون ماشینی شامل ‪ 4‬قسمت می باشد‪:‬‬
‫) ‪1. TERMINALS ( Keyboard , Video display‬‬

‫) ‪2. Extended Memory ( Hard disk , Floppy disk , DVD , CD‬‬

‫) ‪3. Output Device ( Printer , Plotter , Card punches‬‬

‫) ‪4. Input Devices ( Laser disk drives , Card readers , Magnetic cassette‬‬

‫حافظه‬
‫هر دستگاهی که قادر به نگهداری اطالعات باشد طوری که کاربر در هر لحظه بتواند به آنها دستیابی داشته‬
‫باشد را حافظه می نامند‪.‬‬
‫خصوصیات حافظه عبارتند از ‪:‬‬
‫هر حافظه ای این قابلیت را دارد که در آن بتوان نوشت یا از آن خواند‪.‬‬ ‫نوشتن و خواندن‬
‫به اطالعات مورد نظر در حافظه می توان نشانی دهی کرد‪.‬‬ ‫نشانی پذیری‬
‫هر حافظه ای از طریق مکانیسم نشانی دهی‪ ،‬مورد دستیابی قرار می گیرد‪.‬‬ ‫دستیابی پذیری‬
‫مدت زمان بین لحظه صدور دستور خواندن یا نوشتن تا آغاز دستیابی بهه حافظهه مهورد‬
‫زمان دستیابی‬
‫نظر‪.‬‬

‫کمیتی از اطالعات که در واحد زمان از حافظه قابل انتقال است‪.‬‬ ‫نرخ انتقال‬
‫هر حافظه ای دارای ظرفیتی است که به بیت یا بایت یها اضهعاف آنهها بیهان مهی‬
‫ظرفیت‬
‫شود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪9‬‬ ‫ذخیره و بازیابی اطالعات‬

‫واحدهای حافظه عبارتند از‪:‬‬


‫‪1KB  210 B, 1MB  2 20 B ,1GB  2 30 B ,1TB  2 40 B‬‬

‫سیستمهای ذخیره و بازیابی اطالعات دو هدف عمده را دنبال می کنند‪:‬‬


‫‪ -2‬افزایش سرعت عملیات‪.‬‬ ‫‪ -1‬صرفه جویی در حافظه‬
‫انواع حافظه ها‬
‫حافظهها به دو دسته تقسیم میشوند‪:‬‬
‫‪ -1‬حافظه های درون ماشینی ( مانند ‪ :‬ثبات‪ ،‬حافظه پنهان (کش)‪ ،‬حافظه اصلی‪ ،‬حافظه فالش‪).‬‬

‫‪ -2‬حافظه های برون ماشینی ( مانند ‪ :‬دیسک مغناطیسی‪،‬دیسک نوری‪ ،‬نوار مغناطیسی‪).‬‬

‫مقایسه حافظه های درون ماشینی و برون ماشینی‬


‫‪ -1‬ظرفیت حافظههای برون ماشینی بیشتر است‪.‬‬
‫‪ -2‬سرعت حافظههای برون ماشینی کمتر است‪.‬‬
‫(اطالعات ذخیره شده میتواند از بین برود)‬ ‫‪ -3‬حافظههای درون ماشینی نامانا می باشند‪.‬‬
‫‪ -4‬حافظههای درون ماشینی گران می باشند‪.‬‬
‫علت استفاده از حافظههای برون ماشینی‬
‫‪ -1‬محدود بودن ظرفیت حافظههای درون ماشینی‬
‫‪ -2‬گران بودن رسانههای ذخیره سازی سریع‬
‫‪ -3‬عدم لزوم ذخیره همه اطالعات در حافظههای درون ماشینی‬
‫‪ -4‬نامانا )‪ (non volatile‬بودن حافظههای درون ماشینی‬
‫‪ -5‬نیاز به دسترسی همروند )‪ (concurrent‬به دادهها توسط چند پروسس‪.‬‬
‫نوار مغناطیسی‬
‫رسانهای پالستیکی با غشاء مغناطیس شونده بر یک رویه و لغزان بر ریلهایی با ابعاد مختلف و برای پهردازش‬
‫)‪(Backup‬‬ ‫پی در پی )‪ (sequential‬رکوردها‪ .‬از کاربردهای نوار می توان مواردی چون تولید نسخههای پشتیبان‬
‫و ذخیره سازی در حجم باال )‪ (Archive‬را نام برد‪.‬‬
‫انواع نوار مغناطیسی از نظر تکنولوژی‪:‬ریل به ریل‪ ،‬کارتریج‪ ،‬کاست و صوتی‪.‬‬
‫انواع نوار از نظر تعداد شیار عبارتند از‪ :‬نوارهای ‪ 7‬شیاره و نوارهای ‪ 9‬شیاره‪.‬‬
‫در هر نوار یکی از شیارها‪ ،‬کنترل کننده پاریتی )‪ (Parity‬میباشند‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪10‬‬ ‫ذخیره و بازیابی اطالعات‬

‫داده ها روی نوار مغناطیسی به صورت رشته های بیتی روی شیارهایی که در سطح نوار وجود دارد‪،‬‬
‫ذخیره می شوند‪.‬‬
‫نوار به عنوان رسانه جانبی به کار می رود‪.‬‬

‫چگالی نوار )‪(Density‬‬


‫تعداد بیتهای قابل ضبط در هر اینچ نوار را چگالی نوار میگویند‪ .‬که واحد آن بیت در اینچ)‪ (bpi‬است‪ ،‬که با‬
‫توجه به نحوه نشست کاراکترها بر روی شیارها همان بایت در اینچ یا کاراکتر در اینچ است‪.‬‬

‫گپ )‪(Gap‬‬
‫فضایی بدون استفاده (هرز) )‪ (waste‬بین دو رکورد )‪ (IRG‬یا دو بالک )‪ ، (IBG‬که برای متوقف کردن نوار و یها‬
‫حرکت دوباره آن بکار میرود‪ .‬یعنی بهرای اینکهه نهوک خوانهدن ش نوشهتن بتوانهد دادهههای ذخیهره شهده را‬
‫حس)‪ (sense‬کند باید بعد از توقف به سرعتی مطلوب و یکنواخت (سرعت حس) برسد کهه تکههای از نهوار از‬
‫نوک ‪ R/W‬خواهد گذشت‪ .‬همچنین در هنگام کاهش سرعت حس تا توقف نیهز تکههای از نهوار از زیهر نهوک‬
‫خواهد گذشت‪ .‬این دو تکه‪ ،‬گپ را تشکیل میدهند‪.‬‬

‫‪2 x 0 IBG‬‬
‫‪t0 ‬‬ ‫‪‬‬ ‫و می توان نوشت ‪:‬‬
‫‪V0‬‬ ‫‪V0‬‬

‫‪ : V0‬سرعت الزم برای حس کردن دادهها با واحد اینچ بر ثانیه‬


‫‪ : IBG‬حافظه هرز بین دو بالک با واحد اینچ یا فوت‬
‫‪ : t 0‬زمان توقفش حرکت‬
‫به عبارتی ‪ :‬زمان الزم برای صفر شدن سرعت حس یا زمان الزم برای رسیدن به سرعت حس با شروع از وسط گپ ‪.‬‬

‫هر فوت برابر ‪ 12‬اینچ می باشد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪11‬‬ ‫ذخیره و بازیابی اطالعات‬

‫نحوه ذخیره فایل بر روی نوار‬


‫فایل معموالً به صورت مجموعهای از رکوردها یا بالکها به طور پی در پی روی نوار ذخیره مهیشهود‪ .‬در یهک‬
‫نوار می توان قسمتی از یک فایل را ذخیره کرد‪ .‬همچنین میتوان بیش از یک فایل را ذخیهره کهرد کهه ههر‬
‫فایل دارای عالمت ابتدا )‪ (BOF‬و انتها )‪ (EOF‬میباشد‪ .‬در ذخیره سازی فایهل هها روی نهوار ‪ GAP‬بهین فایهل‬
‫داریم‪ .‬یک فایل بزرگ میتواند روی چند نوار ذخیره شود‪.‬‬
‫پارامترهای نوار‬
‫‪ -1‬پارامترهای ظرفیتی (چگالی‪ ،‬طول نوار )‬
‫‪ -2‬پارامترهای زمانی (نرخ انتقال‪ ،‬زمان حرکتشتوقف)‬

‫دیسک مغناطیسی‬
‫دیسک مغناطیسی رسانه ایست گردان‪ ،‬با امکان دستیابی مسهتقیم بهه داده ههای ذخیهره شهده کهه بهه آن‬
‫یعنی رسانه با دسترسی مستقیم می گویند‪ .‬به عبهارتی دیسهک مغناطیسهی‬ ‫)‪DASD (Direct Access Device‬‬

‫صفحه ای است مدور و مغناطیس شونده که حول یک محور عمودی می چرخهد ‪ .‬رویهههای ایهن صهفحه از‬
‫غشاء فرو مغناطیسی پوشیده شده که برروی آنها شیارهایی به صهورت دایرهههای متحهدالمرکز یها حلزونهی‬
‫وجود دارد‪ .‬شیارها از بیرون به درون با شروع از صفر شماره گذاری شده اند‪ .‬در دیسک سخت‪ ،‬فاصهله نهوک‬
‫‪ R/W‬با رویه بسیار کم است و هوای تصفیه شده جریان دارد و در دیسک نرم‪ ،‬نوک به رویه می چسبد‪.‬‬
‫دسته بندی دیسکهای مغناطیسی‬
‫دیسکها از نظرات مختلف مانند جنس صفحات‪ ،‬تکنولوژی ساخت‪ ،‬تعداد صفحات‪ ،‬تعداد الیهها‪ ،‬تعداد رویهها‬
‫دارای تقسیمات مختلفی می باشند‪ .‬مانند‪:‬‬
‫‪ -1‬دیسک ثابت‪ ،‬دیسک جابجا شدنی‬
‫‪ -2‬دیسک با نوک ثابت‪ ،‬دیسک با نوک متحرک‬
‫‪ -3‬دیسک یک رویه ودیسک دو رویه‬
‫‪ -4‬دیسک تک الیه و دیسک دو الیه‬
‫)‪( Pack‬‬ ‫‪ -5‬دیسک تک صفحه ای و دیسک چند صفحه ای‬
‫‪ -6‬دیسک مغناطیسی‪ ،‬دیسک نوری و دیسک نوری – مغناطیسی‬
‫‪ -7‬دیسک سخت )‪ (Hard Disk‬و دیسک نرم‬
‫یک دیسک پک با ‪ n‬صفحه دارای ‪ 2n‬رویه است که ‪ 2n-2‬رویه آن برای ذخیره بکار می رونهد‪(.‬دو رویهه‬
‫باالیی و پایینی برای حفاظت میباشند و ذخیرهسازی در آنها انجام نمیشود)‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪12‬‬ ‫ذخیره و بازیابی اطالعات‬

‫نواحی رویه از بیرون بهه درون عبارتنهد از ‪ :‬فهرود نهوک )‪ ،(Landing‬شهروع حرکهت )‪ ،(Take off‬احتیها‬
‫بیرونی‪ ،‬شیارهای ضبط داده ‪ ،‬احتیاطی درونی و احتیاطی نهایی‪.‬‬

‫تقسیمات دیسک‬
‫تقسیمات دیسک عبارتند از شیار ) ‪ ،( Track‬استوانه ) ‪ ( Cylinder‬و سکتور ) ‪.( Sector‬‬
‫شیار)‪(track‬‬
‫محل ضبط بیت های اطالعات در هر رویه را شیار می گویند‪ .‬شیارها به صورت دوایر متحد المرکز یا حلزونی‬
‫می باشند‪.‬‬

‫ظرفیت همه شیارها یکسان اسهت ولهی چگهالی ضهبط دادههها در شهیارهای بیرونهی کمتهر از چگهالی‬
‫شیارهای درونی است‪.‬‬

‫استوانه )‪(cylinder‬‬
‫تمام شیارهای هم شعاع‪ ،‬تشکیل یک استوانه(سیلندر) را میدهند‪ .‬یک دیسک پک بهه تعهداد شهیارهای ههر‬
‫رویه‪ ،‬استوانه دارد‪.‬‬

‫فایلها با شروع از یک استوانه‪ ،‬استوانه به استوانه روی دیسک ذخیره میشوند‪.‬‬

‫اهمیت سیلندر در آن است که به همه اطالعات روی یک سیلندر میتوان بهدون حرکهت دادن بهازوی‬
‫نگهدارندة هد خواندنشنوشتن دستیابی داشت‪.‬‬

‫سکتور )‪(sector‬‬
‫هر شیار از تعدادی سکتور(قطاع) تشکیل شده است‪ .‬به عبارتی شیارها به اندازههای مساوی بهه نهام سهکتور‬
‫تقسیم میشوند‪ .‬اندازه هر سکتور معموالً ‪ 512‬بایت است‪ .‬سکتور بر دو نوع می باشد‪:‬‬
‫‪ -1‬سخت افزاری‬
‫سکتور سختافزاری توسط سازنده ایجاد میشود‪.‬‬
‫‪ -2‬نرم افزاری‬
‫سکتور نرم افزاری از طریق سیستم عامل ایجاد میشود‪(.‬فرمت نرم افزاری)‬

‫ابتدای سکتور نرم افزاری باید منطبق بر ابتدای سکتور سخت افزاری باشد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪13‬‬ ‫ذخیره و بازیابی اطالعات‬

‫اندازه سکتور نرم افزاری بهتر است مضرب صحیحی از اندازه سکتور سخت افزاری باشد‪.‬‬
‫اندازه سکتور نرم افزاری می تواند بیشتر یا کمتر از سکتور سخت افزاری باشد‪.‬‬
‫تعداد سکتور در شیار در دیسکهای سخت جدید‪ ،‬در شیارهای بیرونی بیشتر از شیارهای درونهی اسهت‬
‫که به این رسانهها ‪ IDE‬میگویند‪ .‬البته تعداد سکتور در همه شهیارها از دیهد سیسهتم عامهل یکسهان دیهده‬
‫‪)IDE : Integrated‬‬ ‫( ‪Drive Electronics‬‬ ‫میشود‪.‬‬
‫سکتور کوچکترین بخش از یک دیسک است که قابل آدرس دهی میباشد‪.‬‬

‫شکل زیر یک دیسک مغناطیسی را نشان می دهد ‪:‬‬

‫کالستر‬
‫کالستر تعداد ثابتی از سکتورهای پیوسته است و کوچکترین واحدحافظه ای است که میتوان به یهک فایهل‬
‫اختصاص داد‪ .‬استفاده از کالسترهای بزرگتر میتواند منجر به افزایش کارایی در هنگام پردازش ترتیبی شود‪.‬‬
‫مدیریت فایل تعیین میکند که کدام کالستر از فایل دارای سکتوری است کهه بایهد بهه آن دسهتیابی شهود‪.‬‬
‫جدول تخصیص فایل )‪ ،(FAT‬حاوی لیستی از همه کالسترهای موجود در یک فایل اسهت کهه طبهق ترتیهب‬
‫منطقی سکتورهای موجود در آن مرتب شده اند‪.‬‬

‫مولفه های نشانی فیزیکی داده عبارتند از‪ :‬شماره درایور‪ ،‬شهماره اسهتوانه‪ ،‬شهماره شهیار در اسهتوانه و‬
‫شماره سکتور‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪14‬‬ ‫ذخیره و بازیابی اطالعات‬

‫پارامترهای دیسک‬
‫‪ -1‬پارامترهای ظرفیتی‬
‫اندازه سکتور‪ ،‬تعداد سکتور در شیار‪ ،‬تعداد رویه در استوانه‪ ،‬تعداد شیار در رویه‪.‬‬
‫‪ -2‬پارامترهای زمانی‬
‫زمان استوانه جویی‪ ،‬زمان درنگ دوران‪ ،‬سرعت گردش دیسک‪ ،‬نرخ انتقال و زمان استقرار‪.‬‬

‫زمان استوانه جویی )‪(Seek time‬‬


‫زمانی که طول می کشد تا نوک خواندنشنوشتن به استوانه ای کهه داده مهورد نظهر درآن قهرار دارد برسهد را‬
‫زمان استوانه جویی می نامند‪ .‬متوسط این زمان را با ‪ S‬نمایش میدهند و واحهد آن میلهی ثانیهه اسهت‪ .‬ایهن‬
‫زمان معموال بین ‪ 2‬تا ‪ 30‬میلی ثانیه می باشد‪.‬‬

‫زمان استوانه جویی(پیگرد)‪ ،‬در دیسک با بازوی ثابت صفر است‪.‬‬

‫حرکت بازو )‪ ،( seeking‬کندترین قسمت خواندن اطالعات از روی دیسک میباشد‪.‬‬

‫متوسط زمان استوانه جویی )‪،(s‬در ‪ IBM 3380‬برابر ‪ 16 ms‬می باشد‪.‬‬

‫زمان درنگ دوران ) ‪(Rotational latency time‬‬


‫‪ R‬برسد‪ .‬ایهن زمهان از‬ ‫‪/W‬‬ ‫زمانی که طول می کشد تا ابتدای داده مورد نظر در اثر دوران دیسک به زیر نوک‬
‫حدود ‪ 5‬میلی ثانیه تا ‪ 9‬میلی ثانیه می باشد‪.‬‬
‫بین صفر و‬ ‫‪r‬‬ ‫متوسط زمان درنگ دورانی را با ‪ ( r‬نصف زمان یک دور دیسک )‪ ،‬نمایش میدهند‪ .‬مقدار‬
‫دارد ‪( 0  r  2r‬‬ ‫زمان چرخش یک دور دیسک قرار‬

‫سرعت گردش دیسک‬


‫به کمک سرعت چرخش دیسک می توان زمان یک دور گردش دیسک )‪ ،(2r‬را بدست آورد‪:‬‬

‫‪r‬‬
‫‪rpm‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪15‬‬ ‫ذخیره و بازیابی اطالعات‬

‫واحد سرعت گردش دیسک ‪ ،‬دور در دقیقه )‪ (RPM‬می باشد‪.‬‬


‫‪RPM : Rotation Per Minute‬‬
‫‪ ‬با فرض اینکه سرعت چرخش یک دیسک ‪ 5400‬دور در دقیقه باشد‪ ،‬متوسط زمان درنهگ دورانهی چنهد‬
‫میلی ثانیه خواهد بود؟‬
‫حل‪ :‬بین زمان درنگ دورانی)‪ ( r‬و تعداد دور دیسک در دقیقه )‪ (rpm‬رابطه زیر برقرار است‪:‬‬

‫‪r‬‬ ‫‪‬‬ ‫‪ .‬‬


‫‪rpm‬‬

‫یک سرعت معمولی برای دوران دیسک ‪ 3600‬دور در دقیقه است‪ .‬در این حالت متوسط زمهان درنهگ‬
‫دورانی برابر ‪ 8.3‬میلی ثانیه است‪)IBM 3380( .‬‬

‫نرخ انتقال‬
‫تعداد بایت قابل انتقال در یک ثانیه را نرخ انتقال می گویند که واحدآن بایت در ثانیه میباشد‪.‬‬
‫‪byte‬‬
‫‪ 3000‬می باشد‪.‬‬ ‫نرخ انتقال در ‪ IBM 3380‬برابر‬
‫‪ms‬‬

‫زمان استقرار‬
‫وقتی نوک به استوانه ای برده می شود‪ ،‬مدت کوتاهی در حال لرزش است تا استقرار بیابد کهه بهه آن زمهان‬
‫استقرار نوک )‪ (Setting Time‬می گویند‪ .‬این زمان را به زمان استوانه جویی اضافه می کنند و پارامتر جدا گانه‬
‫ای محسوب نمی شود‪.‬‬
‫‪‬با توجه به مشخصات دیسک با بازوی ثابت زیر‪:‬‬
‫(تعداد سیلندر=‪ ،500‬تعداد شیار در سیلندر=‪ ،18‬تعداد بالک در شیار = ‪،40‬ظرفیت بلوک=‪ 2000‬بایت‬
‫‪ ،‬ظرفیت شیار=‪ 88000‬بایت و سرعت چرخش دیسک=‪ 6000‬دور در دقیقه)‬
‫الف‪ -‬زمان درنگ متوسط چند میلی ثانیه است؟‬
‫ب‪ -‬طول هرگپ چند بایت است؟‬
‫ج‪ -‬ظرفیت دیسک برابر چند مگابایت است؟‬
‫د‪ -‬نرخ انتقال اسمی چند مگابایت در ثانیه است؟‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪16‬‬ ‫ذخیره و بازیابی اطالعات‬

‫حل‪:‬‬
‫الف‪ -‬زمان درنگ دورانی برابر است با ‪:‬‬

‫‪r‬‬ ‫‪r‬‬ ‫‪‬‬


‫‪rpm‬‬
‫ب‪ -‬فضای اشغال شده توسط بالکها در یک شیار برابر است با‪:‬‬
‫‪‬‬ ‫‪‬‬
‫و تعداد بایتهایی که توسط گپ ها در یک شیار اشغال می شود برابر است با ‪:‬‬
‫‪‬‬ ‫‪‬‬
‫بنابراین فضای اشغال شده توسط یک گپ برابر است با ‪:‬‬
‫‪‬‬ ‫‪‬‬
‫ج‪ -‬ظرفیت دیسک بدون در نظر گرفتن گپ ها ‪:‬‬
‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫)‪( Byte‬‬
‫د‪ -‬نرخ انتقال اسمی توسط سازنده اعالم می شود‪.‬‬

‫زمان دستیابی تصادفی‬


‫مدت زمان بین لحظه ای که دستور خواندن یا نوشتن داده می شود و لحظه ای که آغاز داده مورد نظهر زیهر‬
‫نوک می رسد‪ ،‬را زمان دستیابی تصادفی )‪ (RAT‬می گویند‪ .‬این زمان مجموع دو زمان ‪ r‬و ‪ s‬مهی باشهد و بهه‬
‫عبارتی متوسط زمان الزم برای رسیدن به آغاز یک بالک یا رکورد با مکان مشخص با شروع از مکان نهامعین‬
‫است‪.‬‬

‫چگالی دیسک‬
‫چگالی دیسک نیز از پارامترهای ظرفیتی است ولی در سیستم فایل مستقیما در محاسهبه ظرفیهت اسهتفاده‬
‫نمی شود‪ .‬واحد چگالی دیسک‪ ،‬بیت در اینچ مربع می باشد‪ .‬افزایش چگالی دیسک از قانون هوگلنهد تبعیهت‬
‫‪SAL 1970‬‬

‫‪( 10‬برای تا سال ‪ )2000‬قابل محاسبه‬ ‫‪10‬‬


‫می کند‪ .‬طبق این قانون‪ ،‬چگالی دیسک از رابطه ‪Mb / inch 2‬‬
‫است‪ .‬مثال می توان با قرار دادن عدد ‪ 1990‬به جای متغیر ‪ ، SAL‬چگالی دیسکها را در سهال ‪ 1990‬محاسهبه‬
‫کرد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪17‬‬ ‫ذخیره و بازیابی اطالعات‬

‫دیسکهای نوری‬
‫برای افزایش فضای ذخیرهسازی‪ ،‬سرعت دستیابی و کاهش هزینه از نور به جهای مغنهاطیس اسهتفاده شهده‬
‫است‪ .‬از انواع دیسکهای نوری میتوان موارد زیر را نام برد‪:‬‬

‫‪1-‬‬ ‫‪DVD‬‬
‫‪2-‬‬ ‫‪CD‬‬
‫‪3-‬‬ ‫‪CD-ROM‬‬
‫‪4-‬‬ ‫)‪WORM : (Write-Once Read–Many‬‬
‫‪5-‬‬ ‫)‪EOD : (Eraseable Optical Disk‬‬

‫‪ EOD‬یا ‪ ،CD-RW‬نوعی ‪ CD-ROM‬می باشد که میتوان چند بار بر روی آن نوشت‪.‬‬

‫زمان استوانه جویی ‪ CD-ROM‬از دیسک مغناطیسی بسیار باالتر است‪.‬‬

‫دیسکهای نوری – مغناطیسی‬


‫از تلفیق دو تکنولوژی مغناطیس و نور‪ ،‬دیسکهای نوری– مغناطیسهی ایجهاد شهده انهد‪ ،‬کهه دارای خاصهیت‬
‫دیسک نوری یعنی باال بودن چگالی و خاصیت دیسک مغناطیسی یعنی قابل پاک شدن میباشد‪.‬‬
‫دو نوع دیگر از دیسکها‬
‫‪ -1‬دیسکهای با تغییر فاز‬
‫رویه (سطح) در دیسکهای با تغییر فاز با تابش اشعه لیزر دو حالت کریستال و یا نامشهخص را بهه خهود مهی‬
‫گیرد‪ .‬سرعت آنها دو برابر دیسکهای مغناطیسی– نوری می باشد‪.‬‬
‫‪ -2‬دیسکهای دای پولیمر‬
‫رویه در دیسکهای دای پولیمر دو الیه بوده که با لیزر گرم شده و بر آمدگی در آن ایجاد مهی شهود و بعهد از‬
‫سرد کردن آن بر آمدگی ثابت می ماند‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪18‬‬ ‫ذخیره و بازیابی اطالعات‬

‫طبله )‪(Drum‬‬
‫طبله رسانه ای است منطقا معادل دیسک با نوک ثابت و تک استوانه ای ‪ .‬به عبهارتی اسهتوانه ای اسهت کهه‬
‫شیارهایش در سطح خارجی می باشد‪ .‬موارد استفاده طبله عبارتند از ‪:‬‬
‫‪ -1‬استفاده از طبله به عنوان حافظه اصلی قبل از پیدایش حافظه های چنبره ای ‪.‬‬
‫‪ -2‬استفاده از طبله به عنوان حافظه پشتیبیان برای ماشین مجازی‪.‬‬
‫‪ -3‬ایجاد فایلهای موقت بسیار فعال مورد استفاده سیستم عامل ‪ ،‬کامپایلرها و سایر نرم افزارها‪.‬‬
‫‪ -4‬ضبط نرم افزارهای ثابت مانند مانیتورها ‪ ،‬برنامه های متصدی اشتباهات خواندن ش نوشتن ‪ ،‬ناظر اشتباه‬
‫یابی برنامه ها ‪ ،‬کامپایلرها ‪ ،‬برنامه های مرتب سازی‪.‬‬

‫معموال برای هر شیار یک نوک خواندنشنوشتن وجود دارد‪ .‬البته ممکن است تعهداد نهوک هها از تعهداد‬
‫شیارها کمتر باشد که در این صورت نوک متحرک است‪.‬‬
‫زمان استوانه جویی در طبله های با نوک ثابت‪ ،‬صفر است‪.‬‬
‫پارامترهای دیسک در این رسانه نیز وجود دارند‪،‬غیر از تعداد استوانه که همیشه یک است‪.‬‬
‫ظرفیت طبله از نوار و دیسک کمتر است و سرعت طبله از نوار و دیسک بیشتر است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪19‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪:2‬‬
‫سیستم فایل – تکنیک های بالک بندی‬

‫سیستم فایل‬
‫‪ ،(file‬نرم افزاری است که وظیفه آن ایجاد و مدیریت فایلها مهی باشهد‪ .‬ایهن نهرم افهزار‬ ‫)‪system‬‬ ‫سیستم فایل‬
‫دارای چندین الیه است که کاربر از جزئیات داخلی آن بی اطالع است‪ .‬قبل از بررسی سیستم فایل اصهطالح‬
‫های فیلد‪ ،‬رکورد و فایل را بررسی می نماییم‪.‬‬

‫اعمال اساسی در محیط فیزیکی برای یک سیستم فایل عبارتند از ‪:‬‬


‫مکان یابی‪ ،‬خواندن از رسانه و نوشتن بر روی رسانه‪.‬‬

‫فیلد‬
‫مکان ذخیرهسازی یک فقره اطالع (یک واحد معنایی داده و نامدار) را فیلد می نامنهد‪ .‬طهول فیلهد‪ ،‬حهداقل‬
‫یک کاراکتر و حداکثر وابسته به زبان برنامه نویسی و سیستم فایل می باشد‪.‬‬

‫رکورد‬
‫مفهوم رکورد را در سه سطح زیر می توان بررسی کرد‪:‬‬
‫مجموعه اطالعاتی است که در مورد هر یک از نمونه ههای متمهایز‬
‫یک یا بیش از یک نوع موجودیت از یک محیط عملیاتی در اختیار‬ ‫انتزاعی‬
‫داریم‪.‬‬
‫مجموعهای است با ساختار مشخص کهه از چنهدین فیلهد تشهکیل‬ ‫برنامه کاربر‬
‫شده است‪.‬‬ ‫(رکورد منطقی)‬
‫محیط ذخیره‬
‫رکورد در سطح فیزیکی از دو قسمت دادهای و غیر دادهای تشهکیل‬
‫سازی‬
‫شده است‪.‬‬
‫(رکورد فیزیکی)‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪20‬‬ ‫ذخیره و بازیابی اطالعات‬

‫بخش غیر داده ای رکورد‬


‫در بخش غیر دادهای‪ ،‬اطالعات مورد نیاز سیستم فایل در تعدادی فیلد ذخیره میشود‪ ،‬از جمله‪ :‬طول رکورد‪،‬‬
‫نوع رکورد‪ ،‬اشاره گرها‪ ،‬فالگهای عملیاتی و حفاظتی‪ .‬به عبارتی شامل اطالعاتی است که سیستم فایل‪ ،‬بهرای‬
‫پردازش رکورد به آنها نیاز دارد‪ .‬فیلد های بخش غیر داده ای در سیستم هها و سهاختارهای گونهاگون فایهل‪،‬‬
‫متفاوت است‪ .‬نامهای دیگر بخش غیر داده ای عبارتند از ‪ :‬پیشوندی ‪ ،‬کنترلی‪ ،‬سیستمی و متابخش‪.‬‬

‫چند نکته‪:‬‬
‫‪ -1‬کلید رکورد در بخش داده ای رکورد قرار دارد‪ (.‬کلید رکورد‪ ،‬صفت خاصه ای(فیلد) است که طول آن‬
‫حتی االمکان کوتاه و دارای یکتایی مقدار در نمونههای مختلف رکورد است‪).‬‬
‫‪ -2‬وقتی رکوردی دارای طول متغیر است‪ ،‬میتوان طول آن را در بخش غیر دادهای ذخیره کرد‪.‬‬
‫‪ -3‬در حذف منطقی‪ ،‬فالگ حذف در بخش غیر داده ای فعال میشود و بعداً رکورد به طور فیزیکی حذف‬
‫خواهد شد‪.‬‬

‫قالبهای رکورد منطقی‬


‫رکورد منطقی دارای دو قالب است‪:‬‬

‫در طرح رکورد با قالب ثابت مکان‪ ،‬در هر فیلد فقهط مقهدار‬
‫صفت خاصه ذخیره میشهود و اسهم صهفت خاصهه ذخیهره‬ ‫ثابت مکان‬
‫) ‪( Fixed Positional‬‬
‫نمیشود‪.‬‬
‫در طرح رکورد با قالب غیر ثابت مکان هم اسم صفت خاصه‬
‫و هم مقدار صفت ذخیهره میشهود و مکهان فیلهدها از قبهل‬ ‫غیر ثابت مکان‬
‫مشخص نمیباشد‪ .‬در این طرح تعداد‪ ،‬طول و مکان فیلهدها‬ ‫) ‪( Non Fixed Positional‬‬

‫در نمونههای مختلف یک نوع رکورد‪ ،‬یکسان نمی باشد‪.‬‬

‫رکورد منطقی از نظر طول به دو دسته با طول ثابت و با طول متغیر‪ ،‬تقسیم می شود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪21‬‬ ‫ذخیره و بازیابی اطالعات‬

‫دالیل متغیر شدن طول یک رکورد‬


‫‪ -1‬متفاوت بودن تعداد صفات خاصه مورد نیاز برای نمونههای مختلف یک نوع موجودیت ‪.‬‬
‫‪ -2‬متغیر بودن طول فیلدها‬
‫‪ -3‬وجود صفت خاصه مرکب چند مقداری ( پدیده فقره اطالع تکرار شونده)‬
‫مثال برای حالت اول‪ :‬برای کارمند متاهل به فیلدهایی مانند نام همسر و تعداد فرزندان نیاز اسهت کهه بهرای‬
‫کارمند مجرد نیاز نمی باشد ‪ ،‬برای حالت دوم ‪ ،‬فیلد آدرس دانشجو‪ .‬و برای حالت سوم ‪ ،‬فیلهد شهماره درس‬
‫برای موجودیت دانشجو که در یک نمونه دارای ‪ 2‬مقدار و در نمونهه ای دیگهر دارای ‪ 6‬مقهدار اسهت‪ .‬وجهود‬
‫چنین فیلدی ‪ ،‬فایل را نامسطح می کند‪.‬‬

‫گر(نشانه رو)‬ ‫اشاره‬


‫توسط اشاره گرها میتوان بین رکوردها ارتبا ساختاری برقرار ساخت و نظم منطقی موجود در برنامهه را در‬
‫محیط فیزیکی برقرار کرد‪ .‬هر اشاره گر یک مبدا و یک مقصد دارد‪ .‬از این نظر انواع اشاره گرها عبارتند از‪:‬‬
‫‪ -1‬رکورد به رکورد‬
‫‪ -2‬بالک به بالک‬
‫‪ -3‬رکورد به بالک‬
‫‪ -4‬بالک به رکورد‬
‫‪ -5‬فایل به فایل‬
‫‪ -6‬گروهی از بالکها به گروهی دیگر‬

‫انواع اشاره گر از نظر نوع نشانی عبارتند از‪ :‬نشانی در سطح فیزیکی‪ ،‬نشانی نسبی و نشانی ضمنی‪.‬‬
‫فایل‬
‫فایل مجموعهای است نامدار از نمونه های مختلف یک یا چند نوع رکورد‪ .‬در حالت اول فایل را تهک نهوعی و‬
‫در حالت دوم چند نوعی می گوییم‪ .‬البته ممکن است فایل دنباله ای از کاراکترها باشد کهه از نظهر سیسهتم‬
‫فایل معنای خاصی ندارد‪.‬‬
‫مفهوم فایل در معنای عام دارای سه ویژگی زیر می باشد‪:‬‬
‫‪ -1‬اندازه بزرگ ( طوری که یکباره در حافظه درون ماشینی نگنجد)‬
‫کاربر))‪(Resistance‬‬ ‫‪ -2‬پایائی( داده ها از بین نمی روند ‪ ،‬مگر به درخواست‬
‫تعدادی کاربر مجاز)‪(Shared‬‬ ‫‪ -3‬اشتراکی بودن بین‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪22‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ساختار فایل‬
‫ساختار فایل می تواند فیزیکی و یا منطقی باشد‪:‬‬
‫‪ -1‬ساختار منطقی‬
‫نشان دهنده سازمانی است که بر اساس آن رکوردهای منطقی گرد هم آمده اند‪.‬‬
‫‪ -2‬ساختار فیزیکی‬
‫نشان دهنده چگونگی ذخیره بالکها در دیسک می باشد‪( .‬دید برنامه ساز سیستم نسبت به فایل)‬

‫الیه های سیستم فایل‬


‫سیستم فایل دارای پنج الیه به صورت زیر می باشد‪:‬‬
‫این الیه‪ ،‬باالترین الیه سیستم فایل اسهت کهه واسهط بهین برنامهه کهاربردی و‬ ‫شیوه دستیابی‬
‫سیستم فایل منطقی میباشد‪ .‬توسط این الیه روشی برای دسترسی به رکوردها‬ ‫)‪(AM‬‬

‫در اختیار برنامه کاربردی قرار داده میشود‪.‬‬


‫این الیه همسطح با الیه شیوه دستیابی می باشد‪ .‬البته ممکن است الیهه شهیوه‬
‫دستیابی تحت این الیه عمل کند‪ .‬به این معنی کهه کهاربر برنامهه سهاز‪ ،‬شهیوه‬
‫سیستم فایل‬
‫دستیابی مورد نظر خود را طراحی کرده و ایهن واحهد نهرم افهزاری را بهه واحهد‬
‫سیستم فایل مجازی پیوند بزند و ساختار مورد نظر خود را ایجاد کند‪ .‬سیسهتم‬ ‫مجازی‬
‫)‪(VFS‬‬
‫فایل مجازی‪ ،‬فایل را دنباله ای از کاراکترها می بیند و ساختار خاصی برای فایل‬
‫قائل نمی باشد‪ .‬در سیستمهای عامل جدید‪ ،‬کاربران از طریهق الیهه مجهازی بها‬
‫سیستم فایل کار می کنند‪.‬‬
‫این الیه واسط بین سیستم فایل فیزیکی و الیه شیوه دستیابی میباشد‪ .‬امکهان‬
‫سیستم فایل‬
‫دسترسی کاربران به رکوردها توسط این الیه فراهم میشود‪ .‬این الیه با مفههوم‬
‫بالک کار نمی کند‪ .‬برنامه کاربر با یک شیوه دستیابی با این الیه در تماس است‬ ‫منطقی‬
‫)‪(LFS‬‬
‫و این الیه درخواستهای کاربر را انجام می دهد‪.‬‬
‫سیستم فایل‬
‫این الیه مسئول ذخیره سازی بالکها روی رسانه خارجی و انتقال آنهها از رسهانه‬
‫به بافر یا از بافر به رسانه می باشد‪ .‬این الیه با محتوای بالکها و یا ساختار فایل‬ ‫فیزیکی‬
‫)‪(PFS‬‬
‫کاری ندارد و در بعضی سیستم ها‪ ،‬بخشی از خود سیستم عامل می باشد‪.‬‬

‫پایین ترین الیه است و مستقیما با کنترولر در ارتبا است‪.‬‬ ‫درایور‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪23‬‬ ‫ذخیره و بازیابی اطالعات‬

‫سیستم فایل از دید کاربر‬


‫سیستم فایل از دید کاربر‪ ،‬نرم افزاری است که کاربر می تواند توسط آن عملیاتی ماننهد‪ ،‬ایجهاد‪ ،‬حهذف‪ ،‬بهاز‬
‫کردن‪ ،‬بستن و دستیابی را روی فایل خود انجام دهد‪ .‬کاربر برای انجهام ایهن کارهها درگیهر عملیهات درونهی‬
‫سیستم نمی باشد‪.‬‬

‫بالک‬
‫بالک قالبی ساختار یافته متشکل از چند رکورد است‪ .‬بالک کمترین مقدار داده قابهل مبادلهه بهین بیهرون و‬
‫درون ماشین توسط سیستم فایل در یک عمل‪ I/O‬می باشد‪.‬‬

‫بالک بندی‬
‫قرار دادن چند رکورد در یک بالک را بالک بندی می گویند‪ .‬تعداد رکوردهای درون بهالک را ضهریب بهالک‬
‫بندی ( ‪ ) B f‬و تعداد بالکهای موجود در یک شیار را ضریب شیار بندی ( ‪ ) T f‬میگویند‪.‬‬

‫مزایای بالک بندی‬


‫‪ -1‬کاهش گپهای بین رکوردها‬
‫‪ -2‬کاهش زمان پردازش فایل‬
‫‪ -3‬کاهش دفعات ورودیشخروجی‬
‫‪ -4‬کاهش زمان اجرای برنامه فایل پرداز‬

‫معایب بالک بندی‬


‫‪ -1‬مصرف بیشتر حافظه اصلی به علت نیاز به بافر بزرگتر‬
‫‪ -2‬کار نرم افزاری بیشتر برای بالک بندی و بالک گشایی‬
‫‪ -3‬افزایش احتمال اشتباه در تبادل اطالعات به علت افزایش مقدار داده منتقل شونده‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪24‬‬ ‫ذخیره و بازیابی اطالعات‬

‫حاالت نشست بالک روی دیسک‬


‫یک بالک می تواند به یکی از صورتهای زیر بر روی دیسک قرار بگیرد‪:‬‬
‫‪ -1‬یک شیار‬
‫‪ -2‬یک سکتور سخت افزاری (یا بخشی از یک سکتور)‬
‫‪ -3‬ترکیبی از چند سکتور سخت افزاری‬
‫‪ -4‬بخشی از شیار مشخص شده توسط نرم افزار (سکتور نرم افزاری)‬

‫بالک هم مانند رکورد دارای بخشی پیشوندی است‪ .‬در بالکهایی که طول متغیر دارند‪ ،‬طهول بهالک در‬
‫این قسمت ذخیره میشود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪25‬‬ ‫ذخیره و بازیابی اطالعات‬

‫روش های تعیین محدوده رکورد با طول متغیر در بالک‬


‫‪ -1‬درج طول در بخش پیشوندی رکورد‬
‫‪ -2‬درج نشانگر پایان رکورد‬
‫)‪(position table‬‬ ‫‪ -3‬ایجاد جدول مکان نما‬
‫در جدول مکان نما برای هر رکورد یک مدخل وجود دارد که در آن مهدخل‪ ،‬آدرس نسهبی رکهورد درج‬
‫میشود‪.‬‬
‫‪ -4‬ایجاد جدول طولها (‪)Length table‬‬
‫توسط استفاده از تکنیک ایجاد جدول طولها‪ ،‬میتوان محدوده رکورد با طول متغیهر را تعیهین کهرد‪ .‬در‬
‫هر مدخل این جدول ‪ ،‬طول رکورد متناظر ذخیره میشود‪ .‬اگر چند رکورد همجوار دارای طول یکسهانی‬
‫باشند‪ ،‬برای هریک مدخلی ایجاد نمیشود و فقط یک مهدخل ایجهاد شهده و طهول و تعهداد آنهها در آن‬
‫ذخیره میشود که این عمل باعث صرفه جویی در حافظه میشود‪ .‬همچنین در این تکنیک وقتهی طهول‬
‫رکوردها مضربی از یک عدد است‪ ،‬میتوان به جای درج طول‪ ،‬مقدار مضرب را درج کرد‪.‬‬
‫با فرض داشتن یک بالک شامل سه رکورد با طولهای ‪ 15 ،10‬و ‪ 7‬بایت‪ ،‬روشهای تعیین محدوده رکهورد‬ ‫‪‬‬

‫را نشان دهید‪.‬‬


‫‪ -1‬درج نشانگر پایان رکورد‬
‫‪R0‬‬ ‫‪R1‬‬ ‫‪R2‬‬

‫‪ -2‬درج طول در بخش پیشوندی رکورد‬


‫‪10‬‬ ‫‪R0‬‬ ‫‪15‬‬ ‫‪R1‬‬ ‫‪7‬‬ ‫‪R2‬‬

‫‪ -3‬ایجاد جدول طولها‬


‫‪R0‬‬ ‫‪R1‬‬ ‫‪R2‬‬ ‫‪7‬‬ ‫‪15‬‬ ‫‪10‬‬

‫‪ -4‬ایجاد جدول مکان نما‬


‫‪R0‬‬ ‫‪R1‬‬ ‫‪R2‬‬ ‫‪A2‬‬ ‫‪A1‬‬ ‫‪A0‬‬

‫( که ‪ A0‬آدرس نسبی رکورد ‪ R0‬در بالک ‪ ،‬نسبت به آغاز بالک است)‬

‫‪‬اگر از روش قرار دادن طول هر رکورد در ابتدای آن استفاده شود‪ ،‬با توجه به شکل بالک زیر‪ ،‬طول رکهورد‬
‫‪ R2‬کدام است؟‬
‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬
‫‪3‬‬ ‫‪R1‬‬ ‫‪2‬‬ ‫‪R2‬‬ ‫‪1‬‬ ‫‪R3‬‬ ‫‪......‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪26‬‬ ‫ذخیره و بازیابی اطالعات‬

‫حل‪:‬‬
‫بسیار واضح است که طول رکورد ‪ R2‬برابر ‪ 2‬می باشد‪ ،‬چهون طهول ههر رکهورد در ابتهدای ان ذخیهره شهده‬
‫است‪.‬‬
‫‪ ‬اگر برای تعیین محدوده طول رکورد‪ ،‬از روش قهرار دادن طهول ههر رکهورد بهه ترتیهب در انتههای بهالک‬
‫استفاده شود‪ ،‬طول رکورد ‪ R2‬کدام است؟‬
‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬
‫‪R1‬‬ ‫‪R2‬‬ ‫‪R3‬‬ ‫‪..............‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬
‫حل‪:‬‬
‫بسیار واضح است که طول ‪ R2‬برابر ‪ 2‬می باشد‪ ،‬چون طول رکوردها در انتهای بالک ذخیره شده است‪.‬‬

‫‪ ‬اگر از روش تعیین محدوده رکورد بر اساس قرار دادن آدرس نسبی ابتدای رکورد در انتهای بالک استفاده‬
‫شود‪ ،‬آنگاه مطابق شکل زیر‪ ،‬طول رکورد ‪ R1‬و ‪ R2‬کدام است؟‬
‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬
‫‪R1‬‬ ‫‪R2‬‬ ‫‪R3‬‬ ‫‪..............‬‬ ‫‪5‬‬ ‫‪3‬‬ ‫‪0‬‬

‫حل‪:‬‬
‫‪3-0=3‬‬ ‫طول رکورد ‪ R1‬برابر است با تفاضل آدرس شروع دو رکورد ‪ R2‬و ‪: R1‬‬
‫‪5-3=2‬‬ ‫و طول رکورد ‪ R2‬برابر است با تفاضل آدرس شروع دو رکورد ‪ R3‬و ‪: R2‬‬

‫‪ ‬اگر از روش قرار دادن طول هر رکورد در ابتدای آن استفاده شود‪ ،‬بها توجهه بهه شهکل بهالک زیهر‪ ،‬آدرس‬
‫ایتدای رکورد ‪ R2‬کدام است؟ (برای ذخیره طول به یک بایت نیاز است)‬
‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬
‫‪3‬‬ ‫‪R1‬‬ ‫‪2‬‬ ‫‪R2‬‬ ‫‪1‬‬ ‫‪R3‬‬ ‫‪......‬‬
‫حل‪:‬‬
‫‪1+3+1=5‬‬

‫تکنیکهای بالک بندی‬


‫‪ -1‬بالک بندی رکوردهای با طول ثابت و معموال یکپاره و گاه دو پاره‪.‬‬
‫‪ – 2‬بالک بندی رکوردهای با طول متغیر و یکپاره‪.‬‬
‫‪ – 3‬بالک بندی رکوردهای با طول متغیر و دو پاره‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪27‬‬ ‫ذخیره و بازیابی اطالعات‬

‫بالک بندی رکوردهای با طول ثابت و یکپاره‬

‫به طور نمونه چهار رکورد موجود در یک شیار به صورت زیر بالک بندی می شوند ‪:‬‬
‫در این تکنیک سه نوع حافظه هرز )‪ (waste‬ایجاد می شود‪:‬‬
‫‪ ( : W‬گپ بین بالکها به طول ‪ G‬بایت )‬
‫‪ ( : W‬گپ ناشی از نگنجیدن رکوردی دیگر در بالک) ( ‪) 0  W2  R  1‬‬
‫‪ ( : W‬گپ ناشی از نگنجیدن بالکی دیگر در شیار)‬
‫روابطی که در این تکنیک برقرارند‪:‬‬
‫‪B‬‬
‫‪Bf   ‬‬ ‫فاکتور بالک بندی‬
‫‪R‬‬
‫‪W3‬‬
‫‪WB  W1  W2 ‬‬ ‫حافظه هرز به ازای یک بالک‬
‫‪Tf‬‬
‫‪WB‬‬
‫‪WR ‬‬ ‫حافظه هرز به ازای یک رکورد‬
‫‪Bf‬‬
‫( ‪ : Bf‬تعداد رکورد در هر بالک و ‪ : Tf‬تعداد بالک در هر شیار)‬

‫تذکر‪ :‬اگر متوسط طول ‪ W2‬یعنی ‪ R‬را در نظر بگیریم‪ ،‬آنگاه داریم‪:‬‬
‫‪2‬‬
‫‪R W3‬‬ ‫‪1‬‬ ‫‪R W3‬‬
‫‪WB  G ‬‬ ‫‪‬‬ ‫‪, WR ‬‬ ‫‪(G  ‬‬ ‫)‬
‫‪2 Tf‬‬ ‫‪Bf‬‬ ‫‪2 Tf‬‬

‫‪ ‬در یک سیستم فایل‪ ،‬اگر طول هر بالک برابر ‪ 220‬بایت و طول ههر رکهورد برابهر‪ 100‬بایهت و طهول ههر‬
‫شکاف بین بالکی ‪ 16‬بایت در نظر گرفته شود‪ ،‬فضای هرز رکوردی کدام است؟‬
‫(بالکها به گونه ای انتخاب شده اند که تمام فضای هر شیار را پر می کنند یعنی ‪). W3  0‬‬
‫‪ B   220 ‬‬
‫‪Bf     ‬‬ ‫‪2‬‬
‫‪ R   100 ‬‬
‫‪100‬‬
‫‪WB  16 ‬‬ ‫‪ 0  66‬‬
‫‪2‬‬
‫‪66‬‬
‫‪WR ‬‬ ‫‪ 33‬‬
‫‪2‬‬

‫تعداد ‪ T f  B f‬رکورد در هر شیار وجود دارد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪28‬‬ ‫ذخیره و بازیابی اطالعات‬

‫بالک بندی رکوردهای با طول متغیر و یکپاره‬

‫به طور نمونه چهار رکورد موجود در یک شیار را بالک بندی می کنیم ‪:‬‬

‫توجه کنید که حافظه هرز ‪ W4‬در اثر دو پاره نکردن رکورد ‪ R3‬بروز می کند‪ .‬این نوع حافظه هرز در تکنیک‬
‫بعدی که ‪ R3‬را دو پاره می کنیم‪ ،‬دیگر رخ نخواهد داد‪.‬‬
‫روابطی که در این تکنیک برقرارند ‪:‬‬
‫‪B  W4‬‬
‫‪Bf ‬‬ ‫فاکتور بالک بندی‬
‫‪RP‬‬
‫‪W3‬‬
‫‪WB  G  Bf .P  W4 ‬‬ ‫حافظه هرز به ازای یک بالک‬
‫‪Tf‬‬
‫‪WB‬‬
‫‪WR ‬‬ ‫حافظه هرز به ازای یک رکورد‬
‫‪Bf‬‬

‫تذکر‪ :‬اگر متوسط طول ‪ W4‬یعنی ‪ R‬را در نظر بگیریم ‪ ،‬آنگاه داریم ‪:‬‬
‫‪2‬‬
‫‪B R/2‬‬ ‫‪G  R/2‬‬ ‫‪W3‬‬
‫‪Bf ‬‬ ‫‪, WR  P ‬‬ ‫‪‬‬
‫‪RP‬‬ ‫‪Bf‬‬ ‫‪B f .T f‬‬

‫متوسط طول رکوردها ی موجود در شیار است‪.‬‬ ‫‪R‬‬ ‫تذکر‪ :‬منظور از‬

‫بالک بندی رکوردها با طول متغیر و دو پاره‬


‫در شکل زیر نمونه ای از این بالک بندی نمایش داده شده است‪ .‬در این روش ‪ R3‬به دو پاره تقسهیم شهده و‬
‫در دو بالک ذخیره می شود که توسط یک فیلد اشاره گر بهه طهول ‪ P‬بایهت‪ ،‬پهاره اول و دوم را بهه یکهدیگر‬
‫مرتبط کرده ایم‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪29‬‬ ‫ذخیره و بازیابی اطالعات‬

‫روابطی که در این تکنیک برقرارند‪ ،‬به صورت زیر است ‪:‬‬


‫‪BP‬‬
‫‪Bf ‬‬ ‫فاکتور بالک بندی‬
‫‪RP‬‬
‫‪W3‬‬
‫‪WB  G  P  Bf .P ‬‬ ‫حافظه هرز به ازای یک بالک‬
‫‪Tf‬‬
‫‪WB‬‬ ‫‪GP‬‬ ‫‪W3‬‬
‫‪WR ‬‬ ‫‪ WR  P ‬‬ ‫‪‬‬ ‫حافظه هرز به ازای یک رکورد‬
‫‪Bf‬‬ ‫‪Bf‬‬ ‫‪Bf .Tf‬‬

‫تذکر‪ :‬در رابطه ‪ ، B f‬منظور از ‪ P‬صورت کسر‪ ،‬طول فیلد اشاره گر و منظور از ‪ P‬مخهرج ‪ ،‬طهول فیلهد طهول‬
‫است‪ ،‬که برای سادگی این دو برابر در نظر گرفته شده اند‪.‬‬

‫‪‬در یک فایل با رکوردهایی با طول متغیر که به صورت دو قسمتی در بالکها قرار گرفته اند‪ ،‬فضای هرز ههر‬
‫بالک کدام است؟‬
‫)‪( B  120 byte, G  15 byte, R  25 byte, P  4 byte,W3  30 byte), T f  3‬‬
‫حل‪:‬‬
‫‪120  4‬‬
‫‪Bf ‬‬ ‫‪4‬‬
‫‪25  4‬‬
‫‪30‬‬
‫‪WB  15  4  4  4 ‬‬ ‫‪ 45‬‬
‫‪3‬‬

‫خواندن رکورد دو پاره در تکنیک سوم به زمان بیشتری نیاز دارد‪ .‬چون باید دو بالک خوانده شود‪ .‬البته‬
‫اگر فایل باکت بندی شده باشد‪ ،‬میتوان با یک واکشی‪ ،‬دو بالک را خواند‪.‬‬
‫مزیت تکنیک سوم نسبت به تکنیک دوم‬
‫‪ -1‬حافظه هرز در تکنیک سوم کمتر است‪.‬‬
‫‪ -2‬انعطاف تکنیک سوم بیشتر است‪(.‬طول رکورد میتواند از طول بالک بیشتر شود‪).‬‬
‫‪ -3‬خواندن کل فایل در تکنیک سوم به زمان کمتری نیاز دارد‪(.‬حافظههای هرز کمتری دارد‪).‬‬

‫نرم افزار سیستم فایل تکنیک سوم پیچیده تر است‪ ،‬چون نیاز به مدیریت اشاره گره ها دارد‪.‬‬

‫پیاده سازی تکنیک اول ساده تر است ولی انعطاف پذیری آن کمتر است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪30‬‬ ‫ذخیره و بازیابی اطالعات‬

‫تذکر‪ :‬در بررسی تکنیکهای بالک بندی‪ ،‬ساده ترین حاالت در نظر گرفته شده است‪ ،‬مانند‪:‬‬
‫الف ‪ -‬قرار گرفتن تمامی ‪ R4‬در بالک دوم (در روش دوم) بدون ایجاد حافظه هرز‪.‬‬
‫ب‪ -‬قرار گرفتن تمامی ‪ R5‬در بالک دوم (در روش سوم) بدون ایجاد حافظه هرز یا دو پاره شدن آن‪.‬‬

‫چند اصطالح‬
‫‪ -1‬باکت ‪ :‬مجموعهای از تعدادی بالک که طی یک عمل واحد میتواند به بافر منتقل شود‪.‬‬
‫‪ -2‬خوشه )‪ : (cluster‬تعدادی بالک یا سکتور همجوار‪.‬‬
‫‪ -3‬گسترش ‪ :‬مجموعه ای از شیارهای درون یک استوانه و یا تعدادی استوانه همجوار‪.‬‬

‫اندازه خوشه برابر است با تعداد بالکهای خوشه‪.‬‬


‫باکتهای فایل معموالًدر محیط فیزیکی ذخیرهسازی همجوارند‪.‬‬
‫گسترش هم در نهایت تعدادی باکت است و با مفهوم باکت بندی مترادف است‪.‬‬
‫چهار عمل اصلی که انسان با اطالع انجام می دهد عبارتند از ‪ :‬ذخیره ‪ ،‬بازیابی‪ ،‬تولید و پردازش‪.‬‬
‫فایلها از نظر کاربرد به دو رده عادی و راهنما تقسیم می شوند‪ .‬فایل عادی حاوی اطالعات کاربر اسهت‬
‫و فایل راهنما حاوی اطالعات سیستم فایل است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪31‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪: 3‬‬
‫فایل در محیط فیزیکی ‪ -‬مدیریت بالکهای آزاد‬
‫پشتیبان گیری ‪ -‬چگالی لود اولیه ‪ -‬لوکالیتی‬

‫فایل در محیط فیزیکی‬


‫فایل در دیسک به دو نحوه پیوسته و ناپیوسته میتواند ذخیره شود‪ .‬در نشسهت پیوسهته‪ ،‬فایهل در بالکههای‬
‫فیزیکی همجوار روی دیسک ذخیره میشود و در نشست ناپیوسته‪ ،‬تعدادی بالک ناهمجوار به فایل تخصیص‬
‫می یابد‪.‬‬

‫مزایای طرح پیوسته‬


‫‪ -1‬سادگی پیاده سازی‬
‫با داشتن آدرس بالک اول روی دیسک‪ ،‬به بالکهای دیگر میتوان دسترسی پیدا کرد‪.‬‬
‫‪ -2‬باال بودن کارائی‬
‫کل فایل طی یک عمل واحد از روی دیسک خوانده می شود‪.‬‬

‫معایب طرح پیوسته‬


‫‪ -1‬حداکثر اندازه فایل در مرحله ایجاد فایل باید معلوم باشد‪.‬‬
‫‪ -2‬بروز پدیده بندبند شدن فضای دیسک (با تکنیک یکپارچه سازی یا فشرده سازی بر طرف می شود‪).‬‬

‫روش های پیاده سازی طرح نشست ناپیوسته‬


‫‪ -1‬ایجاد لیست پیوندی‬
‫‪ -2‬ایجاد لیست پیوندی به همراه جدول راهنما‬
‫‪(Index-node) I‬‬ ‫‪ -3‬تکنیک گره‬

‫دستیابی تصادفی در لیست پیوندی به همراه جدول راهنما سریع تر از روش ایجاد لیست پیوندی مهی‬
‫باشد‪.‬‬
‫عیب روش ایجاد لیست پیوندی به همراه جدول راهنما در این است کهه کهل جهدول بایهد در حافظهه‬
‫اصلی قرار بگیرد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪32‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ویژگی های روش لیست پیوندی‬


‫‪ -1‬سادگی یافتن بالکهای فایل‬
‫‪ -2‬کند بودن دستیابی تصادفی به رکوردها‬
‫‪ -3‬تکه تکه نشدن حافظه‬
‫‪ -4‬آسان بودن خواندن پی در پی‪.‬‬

‫تکنیک گره ‪I‬‬


‫برای هر فایل جدول کوچکی به نام گره ‪ I‬ایجاد میشود تا بتوان تشخیص داد که کدام بالک دیسک با کهدام‬
‫فایل مرتبط است‪ .‬این جدول شامل صفات خاصه فایل و آدرس بالکهای فیزیکی فایل میباشد‪ .‬برای فایلهای‬
‫بزرگ در مدخلی از این گره‪ ،‬آدرس بالکی از دیسک قرار میگیرد که حاوی آدرسهای بالکههای دیگهر فایهل‬
‫است‪ .‬اگر فایل باز هم بزرگتر بود ‪ ،‬مدخل دیگری باید ایجاد گردد و ‪.....‬‬

‫روش ‪ I-node‬در سیستم عامل ‪ Unix‬به کار میرود‪.‬‬


‫اگر فایل به طور پیوسته روی واحدهای تخصیص ذخیره شود‪ ،‬آنگاه سیستم فایل بهرای دسترسهی بهه‬
‫یک رکورد نیاز به اطالعات "شروع فایل ‪ ،‬طول رکورد منطقی و طول رکورد فیزیکی" دارد ‪.‬‬
‫اگر فایل به طور ناپیوسته ذخیره شود‪ ،‬آنگاه سیستم فایل برای دسترسی به یک رکورد دلخواه عالوه بر‬
‫آدرس شروع فایل به ساختار داده خاصی مثالً یک فایل شاخص یا یک جدول نیاز دارد‪.‬‬
‫از هر دو تخصیص پیوسته و ناپیوسته میتوان در ذخیرهسازی فایلهای با ساختار ترتیبی و غیر ترتیبی‬
‫استفاده کرد‪.‬‬

‫یک فایل در هنگام ذخیرهسازی میتواند در واحدهای تخصیص مانند شیار‪ ،‬خوشه یها اسهتوانه ذخیهره‬
‫شود که البته هر چه اندازه واحد بزرگتر باشد‪ ،‬حافظه هرز بیشتری روی دیسک ایجاد میشود‪.‬‬

‫مدیریت بالکهای آزاد‬


‫برای مدیریت بالکهای آزاد ‪ 2‬طرح وجود دارد‪:‬‬
‫‪ -1‬ایجاد لیستی از چند بالک دیسک‬
‫نقش)‪(Bitmap‬‬ ‫‪ -2‬استفاده از بیت‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪33‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ایجاد لیستی از چند بالک دیسک‬


‫در این روش‪ ،‬در هر بالک شماره بالکهای آزاد قرار می گیرد‪.‬‬
‫‪‬اگر اندازه بالکها یک کیلو بایت و هر شماره بالک در ‪ 32‬بیت نمایش داده شود‪ ،‬در هر بهالک شهماره چنهد‬
‫بالک آزاد را می توان ذخیره کرد؟‬
‫حل‪ :‬تعداد شماره هایی که می توان در یک بالک ذخیره کرد برابر است با‪:‬‬
‫‪1KB 1024 byte‬‬
‫‪‬‬ ‫‪ 256‬‬
‫‪32bit‬‬ ‫‪4 byte‬‬

‫البته چون یک مدخل بالک برای ایجاد نشانه رو به بالک بعدی است‪ ،‬بنابراین در هر بالک می تهوان شهماره‬
‫‪ 255‬بالک آزاد را تخصیص داد‪.‬‬
‫‪‬یک دیسک ‪ 200MB‬که دارای ‪ 200K‬بالک ‪ 1KB‬است‪ ،‬حداکثر به چند بالک برای ایجاد لیسهت نیهاز دارد؟‬
‫(شماره بالک در ‪ 4‬بایت نمایش داده می شود)‬
‫(در انتهای هر بالک یک مدخل ‪ 4‬بایتی برای اشاره به بالک بعدی در نظر گرفته شده است)‬
‫حل‪:‬چون هر آدرس ‪ 4‬بایتی است‪ ،‬مقدار بایت الزم برای تهیه لیست شماره بالکهای آزاد برابر است با‪:‬‬
‫‪200K  4  200  1024  4=819200 Byte‬‬
‫و چون هر بالک ‪ 1KB‬است‪ ،‬تعداد بالک الزم برابر است با‪:‬‬
‫‪819200‬‬
‫‪ 800‬‬
‫‪1024‬‬

‫و چون به ازای هر بالک یک مدخل چههار بهایتی بهرای اشهاره بهه بهالک بعهدی داریهم‪ ،‬مقهدار ‪ 3200‬بایهت‬
‫)‪ (4  800‬به فضای مورد نیاز افزوده خواهد شد‪ .‬بنابراین تعداد بالکهای اضافی مورد نیاز برای نگهداری ایهن‬
‫مدخلها برابر است با‪:‬‬
‫‪ 3200 ‬‬
‫‪ 1024   4‬‬
‫‪‬‬ ‫‪‬‬
‫یعنی ‪ 804‬بالک نیاز است‪.‬‬ ‫‪800+4‬‬ ‫بنابراین در کل به‬

‫استفاده از بیت نقش)‪(Bitmap‬‬


‫‪0‬‬ ‫در این طرح برای دیسکی با ‪ n‬بالک به ‪ n‬بیت نیاز است‪ .‬بالکهای آزاد را با ‪ 1‬و بالکهای تخصیص یافته را با‬
‫نمایش می دهیم‪.‬‬

‫‪‬در طرح ‪ ،Bitmap‬برای دیسکی به ظرفیت ‪ 200‬مگا بایت با بالکهای یک کیلو بایتی‪ ،‬به چنهد بیهت حافظهه‬
‫نیاز است؟‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪34‬‬ ‫ذخیره و بازیابی اطالعات‬

‫حل‪:‬‬
‫تعداد بالکها و در نتیجه تعداد بیت ها برابر است با ‪:‬‬
‫‪200 MB 200  2 20‬‬
‫‪‬‬ ‫‪ 200  210  204800‬‬
‫‪1 KB‬‬ ‫‪1 2‬‬ ‫‪10‬‬

‫تکنیکهای تهیه پشتیبان‬


‫تکنیکهای تولید نسخه پشتیبان از دیسک سخت با ظرفیت زیاد عبارتند از‪:‬‬
‫)‪(Mirroring‬‬ ‫‪ -1‬آینه سازی‬
‫‪ -2‬استفاده از نیمه دو دیسک‬
‫)‪(Incremental dump‬‬ ‫‪ -3‬تولید دامپهای تدریجی‬

‫آینه سازی‬
‫در این روش از دو یا بیش از دو دیسک استفاده میشود‪ .‬در حالت استفاده از دو دیسک‪ ،‬عمل نوشتن در ههر‬
‫دو دیسک انجام میگیرد‪ .‬نوشتن در دیسک آینه کمی با تأخیر صورت میگیرد‪ .‬ولی عمهل خوانهدن فقهط از‬
‫یک دیسک صورت میگیرد‪ .‬وقتی که یکی از دیسکها خراب شود‪ ،‬از دیسک دیگر میتوان استفاده کرد‪.‬‬

‫استفاده از نیمه دو دیسک‬


‫در این روش‪ ،‬هر دیسک به دو نیمه "داده ها و پشتیبان " تقسیم میشود‪ .‬در پایان هر روز کاری نیمهه داده‬
‫ای هر دیسک در قسمت پشتیبان دیسک دیگر کپی میشود‪.‬‬

‫تولید دامپهای تدریجی‬


‫در این روش‪ ،‬ضمن ایجاد نسخه پشتیبان بطور هفتگی یا ماهانه‪ ،‬دامپ فایلهایی کهه از زمهان تولیهد آخهرین‬
‫نسخه پشتیبان تغییر کرده اند‪ ،‬نیز به طور روزانه تولید می شهود‪ .‬ایهن روش بهه حافظهه زیهادی نیهاز دارد و‬
‫معموال از نوار استفاده می شود‪.‬‬

‫چگالی لود اولیه‬


‫میتوان تمامی فضای بالک را در لود اولیه پر نکرد و قسمتی از آن را رزرو کرد تا در‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪35‬‬ ‫ذخیره و بازیابی اطالعات‬

‫اولیهه توسهط درصهدی از‬ ‫لود)‪(Loading density‬‬ ‫عملیات ذخیرهسازی بعدی از این فضا استفاده کرد‪ .‬چگالی‬
‫‪Ld‬‬
‫بدست میآید‪.‬‬ ‫اندازه بالک مشخص میشود که با داشتن نسبت ‪ 1‬‬
‫‪B‬‬

‫مزایای در نظرگرفتن ناحیه رزرو در هر بالک‬


‫‪ -1‬باال رفتن لوکالیتی رکوردهای فایل‬
‫(مثالً درج رکوردی که در بهنگام سازی طول آن افزایش یافته است‪).‬‬ ‫‪ -2‬تسهیل انجام بعضی عملیات روی فایل‬

‫معایب در نظر گرفتن ناحیه رزرو در هر بالک‬


‫‪ -1‬ناحیه رزرو نوعی حافظه هرز است و اندازه فایل را افزایش می دهد و خواندن کل فایل به زمان بیشهتری‬
‫نیاز پیدا میکند‪.‬‬
‫‪ -2‬در صورت عدم توزیع یکنواخت درج رکوردها در بالکها‪ ،‬در فایل بالکهای سبکبار)‪ (Underload‬ایجهاد مهی‬
‫شود و حافظه هرز در انتهای بعضی بالکها باقی می ماند‪.‬‬
‫‪n‬‬
‫‪ Ld ‬بدست آورد‪.‬‬ ‫چگالی لود اولیه را می توان از رابطه ‪ 100‬‬
‫‪b Bf‬‬

‫‪‬فایلی با ‪ 12‬رکورد و فاکتور بالک بندی ‪ 6‬و چگالی لود اولیه ‪ %50‬مفروض اسهت‪ .‬تعهداد بالکههای اشهغال‬
‫شده توسط فایل کدام است؟‬
‫‪‬‬ ‫‪‬‬
‫‪ n   12 ‬‬
‫‪b‬‬ ‫‪‬‬ ‫‪4‬‬
‫‪ l d  B f   ( 50  6) ‬‬
‫‪ 100‬‬ ‫‪‬‬

‫به عبارتی اگر از کل فضای هر بالک استفاده شود‪ ،‬آنگاه به ‪ 2‬بالک نیاز است‪ ،‬ولی چون از نصف فضهای ههر‬
‫بالک استفاده می شود‪ ،‬به ‪ 4‬بالک نیاز است‪.‬‬

‫‪‬فایلی دارای ‪ 10‬رکورد است‪ .‬در صورتیکه این فایل ‪ 4‬بالک را اشغال نمایهد‪ ،‬چگهالی لهود اولیهه آن کهدام‬
‫است؟ (فاکتور بالک بندی =‪)5‬‬
‫حل‪:‬‬
‫‪n‬‬ ‫‪10‬‬
‫‪ld ‬‬ ‫‪ 100 ‬‬ ‫‪ 100  %50‬‬
‫‪b Bf‬‬ ‫‪45‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪36‬‬ ‫ذخیره و بازیابی اطالعات‬

‫لوکالیتی‬
‫میزان همسایگی فیزیکی رکوردهای منطقاً همجوار را لوکالیتی رکوردها میگویند‪.‬‬

‫درجات لوکالیتی‬
‫موارد زیر لوکالیتی قوی به ضعیف را بیان میکند‪:‬‬
‫‪ -1‬رکورد بعدی و رکورد فعلی در یک بالک هستند و بالک در بافراست‪.‬‬
‫‪ -2‬رکورد بعدی در بالک بالفاصله بعدی حاوی رکورد فعلی می باشد و در همان استوانه‪.‬‬
‫‪ -3‬رکورد بعدی در همان استوانه ای قرار دارد که رکورد فعلی قرار دارد‪.‬‬
‫‪ -4‬رکورد بعدی روی استوانه همشماره از دیسک دیگری می باشد‪.‬‬
‫‪ -5‬رکورد بعدی در استوانه همجوار فعلی است‪.‬‬
‫‪ -6‬رکورد بعدی در یک استوانه شناخته شده است و آدرس آن از رکورد فعلی بدست میآید‪.‬‬
‫‪ -7‬رکورد بعدی در استوانه ای ناشناخته است و آدرس آن با انجام محاسباتی بدست میآید‪.‬‬
‫‪ -8‬رکورد بعدی دراستوانه ای ناشناخته است و آدرس آن با مراجعه به فایل دیگری به دست میآید‪.‬‬
‫‪ -9‬رکورد بعدی روی رسانهای است که در حال حاضر روی درایور نیست‪.‬‬
‫تذکر‪:‬در حالت ‪ ، 4‬فایل روی چند دیسک توزیع شده است ‪(.‬تکنولوژی ‪)RAID‬‬

‫نمی باشد‪.‬‬ ‫‪I/O‬‬ ‫فقط در حالت اول در بازیابی نیاز به عملیات‬

‫از حالت پنجم به بعد ‪ ،‬معموال ‪ r>0‬و همیشه ‪ s>0‬است‪.‬‬

‫در فایل ترتیبی کلیهدی )‪ ، (KS‬اگهر فایهل در ابتهدا روی واحهدهای تخصهیص همجهوار ذخیهره شهود‪،‬‬
‫همجواری منطقی و فیزیکی در لود اولیه تأمین میشود‪.‬‬

‫هر چه لوکالیتی رکوردها قویتر باشد‪ ،‬زمان پردازش سریال آنها کمتر خواهد شهد‪ ،‬بنهابراین در مفههوم‬
‫لوکالیتی زمان مستتر است‪.‬‬

‫لوکالیتی در دوره حیات فایل کاهش می یابد بنابراین فایل باید سازماندهی مجدد شود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪37‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪: 4‬‬
‫سطوح نشانی دهی ‪ -‬بافرینگ‬

‫سطوح نشانی دهی‬


‫برنامه فایل پرداز به کمک احکامی از یک زبان برنامه سازی و از طریهق سیسهتم فایهل منطقهی (یها مجهازی‬
‫نهایتا) به محیط فیزیکی ذخیرهسازی دستیابی دارد‪ .‬هر سیستم فایل یک یا چنهد شهیوه دسهتیابی بهه داده‬
‫دارد‪.‬‬

‫سیستم فایل از دو بخش عمده تشکیل شده است‪:‬‬


‫‪ -1‬سیستم فایل منطقی‬
‫این الیه در خواست های برنامه کاربر مانند بازکردن‪ ،‬بستن‪ ،‬خواندن و نوشتن فایل را انجام می دهد‪.‬‬
‫‪ -2‬سیستم فایل فیزیکی‬
‫وظیفه این الیه دسترسی فیزیکی به فایلها در محیط فیزیکی می باشهد‪ .‬بهرای ایهن منظهور درخواسهتهای‬
‫دریافتی از بخش منطقی را به دستوراتی جهت صدور به کنترولر رسانه تبدیل می کند‪.‬‬

‫عملیات اساسی که در محیط فیزیکی انجام می شوند عبارتد از ‪ :‬خواندن از رسانه‪ ،‬نوشهتن در رسهانه و‬
‫پیگرد )‪.(Seek‬‬

‫تذکر‪ :‬سطوح برخورد با فایل عبارتند از‪ :‬سطح برنامه کاربر‪ ،‬سطح سیستم فایل فیزیکی و سطح سیستم فایل‬
‫منطقی‪.‬‬
‫سطوح مختلف نشانی دهی‬
‫سه سطح نشانی دهی وجود دارد‪:‬‬
‫‪ -1‬در سطح برنامه فایل پرداز‬
‫‪ -2‬در سطح سیستم فایل منطقی‬
‫‪ -3‬در سطح سیستم فایل فیزیکی‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪38‬‬ ‫ذخیره و بازیابی اطالعات‬

‫نشانی دهی در سطح برنامه فایل پرداز‬


‫در این سطح به یکی از روشهای زیر به فایل نشانی دهی می شود‪:‬‬
‫کاربر مقدار یک صفت خاصه (کلید یا غیر کلید)را به عنهوان آرگومهان‬ ‫محتوایی‬
‫جستجو می دهد‪.‬‬ ‫(مقداری)‬

‫کاربر آدرس نسبی رکورد )‪ (RRA‬را می دهد ‪ .‬کاربر محیط ذخیهره‬


‫سازی را یک ساختار خطی می بیند که در آن ههر رکهورد شهماره ای‬ ‫نسبی‬
‫دارد ‪ .‬شماره رکورد اول یک فرض می شود‪.‬‬
‫کاربر توسط یک نام ‪ ،‬رکورد مورد نظرش را مشهخص میکنهد و خهود‬ ‫نمادی‬
‫فایل نیز به کمک یک نام در برنامه مشخص می شود‪.‬‬

‫نشانی دهی در سطح سیستم فایل منطقی‬


‫در این سطح از آدرس دهی نسبی‪ ،‬استفاده میشود‪ .‬سیستم فایل منطقهی‪ ،‬کهل فضهای ذخیرهسهازی را بهه‬
‫شکل آرایه ای از بالکها می بیند‪ .‬آدرس بالکها از صفر شروع میشوند که ‪ RBA‬نام دارد‪.‬‬
‫سیستم فایل منطقی‪،‬آدرس داده شده توسط برنامه را به آدرس نسبی بالک حاوی رکورد تبدیل میکند‪:‬‬
‫‪RBAREC  RBABOF  rba REC‬‬
‫که آدرس نسبی بالک حاوی رکورد ‪ ،‬نسبت به ابتدای فایل برابر است با‪:‬‬
‫‪ (i  1)  R ‬‬
‫‪rba REC  ‬‬ ‫‪‬‬
‫‪‬‬ ‫‪B‬‬ ‫‪‬‬
‫تذکر ‪ :‬مقدار ‪ BYTEOFFSETREC‬برابر ‪ (i  1)  R‬می باشد‪.‬‬
‫)‪(i-1‬‬ ‫تذکر‪ :‬اگر شماره اولین رکورد را به جای یک ‪ ،‬صفر در نظر بگیریم‪ ،‬آنگاه در رابطه ههای بهاال بهه جهای‬
‫باید از ‪ i‬استفاده کرد‪.‬‬
‫‪ RBA ‬آدرس نسبی رکورد دهم از کدام بایت شروع می شود و چقدر می باشد؟‬
‫)‪( R  250, B  1000, n  12, RBABOF  6‬‬
‫حل‪:‬‬
‫‪RRA  (i  1)  R  (10  1)  250  2250‬‬
‫‪ (10  1)  250 ‬‬
‫‪RBA(10)  6  ‬‬ ‫‪  62 8‬‬
‫‪‬‬ ‫‪1000‬‬ ‫‪‬‬

‫بنابراین ‪ RBA‬آدرس نسبی رکورد دهم از بایت ‪ 2250‬ام شروع می شود و برابر ‪ 8‬می باشد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪39‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪ ‬فایلی با رکوردهای ‪ 20‬بایتی و بالکهای ‪ 60‬بایتی را در دیسکی با ‪ 4‬شیار در هر سهیلندر و ‪ 10‬بهالک در‬
‫هر شیار ذخیره کرده ایم‪ .‬مقدار ‪ RBA‬را برای هشتمین رکورد بدست آورید؟‬

‫حل‪:‬‬
‫‪ (8  1)  20 ‬‬
‫‪RBA  0  ‬‬ ‫‪  2.3  2‬‬
‫‪‬‬ ‫‪60‬‬ ‫‪‬‬

‫روش دوم‪:‬‬
‫از آنجا که در هر بالک‪ ،‬سه رکورد ذخیره می شود‪ ،‬با توجه به شکل سیلندر اول دیسهک کهه در زیهر آمهده‪،‬‬
‫رکورد ‪1‬و‪2‬و‪ 3‬در ‪ ، B0‬رکورد ‪4‬و‪5‬و‪ 6‬در ‪ B1‬و رکورد ‪7‬و‪8‬و‪ 9‬در ‪ B2‬ذخیره شده اند‪ .‬یعنهی هشهتمین رکهورد‬
‫در ‪ B2‬ذخیره شده است‪.‬‬

‫را برای رکورد هشتم بدست آورید؟‬ ‫‪RBA‬‬ ‫‪‬در مثال قبل با فرض اینکه ‪ RBABOF  5‬فایلی‪،‬‬
‫‪ (8  1)  20 ‬‬
‫‪RBA  5  ‬‬ ‫‪7‬‬
‫‪‬‬ ‫‪60‬‬ ‫‪‬‬
‫به عبارتی چون ‪ ، RBABOF  5‬بنابراین بالک ‪ B0‬را ‪ B5‬می نامیم‪ .‬بنابراین رکهورد ‪1‬و‪2‬و‪ 3‬در ‪ ، B5‬رکهورد ‪4‬‬
‫و‪ 5‬و ‪ 6‬در ‪ B6‬و رکورد ‪7‬و‪8‬و‪ 9‬در ‪ B7‬ذخیره شده اند‪ .‬یعنی هشتمین رکورد در ‪ B7‬ذخیره شده است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪40‬‬ ‫ذخیره و بازیابی اطالعات‬

‫نشانی دهی در سطح سیستم فایل فیزیکی‬


‫در این سطح‪ ،‬آدرس مکان داده مورد نظر در رسانه مشخص میشود‪ .‬اگر رسانه دیسهک باشهد‪ ،‬اجهزاء آدرس‬
‫عبارتند از‪:‬‬
‫‪ -1‬شماره درایور‬
‫‪ -2‬شماره استوانه‬
‫‪ -3‬شماره رویه (شیار از استوانه)‬
‫‪ -4‬شماره سکتور از شیار( یا شماره بالک)‬
‫سیستم فایل فیزیکی‪ RBA ،‬را به آدرس فیزیکی تبدیل میکند‪ .‬برای این تبدیل چنین عمل می کند‪:‬‬

‫تذکر‪ :‬تعداد شیار در هر استوانه را با ‪ t i‬و تعداد بالک در هر شیار را با ‪ bi‬نمایش می دهیم ‪ .‬مشهخص اسهت‬
‫که ‪ ti  bi‬نشان دهنده ظرفیت یک سیلندر به بالک است‪.‬‬
‫نحوه محاسبه اجزاء آدرس‬
‫) ‪Cyl #  RBA div (t i  bi‬‬ ‫شماره استوانه‬

‫‪Trk #  [ RBA mod (t i  bi )] div bi‬‬ ‫شماره شیار‬


‫‪Blk #  RBA mod bi‬‬ ‫شماره بالک‬

‫از ‪ RBA  RBABeginofdevice‬اسهتفاده شهود‪.‬‬ ‫‪RBA‬‬ ‫تذکر‪ :‬در فرمولهای جدول باال‪ ،‬در حالت کلی باید به جهای‬
‫(در روابط باال فرض کردیم که ‪) RBABeginOfDevice  0 :‬‬

‫تذکر ‪ :‬شماره اولین شیار هر سیلندر صفر می باشد‪.‬‬

‫‪ ‬فایلی با رکوردهای ‪ 20‬بایتی و بالکهای ‪ 40‬بایتی را در دیسکی با ‪ 4‬شیار در هر سهیلندر و ‪ 10‬بهالک در‬
‫هر شیار ذخیره کرده ایم‪ .‬مقادیر ‪ CYL#,TRK#,BLK#‬را برای رکورد ‪ 44‬ام بدست آورید؟‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪41‬‬ ‫ذخیره و بازیابی اطالعات‬

‫حل ‪:‬‬
‫ابتدا ‪ RBA‬را بدست می آوریم‪:‬‬
‫‪ (44  1)  20   43 ‬‬
‫‪RBA( 44)  0  ‬‬ ‫‪   2   21‬‬
‫‪‬‬ ‫‪40‬‬ ‫‪  ‬‬

‫‪cyl #  21 div (10  4)  0‬‬

‫‪trk #  [21 mod (10  4)] div 10  2‬‬

‫‪blk #  21 mod 10  1‬‬

‫در شکل زیر دو سیلندر از دیسک نشان داده شده است‪ .‬اولین سیلندر (سیلندر بها شهماره صهفر) شهامل ‪40‬‬
‫بالک از شماره ‪ 0‬تا ‪ 39‬و دومین سیلندر (سیلندر با شماره یک) شامل ‪ 40‬بالک از شهماره ههای ‪ 40‬تها ‪79‬‬
‫می باشد‪ .‬در شکل مشخص است که رکورد شماره ‪ 44‬ام با ‪ ، RBA=21‬در شیار شماره دو مربو بهه سهیلندر‬
‫شماره صفر قرار دارد‪.‬‬

‫همچنین با توجه به شکل به سادگی مشخص است که ‪ BLK#‬این رکورد برابر یهک اسهت‪ ،‬چهون متنهاظر بها‬
‫بالک شماره یک از آن شیار است‪ .‬به عنوان مثال ‪ BLK#‬برای بالک با هر یک از شهماره ههای ‪1‬و‪11‬و‪21‬و‪31‬‬
‫برابر ‪ 1‬می باشد‪ ،‬چون شماره بالک آنها در شیار مربو به آنها برابر یک می باشد‪.‬‬
‫‪ ‬محدوده آدرس نسبی بالک در دیسکی با مشخصات زیر کدام است؟‬
‫(تعداد استوانه = ‪ ، 10‬تعداد شیار در استوانه = ‪ ، 5‬تعداد بالک در شیار = ‪) 4‬‬
‫حل‪ :‬ظرفیت دیسک برابر ‪ 10  5  4  200‬بالک می باشد‪ ،‬بنابراین داریم ‪:‬‬
‫‪0  RBA  199‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪42‬‬ ‫ذخیره و بازیابی اطالعات‬

‫نحوه محاسبه شماره درایور‬


‫شماره درایور در حالتی که دو رسانه با ظرفیت های ‪ S1‬و ‪ S 2‬داشته باشیم‪ ،‬از رابطه زیر محاسبه می شود‪:‬‬

‫‪1‬‬ ‫‪0  RBA  S1  1‬‬


‫‪DR # ‬‬
‫‪2‬‬ ‫‪S1  RBA  S1  S 2  1‬‬

‫‪‬با فرض وجود دو رسانه زیر‪ ،‬طیف مقادیر ‪ RBA‬در کل فضای ذخیره سازی چیست؟‬

‫نوع رسانه‬ ‫تعداد شیار در استوانه تعداد استوانه‬ ‫تعداد بالک در شیار‬
‫‪D1‬‬ ‫‪c1‬‬ ‫‪t1‬‬ ‫‪b1‬‬

‫‪D2‬‬ ‫‪c2‬‬ ‫‪t2‬‬ ‫‪b2‬‬

‫حل‪ :‬از آنجا که ظرفیت ‪ D1‬برابر ‪ c1  t1  b1‬و ظرفیت ‪ D2‬برابر ‪ c2  t 2  b2‬می باشد‪ ،‬محهدوده ‪ RBA‬برابهر‬
‫است با ‪0  RBA  (c1  t1  b1  c2  b2  t 2  1) :‬‬

‫‪ ‬با فرض وجود سه رسانه زیر‪ ،‬طیف مقادیر ‪ RBA‬در کل فضای ذخیره سازی چیست؟‬

‫نوع رسانه‬ ‫تعداد استوانه‬ ‫تعداد شیار در استوانه‬ ‫تعداد بالک در شیار‬
‫‪D1‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪7‬‬

‫‪D2‬‬ ‫‪2‬‬ ‫‪5‬‬ ‫‪8‬‬

‫‪D3‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪9‬‬

‫حل‪ :‬ظرفیت دیسک اول ‪ 28‬بالک‪ ،‬دیسک دوم ‪ 80‬بالک و دیسک سوم ‪ 162‬بالک می باشد‪ .‬بنابراین داریم‪:‬‬

‫‪0  RBA  (28  80  162)  1‬‬ ‫‪‬‬ ‫‪0  RBA  269‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪43‬‬ ‫ذخیره و بازیابی اطالعات‬

‫بافر‬
‫بافر ناحیه ای واسط در عملیات ورودی و خروجی که برای ایجهاد همهاهنگی بهین عملیهات ‪ I/O‬و ‪ CPU‬بکهار‬
‫میرود‪ .‬در بافر حداقل یک رکورد یا یک بالک (در حالهت فایهل بهالک بنهدی شهده) قهرار داده میشهود‪ .‬در‬
‫سیستم فایل‪ ،‬بافر معموال از منطقه ای از حافظه اصلی به برنامه فایل پرداز تخصیص داده می شود‪ ،‬که به آن‬
‫‪ )Buffers‬می گویند‪.‬‬ ‫(‪Pool‬‬ ‫منطقه بافرها‬
‫بافرینگ باعث افزایش کارایی سیستم در پردازش فایل است‪.‬‬
‫بافرینگ در محیط چند برنامهای‪ ،‬کارایی سیستم و برنامه را افزایش می دهد‪.‬‬

‫نحوه ایجاد بافرها‬


‫بافرها به سه روش ساخته می شوند‪:‬‬
‫‪ -1‬با ایجاد ناحیه ای از حافظه در برنامه و با اجرای یک ماکرو که محتوای بافر را با فایلههای تحهت پهردازش‬
‫مرتبط می کند‪( .‬در این حالت برنامه ساز خود بافر را ایجاد می کند)‬
‫‪ -2‬با اجرای یک ماکرو‪ ،‬که از سیستم عامل درخواست ایجاد بافر می کند‪.‬‬
‫فایهل‪،‬‬ ‫‪ -3‬خود سیستم عامل وقتی که فایل باز می شود‪ ،‬اقدام به ایجاد بافر می کند و پس از بسته شدن‬
‫بافر را باز پس می گیرد‪.‬‬

‫انواع بافرینگ از نظر تعداد بافرها‬


‫از این لحاظ‪ ،‬انواع بافرینگ به سه دسته ساده‪ ،‬مضاعف و چندگانه تقسیم می شود‪.‬‬

‫بافرینگ ساده )‪( Single‬‬


‫از یک بافر استفاده میشود‪ .‬هنگامی که بافر در حال پر شدن است‪ CPU ،‬در حالت عاطل )‪ (idle‬قرار دارد‪.‬‬

‫بافرینگ مضاعف )‪(Double‬‬


‫در بافرینگ مضاعف از دو بافر استفاده میشود‪ .‬در هنگامی که یک بالک خوانده میشهود و بهه بهافر منتقهل‬
‫میشود‪ ،‬بافر پر دیگر پردازش میشود‪ .‬بدیهی است زمانی را که ‪ CPU‬برای پردازش محتوای یک بافر مصهرف‬
‫میکند‪ ،‬باید از زمانی که پرازنده ‪ I/O‬و کنترل کننده دیسک برای انتقال بالک به یک بافر الزم دارنهد‪ ،‬کمتهر‬
‫باشد‪ .‬به عبارتی داشته باشیم ‪ . C B  btt :‬اگر این شر برقرار نباشد یعنی ‪ ، C B  btt‬بافرینگ مضاعف دیگر‬
‫کارایی نخواهد داشت و نرخ انتقال واقعی کاهش می یابد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪44‬‬ ‫ذخیره و بازیابی اطالعات‬

‫شر کارایی بافرینگ مضاعف را می توان به صورتهای زیر نیز نوشت‪:‬‬


‫‪BG‬‬ ‫‪R  WR‬‬
‫‪1 ) C B  btt‬‬ ‫‪2) C B ‬‬ ‫‪3) C R ‬‬
‫‪t‬‬ ‫‪t‬‬

‫‪B‬‬
‫‪ :‬نرخ انتقال رسانه‬ ‫‪t‬‬ ‫و‬ ‫‪ : btt ‬زمان انتقال یک بالک‬
‫‪t‬‬
‫‪ : C R‬زمان پردازش محتوای رکورد‬ ‫‪ : C B‬زمان پردازش محتوای بالک و‬
‫‪ :‬طول رکورد‬ ‫‪R‬‬ ‫و‬ ‫‪ :‬طول بالک‬ ‫‪B‬‬ ‫‪ :‬طول گپ و‬ ‫‪G‬‬

‫در حالت عدم وجود شر کارایی یعنی ‪ ، C B  B  G‬سیستم ابتدا دو بالک در دو بهافر مهی خوانهد و‬
‫‪t‬‬
‫پردازش می کند‪ .‬وقتی که در همین دور دیسک‪ ،‬آغاز بالک سوم به زیر نهوک خواندنشنوشهتن برسهد‪،‬‬
‫بافر اول هنوز اشغال است و لذا سیستم نمی تواند بالک سوم را بخواند‪ .‬بدین ترتیب بهرای خوانهدن دو‬
‫(البته با فرض ‪) C B  r‬‬ ‫بالک بعدی‪ ،‬به اندازه یک دور دیسک باید انتظار کشید‪.‬‬
‫‪ ‬مطلوب است حداکثر زمان الزم برای پهردازش یهک بهالک در بافرینهگ مضهاف کهارا بهرای رسهانه ای بها‬
‫مشخصات داده شده؟‬
‫بایت‪ ،‬نرخ انتقال =‪ 30‬بایت بر میلی ثانیه)‬ ‫‪G‬‬ ‫‪B ‬و‬ ‫(‬
‫حل ‪:‬‬
‫‪BG‬‬ ‫‪180  30‬‬
‫‪CB ‬‬ ‫‪ CB ‬‬ ‫‪ C B  7ms‬‬
‫‪t‬‬ ‫‪30‬‬
‫بنابراین ‪ C B‬حداکثر می تواند ‪ 7‬میلی ثانیه باشد‪.‬‬
‫‪ ‬برای خواندن ‪ 4‬بالک از دیسک و پردازش آنها ‪ ،‬زمان اجرای عملیات فوق در صورت اسهتفاده از بافرینهگ‬
‫مضاعف (یک بافر ورودی و بافر دیگر برای پردازش) چند میلی ثانیه است؟‬
‫(زمان خواندن=‪ 8‬میلی ثانیه)(زمان پردازش=‪ 2‬میلی ثانیه)(ظرفیت بافر= یک بالک)‬
‫حل ‪:‬‬
‫مراحل کار به صورت زیر است‪:‬‬
‫‪ -1‬خواندن ‪ B1‬به بافر اول‬
‫‪ -2‬خواندن ‪ B2‬به بافر دوم و پردازش همزمان ‪B1‬‬
‫‪ -3‬خواندن ‪ B3‬به بافر اول و پردازش همزمان ‪B2‬‬
‫‪ -4‬خواندن ‪ B4‬به بافر دوم و پردازش همزمان ‪B3‬‬
‫‪ -5‬پردازش ‪B4‬‬
‫بنابراین زمان اجرای عملیات برابر است با‪:‬‬
‫‪8+8+8+8+2=34 ms‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪45‬‬ ‫ذخیره و بازیابی اطالعات‬

‫در مراحل ‪2‬و‪3‬و‪ ،4‬عملیات خواندن و پردازش به صورت همزمان انجام می گیرد و چون زمان خواندن برابر ‪8‬‬
‫میلی ثانیه و زمان پردازش برابر ‪ 2‬میلی ثانیه است‪ ،‬در هر کدام از این مراحل بزرگترین زمان یعنی ‪ 8‬میلهی‬
‫ثانیه تاثیر گذار است‪.‬‬

‫بافرینگ چندگانه معموال به صورت چرخشی پیاده سازی می شود‪ ،‬بهه همهین علهت بهه آن بافرینهگ‬
‫چرخشی )‪ (Circular‬هم می گویند‪.‬‬

‫روشهای دسترسی برنامه به محتوای بافر‬


‫برنامه به دو روش انتقالی و مکان نمایی می تواند به محتوای بافر دستیابی داشته باشد‪.‬‬

‫اسلوب انتقالی )‪(Move mode‬‬


‫رکورد از بافر ورودی به ناحیه کاری برنامه یا از ناحیه کاری به بافر خروجی منتقل می شهود‪ .‬بهالک بنهدی و‬
‫بالک گشایی توسط سیستم انجام می شود‪ .‬برنامه در این روش به بافر دسترسی ندارد و بافر خهاص خهود را‬
‫دارد‪.‬‬

‫اسلوب مکان نمائی )‪(Locate mode‬‬


‫مکان بافر حاوی رکورد به برنامه فایل پرداز داده میشود‪ ،‬مثال با گذاشهتن آدرس آن در یهک ثبهات‪ .‬در ایهن‬
‫روش کاربر از همان بافر به عنوان ناحیه کاری استفاده می کند و بالک بندی و بهالک گشهایی توسهط خهود‬
‫برنامه انجام می شود‪ .‬به این روش اسلوب تعویضی نیز می گویند‪.‬‬

‫استفاده از روشهای انتقالی و مکان نمائی در هر یک از دو عمل ورودی یا خروجی یا هر دو امکان پذیر‬
‫است‪.‬‬

‫در هنگامی که در بافر ورودی و خروجی از اسلوب انتقالی استفاده میشود‪ ،‬ناحیه کاری در خارج بافرها‬
‫قرار دارد‪.‬‬
‫انتقال رکوردها به ناحیه کاری کاربر در روش انتقالی زمانگیر است که در اسلوب مکان نمهایی بهه ویهژه‬
‫در حالت استفاده از بافرینگ مضاعف این اتالف زمانی وجود ندارد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪46‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪‬شکل زیر معرف استفاده از اسلوب انتقالی در ورودی و اسلوب مکان نمایی در خروجی می باشد‪:‬‬

‫ارتباط عملیات خواندن‪/‬نوشتن با نحوه بافرینگ‬


‫با توجه به تعداد بافر و اینکه سیستم با چه اسلوبی عمل می کند‪ ،‬پنج حالت به شرح زیر ممکن است وجهود‬
‫داشته باشد‪:‬‬
‫بافر نداریم و فقط ناحیهه کهاری داریهم‪ .‬الف‪ -‬نمی توان بالک بندی انجام داد‪.‬‬
‫ب‪ -‬رکوردها به طور مجزا به ناحیه کاری کاربر در حافظهه منتقهل مهی‬ ‫(روش مبنایی)‬
‫شوند‪.‬‬
‫ج‪ -‬عمل خواندن‪ ،‬رکورد به رکورد انجام می شود‪.‬‬
‫الف‪ -‬می توان بالک به بالک خواند یا نوشت‪.‬‬ ‫یک بافر داریم و ناحیه کاری نداریم‪.‬‬
‫ب‪ -‬عملیات خواندن یا نوشتن پیشرس توسط کاربر‪ ،‬امکان پذیر نیست‪.‬‬
‫الف‪ -‬می توان بالک به بالک خواند‪.‬‬ ‫یک بافر داریم ویک ناحیه کاری داریم‪.‬‬
‫(در اثناء پردازش آخهرین رکهورد‬ ‫ب‪ -‬بالک بعدی را می توان خواند یا نوشت‬
‫بالک)‬
‫پردازش محتوای یک بافر در اثناء پر یا خالی شدن بافر دیگر انجام مهی‬ ‫دو بافر داریم و ناحیه کاری نداریم‪.‬‬
‫گیرد‪.‬‬
‫کامل بودن همروندی بین پردازش رکوردها و عملیات ورودیشخروجی‪.‬‬ ‫دو بافر داریم و ناحیه کاری هم داریم‪.‬‬

‫در حالتهایی که ناحیه کاری نداریم‪ ،‬از اسلوب مکان نمایی و در حالتههایی کهه ناحیهه کهاری داریهم‪ ،‬از‬
‫اسلوب انتقالی استفاده می شود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪47‬‬ ‫ذخیره و بازیابی اطالعات‬

‫حاالت ممکن در عمل خواندن از نوار به روش انتقالی با یک بافر‬


‫‪ )1‬کار پردازنده ورودیشخروجی درست در همان زمانی که توسط پردازنده اصلی وارسی می شود‪ ،‬تمام شود‪.‬‬
‫باشد‪(C B  btt )..‬‬ ‫‪ )2‬کار پردازنده ورودیشخروجی تمام شده باشد و در حال انتظار‬
‫) ‪(C B  btt‬‬ ‫‪ )3‬کار پردازنده ورودیشخروجی تمام نشده باشد و پردازنده مرکزی در حال انتظار باشد‪.‬‬

‫انواع بافر از نظر محل ایجاد‬


‫بافر از نظر محل ایجاد به دو نوع سخت افزاری و نرم افزاری تقسیم می شود‪.‬‬
‫بافر سخت افزاری‬
‫بافر موجود در دستگاههایی مانند کارت خوان یا چاپگر می باشد که تعداد کمی کاراکتر در آن قرار می گیرد‬
‫و بعد از پر شدن به آن کانال تخصیص داده مهی شهود تها داده از محهیط بهرون ماشهینی بهه محهیط درون‬
‫ماشینی منتقل شود‪.‬‬
‫بافر نرم افزاری‬
‫ناحیه ای در حافظه اصلی یا حافظه پنهان ‪ ،‬که توسهط سیسهتم عامهل در اختیهار برنامهه ههای فایهل پهرداز‬
‫گذاشته میشود‪.‬‬

‫تذکر‪ :‬زمان پردازش انبوه فایل به عوامل " نوع بافرینگ ‪ ،‬نحوه دستیابی برنامه به رکوردهها و زمهان پهردازش‬
‫محتوای بالک" بستگی دارد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪48‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪:5‬‬
‫ظرفیت واقعی نوار‪ -‬نرخ انتقال واقعی نوار‬
‫ظرفیت واقعی دیسک ‪ -‬نرخ انتقال واقعی دیسک‬

‫ظرفیت واقعی نوار‬


‫ظرفیت واقعی با داشتن ظرفیت اسمی نوار به صورت زیر بدست میآید ‪:‬‬
‫‪B‬‬
‫‪SE ‬‬ ‫‪.S N‬‬
‫‪BG‬‬

‫( ‪ : S N‬ظرفیت اسمی نوار که برابر ‪ L  D‬می باشد‪ .‬که ‪ L‬طول نوار و ‪ D‬چگالی نوار میباشد‪).‬‬
‫تذکر‪ :‬می توان در محاسبه دقیقتر عمل کرد و به جای ‪ B‬از '‪ B  WB‬استفاده کرد‪ : WB' ( .‬میزان حافظه هرز‬
‫به ازاء یک بالک‪ ،‬غیر از گپ است‪.‬‬
‫‪ ، 1600‬ظرفیت اسمی و تعهداد بالکههای ذخیهره شهده در نهوار‬ ‫چگالی‪bpi‬‬ ‫‪‬در یک نوار به طول ‪ 2400‬فوت و‬
‫کدام است؟(هر فوت برابر ‪ 12‬اینچ است)‬
‫) ‪(B=2000 byte , R=200 byte , IBG=0.6 inch‬‬
‫حل‪:‬‬
‫‪S N  L.D  2400  12  1600  4608  10 4 byte‬‬
‫و تعداد بالکهای ذخیره شده در نوار برابر است با ‪:‬‬
‫‪‬‬ ‫‪‬‬
‫‪ L ‬‬ ‫‪‬‬ ‫‪2400  12 ‬‬
‫‪b‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪  15567‬‬
‫‪ B  G   2000  0.6 ‬‬
‫‪ 1600‬‬ ‫‪‬‬
‫تذکر‪ :‬در رابطه باال مقدار ‪ B‬را به واحد اینچ تبدیل کرده ایم تا صورت و مخرج کسر هم واحد باشد‪.‬‬
‫(برای تبدیل اندازه بالک از بایت به اینچ کافی است به چگالی تقسیم شود‪).‬‬

‫‪‬در یک نوار مغناطیسی‪ ،‬ظرفیت واقعی ‪8‬ش‪ 0‬ظرفیت اسمی آن است‪ .‬از طرفی طهول ههر بهالک داده ‪1200‬‬
‫بایت و چگالی‪ 300‬بایت در اینچ فرض شده است‪ .‬طول هر گپ در این نوار چند اینچ است؟‬
‫حل ‪:‬‬
‫‪B‬‬
‫‪SE ‬‬ ‫‪.S N‬‬
‫‪BG‬‬
‫‪B‬‬
‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ G ‬‬ ‫‪byte  G ‬‬ ‫‪ inch‬‬
‫‪BG‬‬ ‫‪G‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪49‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪B‬‬
‫می باشد‪( .‬فضای مفید به فضای کل)‬ ‫درصد استفاده واقعی از نوار برابر ‪100‬‬
‫‪BG‬‬
‫‪‬نواری با مشخصات زیر مفروض است‪ .‬درصد استفاده واقعی از نوار وقتی کهه فهایلی بها ‪ 10000‬رکهورد ‪80‬‬
‫بایتی را در آن ذخیره کرده ایم‪ ،‬کدام است؟‬
‫‪B f  70, IBG  0.5inch, D  1600dpi‬‬
‫حل ‪:‬‬
‫‪B  Bf  R ‬‬ ‫‪‬‬ ‫‪‬‬ ‫)‪) BYTE‬‬
‫‪G . ‬‬ ‫‪‬‬ ‫) ‪( BYTE‬‬

‫‪‬‬ ‫‪%‬‬ ‫‪.‬‬ ‫=درصد استفاده واقعی‬


‫‪‬‬

‫گپ عامل اصلی کاهنده ظرفیت واقعی نسبت به ظرفیت اسمی میباشند‪.‬‬

‫اندازه بالک با توجه به نوع دستگاه ذخیرهسازی‪ ،‬نوع سیستم عامل و امکانات درایور تعیین میشود‪ .‬اگر‬
‫طول بالک خیلی کوچک باشد ‪ ،‬تعداد‪ IBG‬ها زیاد شده و در نتیجه حافظه ههرز روی نهوار زیهاد خواههد‬
‫شد‪.‬‬

‫نوار را به دو روش بالکی و جریانی می توان خواند‪ .‬در روش بالکی )‪ ، (Block mode‬نهوار بعهد از خوانهده‬
‫‪ ،(Stream‬نهوار بعهد از خوانهده شهدن ‪ N‬بهالک مهی‬ ‫)‪mode‬‬ ‫شدن یک بالک می ایستد و در روش جریانی‬
‫ایستد‪.‬‬

‫محاسبه نرخ انتقال واقعی نوار‬


‫پارامترهای طول گپ)‪ ،(G‬طول بالک)‪ ،(B‬نرخ انتقال اسمی)‪ (t‬و زمهان حرکهت‪ -‬توقهف ( ‪ ،) ‬در ارزیهابی نهرخ‬
‫انتقال واقعی نوار دخالت دارند‪ .‬نرخ انتقال واقعی نوار در حالت اسلوب بالکی از رابطه زیر محاسبه می شود‪:‬‬
‫‪B‬‬
‫‪t' ‬‬
‫‪B G‬‬ ‫‪‬‬
‫‪ ‬‬
‫‪t‬‬ ‫‪t 1000‬‬
‫و در اسلوب جریانی‪ ،‬از رابطه محاسبه می شود‪:‬‬
‫‪NB‬‬
‫‪t' ‬‬
‫‪NB NG‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪t‬‬ ‫‪t‬‬ ‫‪1000‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪50‬‬ ‫ذخیره و بازیابی اطالعات‬

‫نرخ انتقال واقعی‪ ،‬یک تابع هموگرافیک از ‪ B‬است که به ‪ N‬و ‪ G‬هم بستگی دارد‪.‬‬
‫‪B G‬‬ ‫‪‬‬ ‫‪B‬‬
‫می باشد‪.‬‬ ‫‪ ‬‬ ‫و زمان واقعا سپری شده برابر‬ ‫زمان خواندن یک بالک برابر‬
‫‪t‬‬ ‫‪t‬‬ ‫‪t‬‬
‫‪‬زمان واقعی خواندن هر بالک در نواری با مشخصات زیر چند ثانیه است؟‬
‫‪B‬‬
‫‪( B  250(byte), G  60(byte),  25(ms),‬‬ ‫) )‪ 8( s‬‬
‫‪t‬‬
‫حل‪:‬‬
‫‪B‬‬ ‫‪B 250‬‬ ‫‪byte‬‬
‫‪8t  ‬‬ ‫( ‪ 31.25‬‬ ‫)‬
‫‪t‬‬ ‫‪8‬‬ ‫‪8‬‬ ‫‪s‬‬
‫‪B G‬‬ ‫‪‬‬ ‫‪60‬‬ ‫‪25‬‬
‫‪ ‬‬ ‫‪8‬‬ ‫‪‬‬ ‫‪ 9.945 s‬‬
‫‪t‬‬ ‫‪t 1000‬‬ ‫‪31.25 1000‬‬

‫ارزیابی دیسک‬
‫برای دیسک نیز دو پارامتر بررسی شده برای نوار یعنی ظرفیت واقعهی و نهرخ انتقهال واقعهی را بررسهی مهی‬
‫کنیم‪.‬‬
‫ظرفیت واقعی دیسک‬
‫نحوه فرمت بندی شیار در ارزیابی ظرفیت واقعی دیسک مؤثر است‪ .‬دیدیم که هر بالک با طول ‪ ،B‬دارای یک‬
‫بخش پیشوندی به طول ‪ C‬می باشد‪ .‬اگر ظرفیت اسمی شیار را ‪ C NT‬بنامیم‪ ،‬در صد استفاده واقعی از فضای‬
‫شیار در یک دیسک برابر است با ‪:‬‬
‫‪B.T f‬‬
‫‪c‬‬ ‫‪ET‬‬
‫‪‬‬ ‫‪‬‬
‫‪c‬‬ ‫‪NT‬‬

‫‪‬‬ ‫‪‬‬
‫که فاکتور شیار بندی از رابطه ‪ T f   c NT ‬بدست می آید‪ .‬البته اگر بخهواهیم دقیقتهر عمهل کنهیم‪ ،‬بهه‬
‫‪C  B ‬‬
‫جای ‪ B‬از '‪ B  WB‬استفاده می کنیم‪.‬‬
‫‪ ‬میخواهیم فایلی با بالکهای ‪ 1200‬بایتی با فاکتور بالک بندی ‪ 12‬را روی دیسکی با طول شهیار ‪19000‬‬
‫بایت ذخیره کنیم‪ .‬با فرض اینکه بخش کنترلی هر بالک ‪ 170‬بایت باشد‪ ،‬درصهد اسهتفاده واقعهی از فضهای‬
‫شیار کدام است؟‬
‫حل‪:‬‬
‫‪‬‬ ‫‪  19000 ‬‬
‫‪T f   c NT  = ‬‬ ‫‪  13‬‬
‫‪ C  B  170  1200 ‬‬

‫‪= 1200  13  100  %82‬‬


‫‪B.T f‬‬
‫‪c ET ‬‬ ‫‪‬‬
‫‪19000‬‬
‫‪c NT‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪51‬‬ ‫ذخیره و بازیابی اطالعات‬

‫میزان واقعی استفاده از شیار به نحوه بالک بندی و فرمت کردن شیار بستگی دارد‪.‬‬

‫وقتی اندازه بالک کوچک است‪ ،‬برای افزایش میزان استفاده واقعی از شیار باید ‪ B f‬را زیاد کرد‪.‬‬

‫میزان استفاده واقعی از حافظه در دیسکهای سکتوربندی شده‬


‫میزان استفاده واقعی از حافظه در دیسکهای سکتوربندی شده برابر است با ‪:‬‬
‫‪R  Bf‬‬
‫‪E‬‬ ‫‪‬‬
‫‪N  LS‬‬
‫( ‪ : N‬تعداد سکتور مورد نیاز برای ذخیره یک بالک ‪ : Ls ،‬طول سکتور)‬
‫‪B‬‬
‫تذکر‪ :‬در صورتی که مقدار ‪ N‬داده نشده باشد‪ ،‬می توان از رابطه ‪ N   ‬آن را محاسبه کرد‪.‬‬
‫‪ Ls ‬‬
‫‪ ‬فایلی با طول رکوردهای ‪ 160‬بایت و طول سکتور ‪ 256‬بایت مفهروض اسهت‪ .‬بها فهرض ‪ ، B f ‬میهزان‬
‫استفاده واقعی از دیسک چند درصد است؟‬
‫حل‪ :‬شکل زیر نشان می دهد که برای ذخیره یک بالک ‪ 640‬بایتی (شامل ‪ 4‬رکورد ‪ 160‬بایتی)‪ ،‬نیاز بهه ‪3‬‬
‫سکتور ‪ 256‬بایتی می باشد‪:‬‬

‫رکورد ‪1‬‬ ‫رکورد ‪2‬‬ ‫رکورد ‪3‬‬ ‫رکورد ‪4‬‬


‫سکتور ‪1‬‬ ‫سکتور ‪2‬‬ ‫سکتور ‪3‬‬
‫بنابراین میزان استفاده واقعی از دیسک برابر است با ‪:‬‬
‫‪R  Bf‬‬ ‫‪‬‬
‫=‪E‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪%‬‬
‫‪N  LS‬‬ ‫‪‬‬

‫تذکر‪ :‬کاهش ‪ %17‬از میزان استفاده واقعی به علت خالی ماندن ‪ 128‬بایت در انتهای سکتور سوم است‪:‬‬
‫)‪(3  256  640  128‬‬

‫انتخاب اندازه بالک و فاکتور بالک بندی و تکنیک بالک بندی‪ ،‬در میزان حافظه هرز تاثیر می گذارد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪52‬‬ ‫ذخیره و بازیابی اطالعات‬

‫در دیسک با سکتوربندی سخت افزاری‪ ،‬باید تعداد درستی از رکوردها در تعهداد درسهتی از سهکتورها‬
‫قرار گیرد تا حافظه هرز انتهای شیار زیاد نشود‪.‬‬

‫نرخ انتقال واقعی دیسک‬


‫نرخ انتقال واقعی دیسک را در دو حالت دسترسی مستقیم و دسترسی ترتیبی بررسی می کنیم‪.‬‬
‫الف ‪ -‬در حالت دستیابی مستقیم به بالک‬
‫‪B‬‬
‫‪t( D) ‬‬
‫‪s  r  btt‬‬
‫( ‪: s  r  btt‬زمان خواندن مستقیم یک بالک)‬
‫البته برای ارزیابی دقیق تر نرخ انتقال واقعی می توان به جای ‪ B‬از ‪ B  WB‬استفاده کرد‪.‬‬

‫ب‪ -‬در حالت دستیابی ترتیبی به بالکها در پردازش انبوه‬


‫در دستیابی ترتیبی با شروع از نقطه ای از فایل (مثال ‪ ،) BOF‬بالکها به ترتیبی که ذخیره شهده انهد‪ ،‬خوانهده‬
‫می شوند‪ .‬در پردازش انبوه (پردازش تعدادی بالک)‪ ،‬نوع بافرینگ و زمان پردازش بالک در نرخ انتقال تهاثیر‬
‫گذارند و چهار حالت زیر را ممکن می سازند‪:‬‬
‫‪ -1‬بافرینگ ساده و مرتب خوانی‬
‫سیستم یک بالک را در بافر می خواند و با شروع پردازش محتوای بهافر‪ ،‬آغهاز بهالک بعهدی در اثهر دوران‬
‫دیسک از زیر نوک خواندنشنوشتن رد می شود و بهرای خوانهدن آن‪ ،‬پردازنهده ‪ I/O‬بایهد یهک دور دیسهک‬
‫‪B‬‬
‫‪t ‬‬ ‫منتظر بماند‪.‬‬
‫‪2r  b tt‬‬

‫‪ -2‬بافرینگ ساده و درهم خوانی‬


‫در این حالت‪ ،‬محدودیت خواندن بالکها به ترتیب نشست آنها روی شیار را در نظر نمی گیریم‪ .‬مهثال مهی‬
‫خواهیم میانگین مقادیر یک فیلد از تعدادی رکورد را بدست آوریم‪ .‬اگر ‪ C B  btt‬باشد‪ ،‬بالکههای شهیار در‬
‫‪B.Tf‬‬
‫‪t ‬‬ ‫دو دور خوانده می شوند و داریم‪:‬‬
‫‪r‬‬
‫‪ -3‬بافرینگ مضاعف و شرط کارایی‬
‫در این حالت‪ ،‬تمام بالکهای شیار در یک دور دیسک خوانده می شوند و داریم‪:‬‬
‫‪B.T f‬‬
‫‪t' ‬‬
‫‪2r‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪53‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪ -4‬بافرینگ مضاعف و عدم شرط کارایی‬


‫در این حالت‪ ،‬سیستم ابتدا دو بالک را در دو بافر خوانده و پردازش می کند‪ .‬وقتی که آغاز بالک سهوم بهه‬
‫زیر نوک برسد‪ ،‬بافر اول هنوز مشغول است و به یک دور دیسک انتظار نیاز است تا دو بالک بعدی خوانهده‬
‫شوند و داریم‪:‬‬
‫‪2B‬‬ ‫‪B‬‬
‫‪t' ‬‬ ‫‪‬‬
‫‪2r  2btt r  btt‬‬

‫نرخ انتقال واقعی در حالت بافرینگ ساده با نماد )‪ t ('1‬و در حالت بافرینگ مضاعف بها نمهاد ) ‪ t (' 2‬نمهایش‬
‫داده می شود‪.‬‬

‫‪ ‬نرخ انتقال واقعی دیسکی با مشخصات زیر‪ ،‬چند بایت بر ثانیه است؟‬
‫(زمان خواندن مستقیم یک بالک=‪ 2‬ثانیه) (طول بالک=‪ 650‬بایت) (‪ 50=IBG‬بایت)‬
‫‪B  WB‬‬ ‫‪650  50‬‬ ‫‪byte‬‬
‫‪t( D) ‬‬ ‫‪‬‬ ‫( ‪ 300‬‬ ‫)‬
‫‪s  r  btt‬‬ ‫‪2‬‬ ‫‪s‬‬

‫زمههان خوانههدن ترتیبههی ‪ b‬بههالک برابههر ‪ s  r  b  ebt‬و زمههان خوانههدن تصههادفی ‪ b‬بههالک برابههر‬
‫‪B‬‬ ‫‪B‬‬
‫‪(ebt ‬‬ ‫) ‪ b( s  r  btt‬می باشد‪, btt  ) .‬‬
‫‪t‬‬ ‫‪t‬‬

‫محاسبه زمان کل پردازش فایل‬


‫برای محاسبه زمان کل پردازش فایل‪ ،‬دو حالت پردازش رکوردی و بالکی بهه طهور تصهادفی را بررسهی مهی‬
‫کنیم‪ .‬در پردازش رکوردی‪ ،‬هر بار که یک بالک خوانده میشود‪ ،‬فقط یک رکورد آن بالک پهردازش میشهود‬
‫در حالی که در پردازش بالکی‪ ،‬هر بار که یک بالک خوانده میشود‪ ،‬همه رکوردهای آن پردازش میشود‪.‬‬
‫زمان پردازش کل فایل در حالت پردازش رکوردی برابر است با‪:‬‬
‫‪T pfile( R )  n( s  r  btt )  n.cR‬‬
‫و زمان پردازش کل فایل در حالت پردازش بالکی برابر است با‪:‬‬
‫‪T pfile( B )  b( s  r  btt )  b.C B‬‬
‫( ‪: c R‬زمان پردازش یک رکورد‪ : c B ،‬زمان پردازش یک بالک)‬
‫( ‪ : n‬تعداد رکوردهای فایل‪ : b ،‬تعداد بالکهای فایل)‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪54‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪‬در یک فایل با ‪ 18‬بالک‪ ،‬زمان خواندن کل فایل به صورت تصادفی و به فهرم بالکهی برابهر ‪ 25‬میلهی ثانیهه‬
‫است‪ .‬اگر زمان پردازش هر بالک ‪ 3.5‬میلی ثانیه باشد‪ ،‬زمان پردازش کل فایل به صورت بالکهی چنهد میلهی‬
‫ثانیه خواهد بود؟‬
‫حل‪:‬‬
‫‪T pfile ( B)  b.( s  r  btt )  b.C B  25  18  3.5  88‬‬

‫حداکثر نرخ انتقال‬


‫عواملی مانند زمان درنگ دورانی‪ ،‬زمان پردازش بالک و حاالت بافرینگ‪ ،‬تاثیر زیادی در نهرخ انتقهال واقعهی‬
‫دارد‪ .‬بهترین حالت این است که سیستم بتواند در یک دور دیسک‪ ،‬تمام بالکههای شهیار را بخوانهد‪ .‬بنهابراین‬
‫مفهوم حداکثر نرخ انتقال مطرح می شود که از رابطه زیر محاسبه می شود‪:‬‬
‫‪Tracksize‬‬
‫‪Max(t ) ‬‬
‫‪r‬‬
‫‪ ‬در دیسکی با اندازه شیار ‪ 19254‬بایت و زمان چرخش یک دور کامل ‪ 16.7‬میلی ثانیه‪ ،‬مقدار حهداکثر نهرخ‬
‫انتقال چند مگا بیت بر ثانیه می باشد؟‬
‫حل‪:‬‬
‫)‪19254(byte) 19254(byte‬‬ ‫‪Mbyte‬‬
‫‪Max(t ' ) ‬‬ ‫‪‬‬ ‫( ‪ 1.1‬‬ ‫)‬
‫‪16.7ms‬‬ ‫)‪0.0167( s‬‬ ‫‪s‬‬

‫ارزیابی دقیقتر زمان درنگ دوران‬


‫می دانیم که مقدار متوسط زمان درنگ دورانی برابر است با نصف زمان یک دور دیسک‪:‬‬
‫‪1 60 1000‬‬
‫‪r ‬‬
‫‪2‬‬ ‫‪rpm‬‬

‫ولی از آنجا که در ابتدای هر شیار‪ ،‬فیلدی حاوی اطالعات کنترلی شیار و شناسایی آغاز آن وجهود دارد و در‬
‫هنگام واکشی یک رکورد (که بالک حاوی آن رکورد نیز خوانده می شود)‪ ،‬سیستم بایهد شناسهه آغهاز شهیار‬
‫)‪ (Track Identifier‬مورد نظر را شناسایی کند و پس از رسیدن نوک خواندنشنوشتن به آغاز شیار در زمهان ‪ r‬و‬
‫رد شدن آن از زیر نوک‪ ،‬به آغاز بالک مورد نظر برسد‪.‬‬
‫بنابراین داریم‪:‬‬
‫‪Tf ‬‬
‫‪r  r  .‬‬ ‫‪. r  r( ‬‬ ‫)‬
‫‪Tf‬‬ ‫‪Tf‬‬
‫‪ Tf  ‬‬
‫‪ :‬متوسط فاصله بین آغاز شیار تا آغاز بالک مورد نظر)‬ ‫‪.‬‬ ‫(‬
‫‪ Tf‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪55‬‬ ‫ذخیره و بازیابی اطالعات‬

‫اگر در هر شیار فقط یک بالک داشته باشیم )‪ ، (T f  1‬با رسیدن به ابتدای شیار‪ ،‬به بالک مهورد نظهر‬
‫رسیده ایم و تاخیر برابر با ‪ r‬است‪.‬‬
‫تکنیکهای بهبود کارایی سیستم فایل‬
‫بعضی مواقع نیاز است تا فایل به طور نوبتی و به صورت پی در پهی خوانهده شهود‪ .‬داشهتن بافرینهگ کهارا و‬
‫امکانات تخصیص بافر‪ ،‬نقش مهمی در بهبود کارایی پردازش تمام فایل ایفا مهی کنهد‪ .‬همچنهین تکنیکههای‬
‫کاهش زمان درنگ دورانی و زمان استوانه جویی موجب تسریع عملیات روی فایل می شوند‪.‬‬

‫تکنیکهای کاهش زمان درنگ دوران‬


‫)‪(Interleaving‬‬ ‫‪ -1‬تداخل بالکها‬
‫)‪(track staggering‬‬ ‫‪ -2‬تغییرمکان نقطه آغاز شیارها‬
‫‪ -3‬پراکنده خوانی‬

‫تداخل بالکها )‪(interleaving‬‬


‫در تکنیک تداخل بالکها (درهم چینی بالکها)‪ ،‬بالکها به صهورت ‪ n‬در میهان روی شهیار چیهده میشهوند‪ .‬در‬
‫شکل زیر پنج بالک به صورت یک در میان روی شیار چیده شده اند‪:‬‬

‫کاربرد تکنیک تداخل بالکها ‪:‬‬


‫‪ -1‬وقتی که نتوان دو بافر به فایل تخصیص داد و یک بافر داشته باشیم‪.‬‬
‫‪ -2‬وقتی که ‪ c B  btt‬باشد و بالکها را بخواهیم مرتب بخوانیم‪.‬‬
‫‪n‬‬
‫دور دیسک نیاز دارد که این کهاهش در نهرخ انتقهال‬ ‫در این تکنیک خواندن ‪ n‬بالک از یک شیار به‬
‫‪2‬‬
‫واقعی تأثیر می گذارد و زمان الزم برای انتقال کل فایل نسبت به حالتی که بالکهها بهه ترتیهب شهماره‬
‫سریال روی شیار چیده شده است‪ ،‬به نصف کاهش مییابد‪.‬‬

‫مقدار ‪ n+1‬را ضریب تداخل می گویند که با ‪ i f‬نمایش داده می شود‪ .‬وقتی می گوئیم ضریب تداخل ‪2‬‬
‫است ‪ ،‬یعنی بالکها یک در میان چیده شده اند‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪56‬‬ ‫ذخیره و بازیابی اطالعات‬

‫'‪t‬‬
‫‪ t int' erleaving ‬می باشد‪.‬‬ ‫نرخ انتقال انبوه در تکنیک ‪ interleaving‬برابر‬
‫‪if‬‬

‫تغییرمکان نقطه آغاز شیارها )‪(Track Staggering‬‬


‫در حالت معمولی مکان هندسی نقطه آغاز شیارها‪ ،‬یک شعاع صفحه است‪ .‬اما در این روش‪ ،‬نقطهه آغهاز ههر‬
‫شیار نسبت به شیار قبلی زاویه ‪ ‬می سازد‪ .‬این تکنیک سخت افزاری است و وقتهی کهارایی دارد کهه زمهان‬
‫‪ r‬باشد ) ‪. (S1  r‬‬ ‫رفتن به استوانه همجوار بعدی خیلی کمتر از‬
‫‪360‬‬
‫‪θ‬‬ ‫) ‪.rpm.Max(S1‬‬
‫‪60  1000‬‬
‫‪‬با فرض اینکه سرعت چرخش دیسکی ‪ 3600‬دور در دقیقه و حداکثر زمهان الزم بهرای رفهتن بهه اسهتوانه‬
‫‪ track‬چند درجه باید باشد‪ ،‬تا زمان انتظهار‬ ‫‪staggering‬‬ ‫همجوار بعدی ‪ 2‬میلی ثانیه باشد‪ ،‬مقدار ‪ ‬در تکنیک‬
‫دوران کاهش یابد؟‬
‫‪360‬‬
‫‪θ‬‬ ‫) ‪ rpm  Max(S1‬‬
‫‪60  1000‬‬
‫‪6‬‬
‫‪‬‬ ‫‪ 3600  2  43.2‬‬
‫‪1000‬‬

‫پراکنده خوانی‬
‫در مواقعی که پردازش میتواند فاقد نظم باشد‪ ،‬مانند خواندن کل فایل بطهور پهی در پهی )‪ (Sequential‬بهرای‬
‫محاسبه حاصل جمع مقادیر یکی از صفت خاصه همه رکوردها‪ ،‬میتوان بالکها را پراکنده خواند‪ .‬البته باید به‬
‫تعداد کافی بافر موجود باشد‪ .‬دراین حالت ‪ r‬برای رسیدن به ابتدای یک بالک نصف زمان انتقال بالک است‪:‬‬
‫‪1  BG ‬‬
‫‪r  ‬‬ ‫‪‬‬
‫‪2  t ‬‬
‫تکنیکهای کاهش زمان استوانه جویی‬
‫‪ -1‬استفاده از دیسکهای با بازوی ثابت‬
‫‪ -2‬توزیع فایل روی چند دیسک‬
‫‪ -3‬اعمال مالحظاتی خاص در جایدهی رکوردها‬
‫‪ -4‬استفاده از الگوریتمهای کنترل حرکت بازو‬

‫استفاده از دیسکهای با بازوی ثابت‬


‫در این دیسکها‪ ،‬به ازاء هر شیار از رویه ‪ ،‬یک نوک خواندنشنوشتن به بازو متصل است و بازو حرکتی نهدارد و‬
‫بدین ترتیب زمان ‪ S‬صفر است ‪.‬این تکنیک سخت افزاری است و هزینه آن باال است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪57‬‬ ‫ذخیره و بازیابی اطالعات‬

‫توزیع فایل روی چند دیسک‬


‫در این تکنیک نرم افزاری‪ ،‬فایل بر روی استوانه های ههم شهماره از چنهد دیسهک ‪ pack‬قهرار داده میشهود‪.‬‬
‫بنابراین چون نوک ‪ R/W‬حرکت نمیکند‪ ،‬زمان استوانه جویی صفر است‪.‬‬

‫تکنیک ‪RAID‬‬
‫در این تکنیک‪ ،‬به جای استفاده از یک واحد دیسک با ظرفیت باال‪ ،‬از چند واحد دیسک کوچکتر بهه صهورت‬
‫یک آرایه استفاده میشود‪ .‬این مجموعه دیسکها از نظر سیستم عامل به صورت یهک واحهد دیسهک منطقهی‬
‫دیده میشود‪ .‬در این تکنیک‪ ،‬دادهها روی دیسکهای مختلف توزیهع میشهوند و دادههها بها افزونگهی ذخیهره‬
‫میشوند تا در صورت خرابی‪ ،‬ترمیم )‪ (Recovery‬دادهها‪ ،‬به راحتی انجام شود‪ .‬با استفاده از این تکنیک‪ ،‬امکان‬
‫همزمانی دستیابی به داده ها میسر می شود و کارایی سیستم فایل در عملیات ‪ I/O‬افزایش می یابد‪.‬‬

‫تکنیک ‪ RAID‬در چند سطح پیاده سازی می شود از جمله ‪ RAID-0:‬تا ‪.RAID-7‬‬

‫اعمال مالحظاتی خاص در جایدهی رکوردها‬


‫قرار دادن رکوردها با تعداد دسترسی زیاد در استوانه های میانی دیسک و رکوردها با تعداد دسترسی کم در‬
‫استوانه های بیرونی تر‪ ،‬موجب کاهش متوسط زمان استوانه جویی می شود‪.‬‬

‫استفاده از الگوریتمهای کنترل حرکت بازو‬


‫الگوریتم های کنترل حرکت بازو عبارتند از ‪:‬‬
‫‪FCFS : ( First Come First Serviced ) -1‬‬

‫در خواستها به ترتیب ورود‪ ،‬اجرا میشوند‪.‬‬


‫) ‪SSTF : ( Shortest Seek Time First‬‬ ‫‪-2‬‬
‫بازو به سمت رکوردی حرکت میکند که به کمترین زمان برای حرکت بازو نیاز دارد‪.‬‬
‫‪SCAN‬‬ ‫‪-3‬‬
‫بازوی دیسک مرتباً رویه را مرور )‪ (SCAN‬کرده و در مسیر به درخواستها پاسخ می دهد‪ .‬در ابتدا بازو به‬
‫جهتی حرکت میکند که کوتاهترین زمان استوانه جویی را برای دستیابی نیهاز دارد‪ .‬اگهر در جههت انتخهاب‬
‫شده به همه درخواستها پاسخ داده شد‪ ،‬جهت حرکت عوض میشود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪58‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪‬صف درخواستهای سیلندر به صورت ‪ 12 ،5 ،9 ،20 ،14‬میباشد و هد بهر روی سهیلندر ‪ 10‬قهرار دارد‪ .‬در‬
‫صورت استفاده از هر یک از الگوریتم ها ی کنترل حرکت بازو‪ ،‬ترتیب حرکت هد را مشخص کنید؟‬
‫حل‪:‬‬
‫‪FCFS : 10 , 12 , 5‬‬ ‫‪, 9‬‬ ‫‪, 20 , 14‬‬

‫‪SSTF : 10 , 9 , 12 , 14 , 20 , 5‬‬

‫‪SCAN : 10 , 9 , 5‬‬ ‫‪, 12 , 14 , 20‬‬

‫‪ I/O‬روی سیلندر‪ 20‬قرار دارد‪ .‬اگر تقاضا برای خواندن سهیلندرهای بهه‬ ‫‪HEAD‬‬ ‫‪‬در یک دیسک سخت‪ ،‬نوک‬
‫ترتیب ‪ 6 ،40 ،2 ،20 ،22 ،10‬و ‪ 38‬به ‪ Driver‬آن وارد شود و چنانچه حرکت هد ‪ I/O‬بین دو سیلندر مجهاور‬
‫‪ seek‬مهورد‬ ‫کل‪time‬‬ ‫‪ 6‬میلی ثانیه طول بکشد‪ ،‬در صورت استفاده از الگوریتم ‪ SSTF‬برای خواندن سیلندرهای‪،‬‬
‫نیاز چقدر خواهد بود؟‬
‫حل ‪ :‬در ‪ SSTF‬همواره به سمت نزدیکترین سیلندر حرکت می شود‪:‬‬
‫‪‬‬ ‫‪‬‬ ‫‪  ‬‬ ‫‪‬‬
‫مجموعه فاصلههای برابر است با‪:‬‬
‫‪2 + 12 + 4 + 4 + 36 + 2 = 60‬‬
‫و چون هر حرکت ‪ 6‬میلی ثانیه طول میکشد‪ ،‬پس در کل ‪ 60 × 6‬میلی ثانیه طول خواهد کشید‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪59‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪:6‬‬
‫ساختار پایل‬

‫در هر سیستم فایل دو هدف سرعت عملیاتی و صرفه جویی در حافظه مورد نظر است که بهرای رسهیدن بهه‬
‫آنها باید جنبه های زیر را در طراحی سیستمهای ذخیره و بازیابی در نظر گرفت ‪:‬‬

‫‪ -1‬حداقل بودن افزونگی‬


‫‪ -2‬دستیابی سریع‬
‫‪ -3‬سهولت در عملیات بهنگام سازی‬
‫‪ -4‬سهولت نگاهداری سیستم‬
‫‪ -5‬قابلیت اطمینان باال‬

‫رسیدن به این اهداف در یک سیستم فایل به ساختاری که آن سیستم ایجاد میکند بسهتگی دارد‪ .‬بنهابراین‬
‫شناخت ساختارهای فایل اهمیت خاص خود را دارد‪.‬‬

‫انواع ساختار های فایل عبارتند از ‪:‬‬


‫‪ -1‬پایل (بی نظم)‬
‫‪ -2‬ترتیبی‬
‫‪ -3‬ترتیبی شاخص دار‬
‫‪ -4‬چند شاخصی‬
‫‪ -5‬مستقیم‬
‫‪ -6‬چند حلقه ای‬
‫‪ -7‬درختی‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪60‬‬ ‫ذخیره و بازیابی اطالعات‬

‫برای ارزیابی ساختارهای مختلف فایل‪ ،‬ضوابط زیر بررسی میشوند‪:‬‬


‫‪ -1‬اندازه رکورد ) ‪(R‬‬
‫‪ -2‬زمان واکشی یک رکورد از فایل ( ‪) TF‬‬
‫‪ -3‬زمان بازیابی رکورد بعدی ( ‪) TN‬‬
‫‪ -4‬زمان بهنگام سازی از طریق درج یک رکورد ) ‪(TI‬‬
‫‪ -5‬زمان بهنگام سازی از طریق ایجاد تغییر در یک رکورد ) ‪(TU‬‬
‫‪ -6‬زمان خواندن تمام فایل ( ‪) TX‬‬
‫‪ -7‬زمان سازماندهی مجدد فایل ( ‪) TY‬‬

‫عملیات تغییر دهنده محیط فیزیکی عبارتند از ‪ :‬درج‪ ،‬بهنگام سازی‪ ،‬حذف و سازماندهی مجدد‪.‬‬

‫عمل حذف حالت خاصی از بهنگام سازی است‪.‬‬

‫انجام عملیات ششگانه (واکشی‪ ،‬بازیابی رکورد بعدی‪ ،‬درج رکورد جدید‪ ،‬بهنگام سازی‪ ،‬خواندن تمام فایهل و سهازماندهی مجهدد)‪ ،‬بهه‬
‫سه عمل مکان یابی‪ ،‬خواندن فیزیکی و نوشتن فیزیکی در محیط فیزیکی منجر میشود‪.‬‬

‫انواع فایل‬
‫‪ -1‬فایل متراکم ‪ :‬فایلی که تمام مقادیر همه صفات خاصه تمام رکوردهایش مشخص باشند‪.‬‬

‫‪ -2‬فایل غیر متراکم‪ :‬فایلی که برخی از مقادیر بعضی از صفات خاصه در برخی از رکوردها موجود نباشد‪.‬‬

‫هنگامی فایل غیرمتراکم میشود که رکوردها طول ثابت و قالب ثابت مکانی داشته باشند و در نتیجهه‬
‫حافظه هرز ایجاد میشود‪.‬‬

‫وقتی فایلی را با رکوردهایی با قالب غیر ثابت مکان طراحی می کنیم‪ ،‬حالت غیر متراکم پدید نمی آید‪.‬‬

‫در فایل غیرمتراکم‪ ،‬یک یا بیش از یک فقره اطالع در مورد بعضی نمونهه ههای یهک موجودیهت وجهود‬
‫ندارد‪ ،‬یعنی اطالع نهست )‪ (Missing information‬داریم‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪61‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فایل با افزونگی‬
‫فایلی که مقادیر بعضی از صفات خاصه اش بیش از یکبار در محیط فیزیکی ذخیره سازی ذخیره شده باشند‬
‫را فایل با افزونگی )‪ (Redundancy‬می گویند‪.‬‬

‫انواع افزونگی‬
‫افزونگی بر دو نوع است ‪:‬‬

‫)‪(Technical Redundancy‬‬ ‫‪ -1‬افزونگی تکنیکی‬


‫تکرار بعضی( یا تمام) از مقادیر یک (یا چند) صفت خاصه در محیط ذخیره سازی جهت ایجاد یهک شهیوه‬
‫دستیابی کاراتر برای فایل را افزونگی تکنیکی می گویند‪ .‬مثال وقتی که روی صفت خاصه ای از یک فایهل‪،‬‬
‫شاخص ایجاد میکنیم‪ ،‬مقادیر آن صفت در فایل شاخص تکرار خواهند شد‪.‬‬

‫)‪(Natural Redundancy‬‬ ‫‪ -2‬افزونگی طبیعی‬


‫در افزونگی طبیعی ‪ ،‬یک مقدار مشخص از صفت خاصه در تعدادی از نمونه رکوردها وجهود دارد‪ .‬مهثال در‬
‫فایل ثبت نام دانشجویان وجود نام یک درس در رکورد تمامی دانشجویان که آن درس را گرفته اند ‪ ،‬یهک‬
‫نوع افزونگی طبیعی است‪.‬‬

‫افزونگی طبیعی را باید کهاهش داد‪ .‬مهثالً از سهاختار کهارائی ماننهد چندحلقهه ای اسهتفاده کهرد یها از‬
‫تکنیکهای فشرده سازی استفاده کرد‪.‬‬

‫تکنیک فشرده سازی ماتریس بیتی‬


‫این تکنیک هنگامی کاربرد دارد که فقره اطالع تکرار شونده (صفت چند مقداری) داشته باشهیم و همچنهین‬
‫مقادیر صفت خاصه از مجموعه ای محدود انتخاب شده باشند‪ .‬در این روش‪ ،‬برای ذخیهره سهازی تمهام ایهن‬
‫صفات به ‪ n‬بیت حافظه نیاز است‪ .‬که ‪ n‬تعداد عناصر مجموعهای است که مقادیر صفت خاصهه مهورد نظهر از‬
‫آن گرفته شده است‪.‬در شرایطی که هم طول رکوردها متغیر و هم افزونگی طبیعی تشدید میشود‪ ،‬تکنیهک‬
‫ماتریس بیتی یکی از روشهای کاهش این افزونگی است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪62‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪‬ذخیره فایل اطالعات دانشجو‪ -‬درس شامل ‪ 5‬دانشجو و ‪ 13‬درس‪:‬‬


‫الف‪ -‬بدون استفاده از ماتریس بیتی‬
‫شماره دانشجو‬ ‫شماره درس‬
‫‪54381‬‬ ‫‪177 , 179 , 183 , 184‬‬
‫‪54407‬‬ ‫‪177 , 178 , 181 , 183‬‬
‫‪54408‬‬ ‫‪176 , 177 , 184‬‬
‫‪54503‬‬ ‫‪178 , 181‬‬
‫‪54504‬‬ ‫‪178 , 183‬‬

‫ب‪ -‬با استفاده از ماتریس بیتی‬


‫‪176‬‬ ‫‪177‬‬ ‫‪178‬‬ ‫‪179‬‬ ‫‪180‬‬ ‫‪181‬‬ ‫‪182‬‬ ‫‪183‬‬ ‫‪184‬‬
‫‪54381‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪54407‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪54408‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪54503‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪54504‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬

‫شرح اصول عملیات ششگانه‬


‫‪ -1‬واکشی رکورد دلخواه‬
‫‪ -2‬بازیابی رکورد بعدی‬
‫‪ -3‬بهنگام سازی از طریق درج‬
‫‪ -4‬بهنگام سازی از طریق تغییر محتوای رکورد‬
‫‪ -5‬خواندن تمام فایل‬
‫‪ -6‬سازماندهی مجدد‬

‫واکشی رکورد دلخواه‬


‫واکشی یک رکورد دلخواه یک عمل محتوایی است‪ .‬یعنهی مقهدار یکهی از صهفات خاصهه رکهورد بهه عنهوان‬
‫آرگومان جستجو داده میشود‪ .‬الزمه این عمل‪ ،‬جستجو کردن در فایل‪ ،‬دستیابی به بالک حاوی رکورد مورد‬
‫نظر و خواندن آن است‪ .‬برای این دسترسهی از روش ترتیبهی یها مسهتقیم میتهوان اسهتفاده کهرد‪ .‬در روش‬
‫دسترسی ترتیبی‪ ،‬تعدادی بالک به طور پی درپی خوانده میشود تا بهه بهالک مهورد نظهر برسهد و در روش‬
‫مستقیم‪ ،‬آدرس بالک بدست آمده و بالک مستقیماً خوانده میشود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪63‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪B‬‬
‫و بهها روش دسترسهی مسهتقیم برابههر‬ ‫زمهان خوانهدن یههک بهالک بها روش دسترسهی ترتیبهی برابهر‬
‫‪t‬‬
‫‪ s  r  btt‬می باشد‪.‬‬

‫روشهای تنظیم درخواست واکشی‬


‫)‪(Single request‬‬ ‫‪ -1‬ساده‬
‫درخواست واکشی رکورد با شماره دانشجویی ‪. 150‬‬
‫‪ -2‬طیفی)‪( Range request‬‬

‫نشهانوند‬ ‫درخواست واکشی مشخصات دانشجویان از شماره دانشجویی ‪ 100‬تا ‪ .200‬در این درخواست‬
‫جستجو هر صفتی می تواند باشد و لزوما کلید نیست‪.‬‬
‫)‪(Functional request‬‬ ‫‪ -3‬محاسباتی‬
‫مثل در خواست بازیابی معدل‪ ،‬وقتی که خود معدل در فایهل ذخیهره نشهده اسهت و بهرای محاسهبه آن از‬
‫اطالعات ذخیره شده در فایل استفاده می کنیم‪.‬‬
‫)‪(Boolean request‬‬ ‫‪ -4‬بولی‬
‫درخواستی که پاسخ به آن توسط عملگرهای ‪ AND,OR,XOR‬به دست می آید‪.‬‬
‫‪ -5‬مرکب ) ‪(Composite request‬‬

‫حالت خاصی از درخواست بولی که در آن مقدار چند صفت خاصه داده می شود‪.‬‬

‫بازیابی رکورد بعدی‬


‫رکورد بعدی منطقی‪ ،‬رکوردی است که بر اساس یک نظم خاص مورد نظهر پردازشهگر فایهل‪ ،‬بعهد از رکهورد‬
‫فعلی باید بازیابی شود‪ .‬مشخص است که کاربر برای بازیابی رکهورد بعهدی‪ ،‬نشهانوند جسهتجو را نمهی دههد‪.‬‬
‫موقعیت رکورد بعدی نسبت به رکورد فعلی به یکی از سه صورت زیر است‪:‬‬
‫‪ -1‬همجوار فیزیکی باشند‪.‬‬
‫‪ -2‬از رکورد فعلی به بعدی اشاره گر وجود داشته باشد‪.‬‬
‫‪ -3‬هیچ ارتباطی بین آنها نباشد‪ (.‬بازیابی رکورد بعدی ممکن نیست)‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪64‬‬ ‫ذخیره و بازیابی اطالعات‬

‫بهنگام سازی از طریق درج‬


‫درج رکورد‪ ،‬صرفاً یک عمل نوشتن نمیباشد و به عملیاتی نیاز دارد که حجم آن بهه سهاختار فایهل بسهتگی‬
‫دارد‪ .‬این عملیات عبارتند از ‪:‬‬
‫‪ -1‬یافتن و خواندن بالکی که رکورد باید در آن درج شود‪.‬‬
‫‪ -2‬جا دادن رکورد در بالک‬
‫‪ -3‬بازنویسی بالک‬
‫‪ –4‬عملیات پس از درج در بعضی ساختارها ( مانند تنظیم اشاره گر ها)‬

‫بهنگام سازی از طریق تغییر محتوای رکورد‬


‫این عمل یعنی تغییر مقدار یک یا بیش از یک صفت خاصه در یک رکورد مشهخص ‪ ،‬کهه دارای اصهول زیهر‬
‫است‪:‬‬
‫‪ -1‬واکشی رکورد بهنگام در آمدنی‬
‫‪ -2‬ایجاد نسخه جدید در بافر‬
‫‪ -3‬بازنویسی نسخه جدید در جای قبلی در بهنگام سازی درجا‬
‫‪ -4‬تنظیم ارتبا ساختاری بین رکورد با رکوردهای دیگر فایل‬

‫انواع بهنگام سازی‬


‫)‪(inplace‬‬ ‫‪ -1‬درجا‬
‫رکورد بهنگام درآمده‪ ،‬در محل قبلی اش نوشته میشود‪ .‬الزم به ذکر است که همواره بهنگام سازی درجا‬
‫ممکن نمیباشد ‪ ،‬چون ممکن است طول رکورد بعد از بهنگام سازی تغییر کند‪.‬‬

‫)‪(outplace‬‬ ‫‪ -2‬برون از جا‬


‫رکورد بهنگام درآمده در جایی دیگر نوشته میشود و نسخه قدیم با نشهانگر « حهذف شهده » در محهل‬
‫قبلی درج میشود‪.‬‬

‫باشد‪ ،‬چون در غیر‬ ‫)‪(propagating update‬‬ ‫اگر فایل دارای افزونگی باشد‪ ،‬بهنگام سازی باید منتشر شونده‬
‫اینصورت پدیده ناسازگاری )‪ (inconsistent‬بوجود میآید‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪65‬‬ ‫ذخیره و بازیابی اطالعات‬

‫خواندن تمام فایل‬


‫در صورت درخواست کاربر‪ ،‬سازماندهی مجدد‪ ،‬کپی گرفتن و یا در ایجاد یک استراژی دستیابی به فایل‪ ،‬باید‬
‫فایل را خواند‪ .‬نحوه خواندن به صورت پی در پی )‪ (sequential‬و یا سهریال )‪ (serial‬مهی باشهد‪ .‬در حالهت پهی‬
‫درپی‪ ،‬بالکها به ترتیب از ابتدا تا انتهای فایل پشت سرهم خوانده میشوند و در حالت سریال‪ ،‬بر اساس نظهم‬
‫صعودی یکی از صفات خاصه (معموالً کلید)‪ ،‬عمل خواندن انجام میشود‪.‬‬

‫اگر دسترسی به رکورد بعدی ممکن نباشد‪ ،‬نمیتوان فایل را سریال خواند‪.‬‬

‫اگر رکوردها در محیط فیزیکی به طور سریال ذخیره شده باشند‪ ،‬آنگهاه نتیجهه خوانهدن پهی در پهی و‬
‫سریال یکی خواهد بود‪.‬‬

‫سازماندهی مجدد‬
‫بعد از مدتی که از لود اولیه فایل می گذرد‪ ،‬به علت انجام عملیهات ذخیرهسهازی‪ ،‬در فایهل تغییراتهی ایجهاد‬
‫میشود که باعث کاهش کارایی اولیه آن میشود‪ .‬دالیل سازماندهی مجدد عبارتند از ‪:‬‬
‫‪ -1‬احیاء نظم ساختاری آغازین‬
‫‪ -2‬خارج کردن حافظههای هرز‬
‫‪ -3‬اصالح استراتژی دستیابی‬

‫همه دالیل سازماندهی مجدد‪ ،‬لزوماً در همه ساختار ها مطرح نمیباشند‪.‬‬

‫برای سازماندهی مجدد ‪ ،‬عملیات زیر انجام می گیرد ‪:‬‬


‫‪ -1‬خواندن تمام فایل‬
‫‪ -2‬بالک بندی مجدد رکوردها ضمن خارج کردن رکوردهای حذف شدنی‬
‫‪ -3‬بازسازی ساختار مربو به استراتژی دستیابی (در صورت وجود)‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪66‬‬ ‫ذخیره و بازیابی اطالعات‬

‫میتوان بالک را در همان دور جاری دیسک بازنویسی کرد‪ .‬در این حالت زمان بازنویسی برابر اسهت بها‬
‫‪ TRW  2r :‬و اگر عملیات در بافر به موقع انجام نگیرد سیستم یک دور را از دست مهی دههد و در ایهن‬
‫حالت ‪ TRW  r‬خواهد شد‪.‬‬

‫فایل با ساختار پایل (بی نظم)‬


‫رکوردهای این فایل براساس مقادیر هیچ صفتی مرتب نمیباشند و برای ایجاد فایل‪ ،‬رکوردهها بخهش بنهدی‬
‫نمیشوند و در این ساختار استراتژی دستیابی وجود ندارد‪ .‬قالب رکوردها غیرثابت مکان و طول متغیر دارنهد‬
‫و مکان فیلدهای صفات در رکوردهای مختلف‪ ،‬متفاوت است‪ .‬در هر رکورد اسم و مقدار صهفت خاصهه بهرای‬
‫همه صفات خاصه باید ذخیره شود که باعث افزونگی خواهد شد‪ .‬همچنین برای اطالع نهست فیلهدی وجهود‬
‫ندارد و باعث صرفه جویی در حافظه میشود‪.‬‬

‫‪‬رکورد یک دانشجو در فایل دانشجویان میتواند به صورت زیر باشد‪:‬‬


‫‪ID ‬‬ ‫‪, Name  Ali, age ‬‬

‫‪ ID‬اسم صفت خاصه و ‪ 123‬مقدار صفت خاصه می باشد‪.‬‬


‫موارد استفاده ساختار پایل‬
‫‪ -1‬در محیطهایی که دادهها نظم پذیر نمیباشند و پیش پردازشی روی داده ها انجهام نشهده اسهت و اساسها‬
‫فایل برای بایگانی ایجاد شود‪.‬‬
‫‪ -2‬در محیطهایی که امنیت دادهها مورد نظر باشد‪ (.‬بی نظمی امنیت را باال می برد)‬
‫‪ -3‬مبنایی برای درک و طراحی ساختارهای بهتر‪.‬‬

‫ارزیابی کارایی ساختار پایل‬


‫متوسط اندازه رکورد‬
‫متوسط اندازه رکورد در ساختار پایل برابر است با ‪:‬‬
‫)‪R  a ' ( A  V  2‬‬
‫`‪ : a‬متوسط تعداد صفات خاصه یک رکورد‬
‫‪ : A‬متوسط حافظه الزم برای ذخیره اسم صفت خاصه‬
‫‪ : V‬متوسط حافظه الزم برای ذخیره مقدار صفت خاصه‬
‫تذکر‪ :‬در محاسبه ‪ ، R‬یک بایت برای عالمت انتساب (=) و یک بایت برای عالمت جداساز (کاما) در نظر گرفته میشود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪67‬‬ ‫ذخیره و بازیابی اطالعات‬

‫عوامل دخیل در ارزیابی اندازه رکورد عبارتند از‪:‬‬


‫بخش داده ای رکورد‪ ،‬بخش غیر داده ای رکورد‪ WR ،‬با در نظر داشتن همه هرزها‪ ،‬متراکم یا غیر متراکم بودن فایهل‪،‬‬
‫پدیده افزونگی و استفاده یا عدم استفاده از تکنیک های فشرده سازی‪.‬‬
‫‪‬در یک فایل پایل متوسط حافظة الزم برای ذخیره سازی اسم صفت خاصه ‪ 8‬بایت و متوسط تعداد صهفات‬
‫خاصه برای رکورد ‪ 3‬می باشد‪.‬در صورتی که تعداد رکوردها ‪ 4‬و فضای مقداری هر یک از رکوردها بهه شهکل‬
‫زیر باشد‪ ،‬طول متوسط رکورد کدام است؟‬
‫‪V( R1 ) = 30 , V( R2 ) = 15 , V( R3 ) = 10 , V( R4 ) = 5‬‬

‫حل‪ :‬ابتدا متوسط مقدار صفت خاصه را محاسبه می کنیم‪:‬‬


‫‪30  15  10  5‬‬
‫‪V‬‬ ‫‪ 15‬‬
‫‪4‬‬
‫و سپس ‪ R‬را محاسبه می کنیم ‪:‬‬
‫‪R  a ' ( A  V  2) , R  3  (8  15  2)  75‬‬
‫واکشی رکورد‬
‫برای دسترسی به یک رکورد به طور متوسط باید نصف رکوردها یا نصف بالکها را بررسی کرد‪:‬‬
‫‪n R‬‬ ‫‪b B‬‬
‫‪TF  .‬‬ ‫‪, TF  .‬‬
‫‪t‬‬ ‫‪t‬‬
‫( ‪ : n‬تعداد رکوردهای فایل ‪ : b -‬تعداد بالکهای فایل )‬

‫‪‬در فایل پایلی با مشخصات زیر‪ ،‬برای پاسخ به درخواست واکشی ‪ 50‬رکورد به یکباره‪ ،‬زمان متوسط واکشی‬
‫یک رکورد چند میلی ثانیه است؟‬
‫‪B‬‬
‫(‪[n  10000, R  150( B), t '  3000‬‬ ‫])‬
‫‪ms‬‬
‫حل‪:‬‬
‫‪n R 10000 150‬‬
‫‪TF ‬‬ ‫‪ ‬‬ ‫‪‬‬ ‫‪ 250ms‬‬
‫'‪2 t‬‬ ‫‪2‬‬ ‫‪3000‬‬
‫‪2‬‬ ‫‪2‬‬
‫‪TF (1)   TF ‬‬ ‫‪ 250  10ms‬‬
‫‪L‬‬ ‫‪50‬‬

‫بازیابی رکورد بعدی‬


‫در ساختار پایل ‪ TN‬برابر ‪ TF‬است ‪ ،‬چون ارتبا ساختاری بین رکورد فعلی و بعدی وجود ندارد‪.‬‬
‫‪TN  TF‬‬

‫در ساختار پایل‪ ،‬سیستم در عمل بازیابی رکورد بعدی بسیار ناکارا می باشد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪68‬‬ ‫ذخیره و بازیابی اطالعات‬

‫درج‬
‫چون فایل بدون نظم است‪ ،‬بنابراین درج در انتها صورت میگیرد‪ .‬بنابراین بالک آخهر در زمهان ‪، s  r  btt‬‬
‫باید خوانده شود و بعد از انتقال رکورد جدید از ناحیه کاری به بالک موجود در بافر‪ ،‬بالک را در زمهان ‪TRW‬‬
‫بازنویسی میکنیم‪:‬‬
‫‪TI  s  r  btt  TRW  TI  S  3r  btt‬‬

‫در ساختار پایل‪ ،‬سیستم در عمل درج کارا می باشد‪.‬‬

‫بهنگام سازی‬
‫بهنگام سازی در این ساختار در حالت کلی به صورت برون ازجا میباشد‪ .‬برای انجام بهنگام سهازی ‪ ،‬رکهورد‬
‫مورد نظر واکشی شده و نشانگر حذف شده در قسمت پیشوندی آن قرار گرفته و بعد از ایجاد نسهخه جدیهد‪،‬‬
‫نسخه قدیم بازنویسی شده و نسخه جدید به انتهای فایل درج می شود‪TU  TF  TRW  TI :‬‬
‫تذکر‪ :‬عملیاتی که در بافر انجام میشود‪ ،‬در ارزیابی دخالت نمی دهیم چون زمان آنها بسیار کم است‪.‬‬
‫حذف‪ ،‬حالت خاصی از بهنگام سازی است‪ .‬کافی است که نسخه جدید را در انتهای فایهل درج نکنهیم‬
‫‪TU delete  TF  TRW :‬‬

‫‪‬در یک فایل پایل اگر ‪ TN  3ms‬و تعداد دور دیسک در دقیقه ‪ 2000‬باشد‪ ،‬زمان حذف چند میلی ثانیهه‬
‫خواهد بود ؟‬
‫‪60000 60000‬‬
‫‪2r ‬‬ ‫‪‬‬ ‫‪ 30 ms Td  TN  2r  Td  3  30  33ms‬‬
‫‪rpm‬‬ ‫‪2000‬‬
‫خواندن تمام فایل‬
‫زمان خواندن پی درپی فایل برابر است با ‪:‬‬
‫‪T X SEQ  2.TF‬‬
‫فایل پایل را نمیتوان به صورت سریال خواند چون بازیابی رکورد بعدی عملی نمیباشد‪ .‬البته میتهوان فایهل‬
‫را بر روی صفت خاصی مرتب کرد‪ ،‬که در این حالت فایل پایل نخواهد بود و ترتیبی کامل نیز نخواههد بهود‬
‫چون ممکن است صفت خاصه در همه رکوردها موجود نباشد‪ .‬بنابراین تنها بخشی از فایل مرتب خواهد بود‪.‬‬
‫‪TXser  Tsort (n)  Tx seq‬‬ ‫در این صورت داریم ‪:‬‬
‫‪‬زمان خواندن کل فایل پایلی به صورت ترتیبی با مشخصات زیر چند ثانیه خواهد بود؟(تعهداد بالکهها =‪ 100‬و‬
‫اندازه هر بالک ‪ 2000‬بایت ‪ ،‬نرخ انتقال =‪ 4000‬بایت در ثانیه )‬
‫حل ‪:‬‬
‫‪b B‬‬ ‫‪B‬‬
‫‪TXseq  TF     b  ‬‬ ‫‪‬‬ ‫‪‬‬
‫‪t‬‬ ‫‪t‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪69‬‬ ‫ذخیره و بازیابی اطالعات‬

‫سازماندهی مجدد‬
‫برای خارج کردن حافظههای هرز ناشی از عمل حذف‪ ،‬باید فایل را بطور متناوب سازماندهی مجدد کرد‪ .‬ابتدا‬
‫باید کل فایل را خوانده و سپس فایل را با حذف رکوردهای حذف شدنی بازنویسی کرد‪.‬‬
‫‪R‬‬ ‫‪R‬‬
‫)‪TY  (n  o‬‬ ‫) ‪ (n  o  d‬‬
‫‪t‬‬ ‫‪t‬‬
‫(‪ ، o‬تعداد رکوردهای درج شده از لود اولیه تا لحظه سازماندهی مجدد و ‪ d‬تعداد رکوردهایی است که نشانگر‬
‫حذف شده خورده اند)‬
‫اگر رکورد حذف شده نداشته باشیم )‪ ،(d=0‬آنگاه زمان خواندن کل فایل با زمان بازنویسی برابهر خواههد‬
‫بود‪.‬‬

‫تذکر ‪ :‬ساختار پایل از نظر احیاء وضع ساختاری اولیه‪ ،‬نیازی به سازماندهی مجدد ندارد‪.‬‬

‫پارامترهای زمانی ساختار پایل‬

‫‪n R‬‬
‫‪TF  .‬‬ ‫واکشی رکورد‬
‫‪t‬‬

‫‪TN  TF‬‬ ‫واکشی رکورد بعدی‬

‫‪TI  S  3r  btt‬‬ ‫درج رکورد در فایل‬


‫‪R‬‬
‫‪TX seq  n ‬‬ ‫‪ TF‬‬ ‫خواندن ترتیبی کل فایل‬
‫‪t‬‬
‫‪R‬‬ ‫‪R‬‬
‫)‪TY  (n  o‬‬ ‫) ‪ (n  o  d‬‬ ‫سازماندهی مجدد‬
‫‪t‬‬ ‫‪t‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪70‬‬ ‫ذخیره و بازیابی اطالعات‬

‫منتخبی از عناوین آموزشی منتشر شده بر روی فرادرس‬


‫برنامه نویسی‬
‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 2‬ساعت‬ ‫آموزش اصول و مبانی برنامه نویسی – کلیک کنید (‪)+‬‬
‫‪ 23‬ساعت‬ ‫آموزش برنامه نویسی جاوا – کلیک کنید (‪)+‬‬
‫‪ 29‬ساعت‬ ‫آموزش برنامه نویسی ‪ – PHP‬کلیک کنید (‪)+‬‬
‫‪ 20‬ساعت‬ ‫آموزش برنامه نویسی ‪ – C++‬کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش پیشرفته ‪( C++‬شی گرایی در سی پالس پالس) – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش مقدماتی برنامه نویسی سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫مجموعه آموزش های کاربردی برنامه نویسی ‪( C#‬سی شارپ) – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش شی گرایی در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 18‬ساعت‬ ‫آموزش برنامه نویسی پایتون – مقدماتی – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش تکمیلی برنامه نویسی پایتون – کلیک کنید (‪)+‬‬
‫‪ 13‬ساعت‬ ‫آموزش برنامه نویسی ‪ – C‬کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش ‪ – SQL Server‬مقدماتی – کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫آموزش ‪ – SQL Server‬تکمیلی – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش کار با دستورات پایگاه داده در ‪ – SQL Server‬کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫مجموعه آموزش های برنامه نویسی متلب (‪ – )MATLAB‬کلیک کنید (‪)+‬‬
‫‪ 7‬ساعت‬ ‫مجموعه آموزش های برنامه نویسی متلب پیشرفته – کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش برنامه نویسی اندروید (‪ – )Android‬مقدماتی – کلیک کنید (‪)+‬‬
‫‪ 20‬ساعت‬ ‫آموزش برنامه نویسی اندروید (‪ – )Android‬تکمیلی – کلیک کنید (‪)+‬‬
‫‪ 26‬ساعت‬ ‫آموزش برنامه نویسی اندروید (‪ – )Android‬پیشرفته – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش پروژه محور برنامه نویسی دلفی (‪ – )Delphi‬کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش زبان برنامه نویسی فرترن (‪ – )Fortran‬مقدماتی – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش مروری زبان برنامه نویسی ‪ FORTRAN‬با مثال های کاربردی – کلیک کنید (‪)+‬‬
‫آموزش پروژه محور اینترنت اشیا (‪ - )IoT‬کنترل لوازم منزل با شبکه و پیامک و ماژول ههای ‪ SIM‬و‬
‫‪ 10‬ساعت‬
‫‪ – ESP8266‬کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش برنامه نویسی ‪( Swift‬سوئیفت) برای برنامه نویسی ‪ – iOS‬کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫آموزش برنامه نویسی پاسکال (‪ – )Pascal‬کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش برنامه نویسی برای دانش آموزان با اسمال بیسیک (‪ – )Small Basic‬کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫آموزش برنامه نویسی تصویری به کودکان با زبان اسکرچ (‪ – )Scratch‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش محافظت از کدهای نرم افزاری با ‪( SmartAssembly‬اسمارت اسمبلی) – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪71‬‬ ‫ذخیره و بازیابی اطالعات‬

‫برنامه نویسی (ادامه از صفحه قبل)‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 10‬ساعت‬ ‫آموزش مبانی برنامه نویسی (الگوریتم و فلوچارت) با رویکرد حل مسأله – کلیک کنید (‪)+‬‬
‫آموزش پروژه محور ‪( Python‬پایتون) ‪ -‬ساخت نرم افزار برای ‪ Windows‬و ‪ – Linux‬کلیک کنید‬
‫‪ 10‬ساعت‬
‫(‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش برنامه نویسی آردوینو (‪ )Arduino‬با پایتون (‪ – )Python‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش ساخت اپلیکیشن اندروید (‪ )Android‬با ‪ PHP‬و ‪ – MySQL‬کلیک کنید (‪)+‬‬
‫آموزش مقدماتی زبان برنامه نویسی کاتلین (‪ )Kotlin‬بهرای توسهعه اندرویهد (‪ – )Android‬کلیهک‬
‫‪ 3‬ساعت‬
‫کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش داکر (‪ )Docker‬برای توسعه دهندگان – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش توسعه وب با زبان برنامه نویسی ‪ – Go‬کلیک کنید (‪)+‬‬
‫‪ 13‬ساعت‬ ‫آموزش ویژوال بیسیک دات نت (‪ – )Visual Basic.NET‬مقدماتی – کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش ویژوال بیسیک دات نت (‪ – )Visual Basic.NET‬تکمیلی – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش تاریخچه گیت (‪ )Git‬و مقدمات آن – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش گیت (‪ )Git‬برای مدیریت نسخه توزیع شده – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش زبان برنامه نویسی ‪ AWK‬در لینوکس ‪ -‬پردازش و آنالیز فایل های متنی – کلیک کنید (‪)+‬‬
‫‪ 7‬ساعت‬ ‫آموزش برنامه نویسی ‪ R‬و نرم افزار ‪ – RStudio‬کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش تکمیلی برنامه نویسی ‪ R‬و نرم افزار ‪ – RStudio‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش مقدماتی ساخت ربات تلگرام با ‪ – PHP‬کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش کتابخانه قالب استاندارد (‪ )STL‬در ‪ C++‬برای ساده نویسی برنامه ها – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش برنامه نویسی با روش سه الیه به زبان ‪ – VB.Net‬کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش بازی سازی در پایتون با کتابخانه ‪ – Pygame‬کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش پایتون گرافیکی (رابط های گرافیکی پایتون) – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش ساخت ربات تلگرام با پایتون (‪ – )Python‬کلیک کنید (‪)+‬‬
‫‪ 7‬ساعت‬ ‫مجموعه آموزش های طراحی رابط های گرافیکی (‪ )GUI‬در متلب‬
‫‪ 14‬ساعت‬ ‫آموزش تکمیلی طراحی رابط گرافیکی کاربر (‪ )GUI‬با متلب (‪ – )MATLAB‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش ساخت ربات تلگرام با متلب (‪ – )MATLAB‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش ساخت ربات تلگرام با جاوا (‪ – )Java‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش پایگاه داده ها در جاوا – کلیک کنید (‪)+‬‬
‫آموزش کار با فایل ها در جاوا با پکیج ‪( Java/IO‬به همراه پروژه دفترچه یادداشهت) – کلیهک کنیهد‬
‫‪ 3‬ساعت‬
‫(‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش پروژه محور جاوا ‪ -‬تولید ‪ QR code‬و ایجاد و اسکن بارکد (‪ – )Barcode‬کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪72‬‬ ‫ذخیره و بازیابی اطالعات‬

‫برنامه نویسی (ادامه از صفحه قبل)‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 6‬ساعت‬ ‫آموزش پروژه محور جاوا (‪ - )Java‬طراحی و ساخت شبکه اجتماعی – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش طراحی رابط کاربری مدرن در ‪ .NET‬با کامپوننت های جانوس (‪ – )Janus‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش ساخت بازی ساده در ویژوال بیسیک – کلیک کنید (‪)+‬‬
‫آموزش پیاده سازی سیستم انبارداری و فروش با ویژوال بیسیک دات نت (‪ – )VB.NET‬مقدماتی –‬
‫‪ 10‬ساعت‬
‫کلیک کنید (‪)+‬‬
‫آموزش پیاده سازی سیستم انبارداری و فروش با ویژوال بیسیک دات نت (‪ – )VB.NET‬تکمیلهی –‬
‫‪ 12‬ساعت‬
‫کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش مقدماتی پیاده سازی مسائل بهینه سازی در پایتون (‪ – )Python‬کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش الگوهای طراحی (‪ )Design Patterns‬در پایتون (‪ – )Python‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش رایگان نکات و ترفندهای متلب – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫مجموعه آموزش های برنامه نویسی متلب برای علوم و مهندسی – کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫آموزش فریم ورک ‪ Spring‬در جاوا – کلیک کنید (‪)+‬‬
‫‪ 18‬ساعت‬ ‫آموزش ‪ ORM‬هایبرنیت (‪ )Hibernate‬جاوا (‪ – )Java‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش آشنایی با ‪ LINQ to SQL‬در ‪ – C#‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش برنامه نویسی تحت شبکه با سی شارپ در قالب پروژه – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش برنامه نویسی با روش سه الیه به زبان سی شارپ – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش ‪ Cryptography‬در دات نت – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش قفل نرم افزاری در ‪ C#‬از طریق رجیستری – کلیک کنید (‪)+‬‬
‫‪ 19‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬سیستم مدیریت آموزشگاه – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬سیستم مدیریت حسابداری و انبارداری – کلیک کنید (‪)+‬‬
‫‪ 7‬ساعت‬ ‫آموزش برنامه نویسی سورس کدهای الگوریتمی در سی شارپ – کلیک کنید (‪)+‬‬
‫‪ 10‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬پیاده سازی سیستم هتلداری – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش ساخت سیستم آزمون گیر در سی شارپ – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش ارسال و دریافت پیامک با مودم در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬پیاده سازی سیستم مدیریت آتلیه – کلیک کنید (‪)+‬‬
‫‪ 7‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬پیاده سازی سیستم نوبت دهی – کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬پیاده سازی سیستم صدور بلیط – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش رسم نمودار در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 7‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬سیستم مدیریت بانک – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش ساخت بازی با سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش ‪( Metaprogramming‬برنامه نویسی متا) در پایتون – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪73‬‬ ‫ذخیره و بازیابی اطالعات‬

‫برنامه نویسی (ادامه از صفحه قبل)‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 12‬ساعت‬ ‫آموزش کاربردی ‪ Entity Framework‬در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬پیاده سازی سیستم مدیریت کارمندان – کلیک کنید (‪)+‬‬
‫آموزش پروژه محور سی شارپ (‪ – )C#‬پیاده سازی سیستم مدیریت چک های بانکی – کلیک کنیهد‬
‫‪ 6‬ساعت‬
‫(‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬شبیه سازی دستگاه عابر بانک – کلیک کنید (‪)+‬‬
‫آموزش گزارش گیری با کریستال ریپورت و استیمول سافت (‪ )Stimulsoft‬در سهی شهارپ (‪– )C#‬‬
‫‪ 2‬ساعت‬
‫کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش پایگاه داده اس کیو الیت (‪ )SQLite‬در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ - )C#‬پیاده سازی نرم افزار حسابداری شخصی – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ – )C#‬پیاده سازی سیستم رستوران آنالین – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش کار با بانک اطالعاتی اکسس (‪ )Access‬در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش کار با فایل ها و دایرکتوری در ‪( C#‬سی شارپ) – کلیک کنید (‪)+‬‬
‫آموزش پروژه محور سی شارپ ‪ – C#‬پیاده سازی نرم افزار ‪( FeedReader‬فیدریدر) – کلیک کنید‬
‫‪ 3‬ساعت‬
‫(‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش کار با دستورات گرافیکی در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش مقدماتی ‪ WPF‬در سی شارپ (‪ )C#‬برای ساخت و اجرای اینترفیس – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش ‪ WPF‬در سی شارپ برای ساخت و اجرای اینترفیس – پیشرفته – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش ‪ WPF‬در سی شارپ (‪ )C#‬برای ساخت و اجرای اینترفیس – تکمیلی – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش ساخت ربات تلگرام با سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫آموزش پروژه محور پایگاه داده ‪ LocalDB‬در سهی شهارپ (‪ - )C#‬سیسهتم مهدیریت کارمنهدان –‬
‫‪ 12‬ساعت‬
‫کلیک کنید (‪)+‬‬
‫آموزش کتابخانه ‪ Spire.Doc‬در سی شارپ (‪ )C#‬برای ایجاد و ویرایش فایل ‪ – Word‬کلیک کنید‬
‫‪ 5‬ساعت‬
‫(‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش پروژه محور سی شارپ (‪ - )C#‬ساخت برنامه دانلودگر – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪74‬‬ ‫ذخیره و بازیابی اطالعات‬

‫علوم کامپیوتر‬
‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 10‬ساعت‬ ‫آموزش ساختمان داده ها – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش پیشرفته ساختمان داده (همراه با حل نمونه سواالت کنکور ارشد و دکتری) – کلیک کنید (‪)+‬‬
‫‪ 20‬ساعت‬ ‫آموزش ساختمان داده ها (مرور – تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش سیستم های عامل – کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش سیستم عامل (مرور ‪ -‬تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش پایگاه داده ها – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش پایگاه داده ها (مرور – تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 10‬ساعت‬ ‫آموزش طراحی و پیاده سازی زبان های برنامه سازی – کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش طراحی و پیاده سازی زبان های برنامه سازی (مرور – تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش طراحی الگوریتم – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش طراحی الگوریتم به همراه حل مثال های عملی – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش روش های حل روابط بازگشتی – کلیک کنید (‪)+‬‬
‫آموزش رابطه های بازگشتی در طراحی الگوریتم و ساختمان گسسته (مرور ‪ -‬تسهت کنکهور ارشهد) –‬
‫‪ 2‬ساعت‬
‫کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش طراحی الگوریتم (مرور – تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫آموزش روش تقسیم و حل در طراحی الگوریتم (مرور ‪ -‬تست کنکور کارشناسی ارشد) – کلیک کنیهد‬
‫‪ 2‬ساعت‬
‫(‪)+‬‬
‫‪ 18‬ساعت‬ ‫آموزش مبانی منطق و نظریه مجموعه ها – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش مدار منطقی (مرور – تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش مبانی الکترونیک دیجیتال ‪ -‬بخش اول – کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش مبانی الکترونیک دیجیتال ‪ -‬بخش دوم – کلیک کنید (‪)+‬‬
‫‪ 20‬ساعت‬ ‫آموزش معماری کامپیوتر با رویکرد حل مساله ‪ -‬مقدماتی– کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش معماری کامپیوتر با رویکرد حل مساله – پیشرفته – کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش نظریه زبان ها و ماشین ها – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش نظریه زبان ها و ماشین (مرور ‪ -‬تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش شبیه سازی و تست نظریه زبان ها و ماشین در ‪ – JFLAP‬کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش یادگیری عمیق در پزشکی – کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش ساختمان گسسته با رویکرد حل مساله – کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش ساختمان گسسته (مرور و حل تست های کنکور کارشناسی ارشد) – کلیک کنید (‪)+‬‬
‫‪ 13‬ساعت‬ ‫آموزش آمار و احتمال مهندسی – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش آمار و احتمال مهندسی (حل تمرین و تست کنکور ارشد) – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪75‬‬ ‫ذخیره و بازیابی اطالعات‬

‫علوم کامپیوتر (ادامه از صفحه قبل)‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 19‬ساعت‬ ‫آموزش شبکه های کامپیوتری ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 23‬ساعت‬ ‫آموزش شبکه های کامپیوتری ‪ - 2‬همراه با حل مسأله – کلیک کنید (‪)+‬‬
‫آموزش شبیه سازی شبکه های مبتنی بر سیسکو (‪ )Cisco‬در نرم افزار ‪ – Boson NetSim‬کلیک‬
‫‪ 1‬ساعت‬
‫کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش طراحی کامپایلر – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش طراحی کامپایلر (مرور و حل تست های کنکور کارشناسی ارشد) – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش ذخیره و بازیابی اطالعات – کلیک کنید (‪)+‬‬
‫‪ 23‬ساعت‬ ‫آموزش ساختمان داده ها همراه با پیاده سازی در ‪ – C++‬کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش انتقال داده ها در شبکه های کامپیوتری و اینترنت به همراه حل مسائل – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش مقدماتی ‪( Hadoop‬هدوپ) برای تجزیه و تحلیل کالن داده – کلیک کنید (‪)+‬‬
‫‪ 22‬ساعت‬ ‫آموزش نظریه صف (‪ – )Queueing theory‬کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش گرافیک کامپیوتری – کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش گرافیک کامپیوتری با ‪ – OpenGL‬کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش مهندسی نرم افزار ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 10‬ساعت‬ ‫آموزش زبان تخصصی مهندسی کامپیوتر – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش مروری بر پیچیدگی محاسبات (‪ – )Computational Complexity‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش تبدیل فلوچارت به کد با ‪ – Flowgorithm‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش نرم افزار ‪ RAPTOR‬برای ترسیم فلوچارت – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش حل سواالت کنکور کارشناسی ارشد کامپیوتر – ‪ – 94‬کلیک کنید (‪)+‬‬
‫‪ 17‬ساعت‬ ‫آموزش مرور و حل تست های کنکور کارشناسی ارشد معماری کامپیوتر – کلیک کنید (‪)+‬‬
‫‪ 10‬ساعت‬ ‫آموزش برنامه نویسی اسمبلی – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش نظریه گراف و کاربردها – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش ترکیبیات و کاربردها – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش نظریه بازی ها و کاربرد آن در اقتصاد – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش مدل سازی ‪ UML‬با نرم افزار ‪ – Rational Rose‬کلیک کنید (‪)+‬‬
‫‪ 13‬ساعت‬ ‫آموزش الگوریتم موازی و پردازش موازی – کلیک کنید (‪)+‬‬
‫‪ 20‬ساعت‬ ‫آموزش ترکیب اطالعات (‪ – )Information Fusion‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش نهان نگاری دیجیتال (‪ – )Digital watermarking‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش نهان نگاری و پیاده سازی آن در سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش واترمارکینگ در نهان نگاری با سی شارپ (‪ – )C#‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش شبکه های پیچیده پویا (‪ – )Complex Dynamical Networks‬کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪76‬‬ ‫ذخیره و بازیابی اطالعات‬

‫علوم کامپیوتر (ادامه از صفحه قبل)‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 3‬ساعت‬ ‫آموزش تخمین تالش الزم برای توسعه نرم افزارها با متلب – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش توسعه نرم افزار با متد ‪ ICONIX‬و زبان مدل سازی ‪ –UML‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش نگارش پروپوزال‪ ،‬پایان نامه و ارائه ‪ -‬ویژه پردازش تصویر و بینایی کامپیوتر – کلیک کنید (‪)+‬‬

‫هوش مصنوعی‬
‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 4‬ساعت‬ ‫آموزش هوش مصنوعی – کلیک کنید (‪)+‬‬
‫‪ 19‬ساعت‬ ‫آموزش هوش مصنوعی – تکمیلی – کلیک کنید (‪)+‬‬
‫‪ 24‬ساعت‬ ‫آموزش هوش مصنوعی توزیع شده – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش هوش مصنوعی (مرور و حل تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 28‬ساعت‬ ‫مجموعه آموزش های شبکه های عصبی مصنوعی در متلب – کلیک کنید (‪)+‬‬
‫‪ 10‬ساعت‬ ‫مجموعه آموزش های کاربردی شبکه های عصبی مصنوعی – کلیک کنید (‪)+‬‬
‫آموزش طراحی سیستم های فازی عصبی یا ‪ ANFIS‬با استفاده از الگوریتم های فراابتکاری و تکاملی‬
‫‪ 2‬ساعت‬
‫– کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش کاربردی مکاترونیک ‪ -‬محاسبات پایه طراحی درب های خودکار – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش شبکه عصبی ‪ GMDH‬به همراه پیاده سازی عملی در متلب – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش شبکه های عصبی گازی به همراه پیاده سازی عملی در متلب – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش طبقه بندی و بازشناسی الگو با شبکه های عصبی ‪ LVQ‬در متلب – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش یادگیری عمیق (‪ – )Deep learning‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش برنامه نویسی یادگیری عمیق با پایتون (‪ TensorFlow‬و ‪ – )Keras‬کلیک کنید (‪)+‬‬
‫‪ 21‬ساعت‬ ‫مجموعه آموزش های سیستم های فازی در متلب – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫مجموعه آموزش های تئوری و عملی الگوریتم ژنتیک – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش پیاده سازی ترکیب الگوریتم ژنتیک و ‪ PSO‬در متلب – کلیک کنید (‪)+‬‬
‫‪ 19‬ساعت‬ ‫مجموعه آموزش های بهینه سازی چند هدفه در متلب – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش حل مساله فروشنده دوره گرد با استفاده از الگوریتم ژنتیک – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش انتخاب ویژگی یا ‪ – Feature Selection‬کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش انتخاب ویژگی با استفاده از الگوریتم های فراابتکاری و تکاملی – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش تخمین خطای طبقه بندی یا ‪ – Classifier Error Estimation‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش کاهش تعداد رنگ تصاویر با استفاده از روش های خوشه بندی هوشمند – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪77‬‬ ‫ذخیره و بازیابی اطالعات‬

‫مهندسی برق‬
‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 11‬ساعت‬ ‫آموزش الکترونیک ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 25‬ساعت‬ ‫آموزش حل تمرین الکترونیک ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش الکترونیک ‪( 1‬مرور و حل تست) – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش الکترونیک ‪ – 2‬کلیک کنید (‪)+‬‬
‫‪ 25‬ساعت‬ ‫آموزش حل تمرین الکترونیک ‪ – 2‬کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش الکترونیک ‪( 2‬مرور و حل تست) – کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش الکترونیک ‪ – 3‬کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش الکترونیک ‪( 3‬مرور و حل مساله) – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش مبانی مهندسی برق ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش مبانی مهندسی برق ‪( 1‬مرور و حل مساله) – کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش مبانی مهندسی برق ‪ – 2‬کلیک کنید (‪)+‬‬
‫‪ 24‬ساعت‬ ‫آموزش مدارهای الکتریکی ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 17‬ساعت‬ ‫آموزش حل تمرین مدارهای الکتریکی ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش مدارهای الکتریکی ‪( 1‬مرور و حل تست) – کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش مدارهای الکتریکی ‪ – 2‬کلیک کنید (‪)+‬‬
‫‪ 18‬ساعت‬ ‫آموزش مدارهای الکتریکی ‪( 2‬حل تمرین) – کلیک کنید (‪)+‬‬
‫‪ 13‬ساعت‬ ‫آموزش مدارهای الکتریکی ‪( 2‬مرور و حل تست) – کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش هندسه فینسلر (‪ – )Finsler Geometry‬کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش زبان تخصصی مهندسی برق (همراه با حل نمونه سواالت کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش مروری ماشین های الکتریکی ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش ماشین های الکتریکی ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش ماشین های الکتریکی ‪( 1‬مرور و حل تست) – کلیک کنید (‪)+‬‬
‫‪ 17‬ساعت‬ ‫آموزش ماشین های الکتریکی ‪ – 2‬کلیک کنید (‪)+‬‬
‫‪ 13‬ساعت‬ ‫آموزش ماشین های الکتریکی ‪( 2‬مرور و حل تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش ماشین های الکتریکی ‪ – 3‬کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش مدارهای مخابراتی – کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش ماشین های الکتریکی مخصوص – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش کنترل موتورهای الکتریکی صنعتی ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 17‬ساعت‬ ‫آموزش کنترل موتورهای الکتریکی صنعتی ‪ – 2‬کلیک کنید (‪)+‬‬
‫‪ 15‬ساعت‬ ‫آموزش کنترل صنعتی ‪ -‬حل مساله – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪78‬‬ ‫ذخیره و بازیابی اطالعات‬

‫مهندسی برق (ادامه از صفحه قبل)‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 9‬ساعت‬ ‫مجموعه آموزش های مدارهای منطقی (طراحی دیجیتال) – کلیک کنید (‪)+‬‬
‫‪ 12‬ساعت‬ ‫آموزش مبانی الکترونیک دیجیتال ‪ -‬بخش اول – کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش مبانی الکترونیک دیجیتال ‪ -‬بخش دوم – کلیک کنید (‪)+‬‬
‫‪ 20‬ساعت‬ ‫آموزش الکترومغناطیس مهندسی – کلیک کنید (‪)+‬‬
‫‪ 18‬ساعت‬ ‫آموزش الکترومغناطیس مهندسی (مرور و حل تست کنکور ارشد) – کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش الکترومغناطیس ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش مقدماتی شبکه های هوشمند (‪ )Smart grid‬انرژی الکتریکی – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش کاربردی مکاترونیک ‪ -‬محاسبات پایه طراحی درب های خودکار – کلیک کنید (‪)+‬‬
‫آموزش کامسول مولتی فیزیکس ‪( COMSOL Multiphysics -‬مباحث منتخب) – کلیک کنیهد‬
‫‪ 2‬ساعت‬
‫(‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش نرم افزار ‪ COMSOL Multiphysics‬برای پدیده های الکترومغناطیس – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش شبیه سازی مدوالسیون دیجیتال در متلب (‪ – )MATLAB‬کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش نرم افزار سیلواکو (‪ )SILVACO‬برای شبیه سازی افزاره های نیمه رسانا – کلیک کنید (‪)+‬‬

‫ابزار مدیریت وبسایت‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 1‬ساعت‬ ‫آموزش کار با ‪ – cPanel‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش کار با کنترل پنل ‪ plesk‬برای ارائه خدمات وب – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش مدیریت هاست با دایرکت ادمین (‪ – )DirectAdmin‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش جومال (‪ )Joomla‬برای راه اندازی و مدیریت وب سایت – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش نرم افزار ‪ Mobirise‬برای ساخت وب سایت بدون کدنویسی – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش مقدماتی ‪ Oracle APEX‬برای تولید و توسعه نرم افزارهای تحت وب – کلیک کنید (‪)+‬‬
‫‪ 11‬ساعت‬ ‫آموزش وردپرس (‪ – )WordPress‬مقدماتی – کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫مجموعه آموزش های راه اندازی سایت و کار با وردپرس – تکمیلی – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش گوگل آنالیتیکس (‪ )Google Analytics‬برای تحلیل آمار وب سایت – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش آنالیز و بهینه سازی سایت با ‪ – GTmetrix‬کلیک کنید (‪)+‬‬
‫‪ 10‬ساعت‬ ‫آموزش تست نفوذ در وب و راه های مقابله با آن – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪79‬‬ ‫ذخیره و بازیابی اطالعات‬

‫طراحی و گرافیک‬
‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 12‬ساعت‬ ‫آموزش فتوشاپ (‪ – )Photoshop‬مقدماتی – کلیک کنید (‪)+‬‬
‫مجموعه آموزش های کاربردی طراحی و گرافیک با نرم افزار کورل (‪ – )CorelDRAW‬کلیک کنید‬
‫‪ 14‬ساعت‬
‫(‪)+‬‬
‫‪ 10‬ساعت‬ ‫آموزش کورل پیشرفته – کلیک کنید (‪)+‬‬
‫‪ 10‬ساعت‬ ‫آموزش نرم افزار طراحی گرافیکی ‪ – Adobe Illustrator‬کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش نرم افزار طراحی گرافیکی ‪ – Adobe Illustrator‬تکمیلی – کلیک کنید (‪)+‬‬
‫آموزش مقایسه نهرم افزارههای گرافیکهی ‪ – Photoshop , CorelDRAW , Illustrator‬کلیهک‬
‫‪ 1‬ساعت‬
‫کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش مقدماتی طراحی کاراکتر در ‪( Adobe Illustrator‬کاراکتر پلیس) – کلیک کنید (‪)+‬‬
‫‪ 8‬ساعت‬ ‫آموزش نرم افزار ‪ Blender‬برای طراحی و مدل سازی سه بعدی – کلیک کنید (‪)+‬‬
‫‪ 14‬ساعت‬ ‫آموزش مدل سازی کاراکتر در بلندر ‪ -‬ایده پردازی تا ریگ – کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش طراحی فلت (‪ )Flat design‬با کورل (‪ – )CorelDRAW‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش فتوشاپ برای استفاده در صنعت چاپ و تبلیغات – کلیک کنید (‪)+‬‬
‫آموزش تایپوگرافی (‪ - )Typography‬سایه زدن حروف در فتوشاپ (‪ – )Photoshop‬کلیک کنیهد‬
‫‪ 3‬ساعت‬
‫(‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش پروژه محور فتوشاپ (‪ - )Photoshop‬ساخت ماسک (‪ )Mask‬فانتزی – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش آشنایی با پنل ‪ Adjustments‬در فتوشاپ – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش ساخت جلوه های ویژه در فتوشاپ – کلیک کنید (‪)+‬‬
‫‪ 6‬ساعت‬ ‫آموزش ‪( Adobe Lightroom‬ادوبی الیت روم) برای ویرایش و روتوش تصاویر – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش ‪ Adobe Dimension‬برای ایجاد تصاویر سه بعدی محصوالت و تبلیغات – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش ‪( Adobe Bridge‬ادوبی بریج) برای مدیریت فایل های چندرسانه ای – کلیک کنید (‪)+‬‬
‫‪ 4‬ساعت‬ ‫آموزش ایندیزاین (‪ )InDesign‬برای چاپ و صفحه آرایی کتاب و مجالت – کلیک کنید (‪)+‬‬
‫‪ 22‬ساعت‬ ‫آموزش نرم افزار ‪( SketchBook Pro‬اسکچ بوک) برای طراحی آناتومی حیوانات – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش طراحی مفهومی (‪ )Conceptual‬خودرو با ‪ – SketchBook‬کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش نقاشی سه بعدی با نرم افزار ‪ Paint 3D‬ویندوز – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش مبانی هنرهای تجسمی ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 1‬ساعت‬ ‫آموزش اصول طراحی نشانه (‪ – )Sign Design‬کلیک کنید (‪)+‬‬
‫‪ 9‬ساعت‬ ‫آموزش نقاشی دیجیتال با ‪ Photoshop‬و ‪ – Mischief‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش طراحی لوگو با ‪ – Adobe Illustrator‬کلیک کنید (‪)+‬‬
‫آموزش طراحی محیط بازی ههای دو بعهدی بها نهرم افهزار ‪ Adobe Illustrator‬و ‪– Photoshop‬‬
‫‪ 3‬ساعت‬
‫کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪80‬‬ ‫ذخیره و بازیابی اطالعات‬

‫طراحی و گرافیک (ادامه از صفحه قبل)‬


‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 1‬ساعت‬ ‫آموزش طراحی لوگو ‪ -‬آشنایی با مفاهیم و ایده پردازی (همراه با مثال عملی) – کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش طراحی برچسب و کاور ‪ CD‬و ‪ – DVD‬کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش ابزار سه بعدی در فتوشاپ (‪ - )Photoshop‬کلیک کنید (‪)+‬‬
‫‪ 2‬ساعت‬ ‫آموزش فتوشاپ سه بعدی ‪ -‬طراحی و متحرک سازی ‪ -‬کلیک کنید (‪)+‬‬
‫آموزش موتور رندر آرنولد (‪ )Arnold Renderer‬بهرای ایجهاد جلهوه ههای ویهژه در ‪- DS Max3‬‬
‫‪ 2‬ساعت‬
‫کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش کاربرد فتوشاپ در معماری ‪ -‬کلیک کنید (‪)+‬‬

‫روباتیک‬
‫مدت زمان تقریبی‬ ‫عنوان آموزش‬
‫‪ 2‬ساعت‬ ‫آموزش رباتیک و ربات های سری – کلیک کنید (‪)+‬‬
‫آموزش برنامه نویسی آردوینو (‪ )Arduino‬با محوریت پروژه های رباتیک – مقدماتی – کلیک کنیهد‬
‫‪ 9‬ساعت‬
‫(‪)+‬‬
‫‪ 7‬ساعت‬ ‫آموزش برنامه نویسی آردوینو (‪ – )Arduino‬تکمیلی – کلیک کنید (‪)+‬‬
‫‪ 3‬ساعت‬ ‫آموزش سینماتیک مستقیم و معکوس روبات ها – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش مبانی ربات های برنامه پذیر – کلیک کنید (‪)+‬‬
‫‪ 16‬ساعت‬ ‫آموزش شبیه سازی و کنترل ربات با اندروید (‪ – )Android‬کلیک کنید (‪)+‬‬
‫‪ 13‬ساعت‬ ‫آموزش مکاترونیک کاربردی ‪ – 1‬کلیک کنید (‪)+‬‬
‫‪ 7‬ساعت‬ ‫آموزش مکاترونیک کاربردی ‪ – 2‬کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش کاربردی مکاترونیک ‪ -‬محاسبات پایه طراحی درب های خودکار – کلیک کنید (‪)+‬‬
‫‪ 19‬ساعت‬ ‫آموزش برد آردوینو (‪ )Arduino‬با انجام پروژه های عملی – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش پروژه محور آردوینو با سی شارپ و اندروید – کنترل موتور پله ای – کلیک کنید (‪)+‬‬
‫‪ 5‬ساعت‬ ‫آموزش پیاده سازی سیستم های کنترلی با آردوینو – کلیک کنید (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪81‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪:7‬‬
‫ساختار ترتیبی‬

‫معرفی ساختار ترتیبی‬


‫فایل ترتیبی بر دو نوع ترتیبی زمانی و ترتیبی کلیدی می باشد‪ .‬در فایل ترتیبی زمانی‪ ،‬رکوردهها بهه ترتیهب‬
‫ورود به سیستم ذخیره میشوند و حالت خاصی از فایل پایل است که در آن رکوردها دارای قالب ثابت مکان‬
‫می باشند‪ .‬در فایل ترتیبی کلیدی‪ ،‬رکوردها به ترتیب کلید ذخیره می شوند‪ .‬این فایل نسبت به فایهل پایهل‬
‫دو بهبود ساختاری دارد ‪:‬‬
‫‪ -1‬در لود اولیه‪ ،‬همه رکوردها براساس مقادیر کلید مرتب هستند و این نظم با همجواری فیزیکهی رکوردهها‬
‫پیاده سازی می شود‪.‬‬
‫‪ -2‬قالب رکوردها ثابت مکان است و نیازی به ذخیرهسازی اسم صفت خاصه نمیباشد و فقط مقهدار صهفت‬
‫خاصه ذخیره میشود‪ .‬قالب رکورد آن به صورت زیر است‪:‬‬
‫‪V1‬‬ ‫‪V2‬‬ ‫…‬ ‫‪Vn‬‬

‫این دو بهبود ساختاری نسبت به فایل پایل دارای مزایا و معایبی زیر می باشد ‪:‬‬
‫الف‪ -‬مزایا‬
‫‪ -1‬صرفه جویی در حافظه به علت ذخیره نکردن اسم صفت خاصه‬
‫‪ -2‬سادگی قالب رکورد‬
‫‪ -3‬سادگی نرم افزار پردازش فایل‬
‫‪ -4‬وجود یک استراتژی دستیابی‬
‫‪ -5‬سریع شدن پردازش سریال فایل‬
‫ب‪ -‬معایب‬
‫‪ -1‬کاهش انعطاف پذیری ساختار ‪.‬‬
‫‪ -2‬مصرف حافظه بیشتر به علت در نظر گرفتن فیلد برای اطالع نهست‬
‫‪ -3‬عدم تقارن)‪ : (Asymmetry‬چون استراتژی دستیابی فقط متکی به کلیهد اسهت و صهفات دیگهر نقهش‬
‫ندارند‪.‬‬

‫در ساختار ترتیبی نمیتوان طول رکورد را تغییر داد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪82‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فایل ‪T.L.F‬‬
‫فایل ثبت تراکنش ها (‪ )Transaction Log File‬در عملیات درج استفاده مهی شهود‪ .‬در عمهل درج‪ ،‬رکهورد درج‬
‫شدنی باید در محل منطقی اش درج شود و اگر فایل بزرگ باشد‪ ،‬این عمل بهه زمهان زیهادی نیهاز دارد‪ .‬بهه‬
‫‪T.L.F‬‬ ‫همین علت فایل ترتیبی را فقط خواندنی ایجاد میکنند و تمام عملیات تغییر دهنده در فایلی بهه نهام‬
‫انجام میشود‪ .‬ظرفیت فایل ‪ T.L.F‬با توجه به حجم عملیات تغییر دهنده و نیاز کاربر تعیین می شود‪.‬‬

‫در ساختار ترتیبی دو نوع فایل وجود دارد‪ ،‬یکی فایل اصلی که ترتیبهی کلیهدی اسهت و دیگهری فایهل‬
‫‪( T.L.F‬ترتیبی زمانی) که در فایل اصلی ادغام میشود و یک فایل ترتیبی جدید تولید میشود‪.‬‬

‫موارد استفاده ساختار ترتیبی‬


‫(وقتی که رکوردها را با سیستم ‪ Batch‬پردازش می کنیم‪ ،‬پردازش سریال آنها به طور پریودیک الزم باشد‪).‬‬ ‫‪ -1‬کاربردهای تجاری‬
‫‪ -2‬نیازی به تغییر طول رکورد نباشد‪.‬‬
‫‪ -3‬واکشی سریع تک رکوردها مورد نظر نباشد‪.‬‬
‫(برای خواندن فایل پایل به صورت سریال‪ ،‬بهتر است عمال فایل ترتیبی ایجاد شود‪).‬‬ ‫‪ -4‬کاربرد سیستمی‬
‫‪ -5‬در ایجاد بعضی از ساختارها الزم است که ابتدا فایل به صورت ترتیبی ایجاد گردد‪.‬‬

‫ارزیابی کارایی ساختار ترتیبی‬

‫متوسط اندازه رکورد‬


‫از آنجا که رکورد دارای قالب ثابت مکان است‪ ،‬می توان نوشت ‪:‬‬
‫‪R  a.V‬‬
‫(‪ : a‬تعداد صفات در یک نمونه رکورد) و (‪ : V‬متوسط حافظه الزم برای ذخیره مقدار صفت)‬

‫محاسبه می شود‪( .‬تعداد رکوردهای فایل تراکنش برابهر‬ ‫‪S=(n+o).R‬‬ ‫ظرفیت فایل در این حالت از رابطه‬
‫‪ o‬و تعداد رکوردهای فایل اصلی برابر ‪ n‬است‪).‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪83‬‬ ‫ذخیره و بازیابی اطالعات‬

‫واکشی رکورد‬
‫برای واکشی یک رکورد در ساختار ترتیبی دو حالت ممکن است ‪:‬‬
‫‪ -1‬آرگومان جستجو کلید نباشد‪.‬‬
‫اگر آرگومان جستجو کلید نباشد‪ ،‬فایل حالتی از پایل خواهد بود و داریم ‪:‬‬
‫‪(n  o ' ) R‬‬
‫‪TF ‬‬ ‫' ‪‬‬
‫‪2‬‬ ‫‪t‬‬
‫( ' ‪ : o‬تعداد رکوردهای ‪ T.L.F‬در لحظه واکشی)‬
‫‪ -2‬آرگومان جستجو کلید باشد‪.‬‬
‫اگر آرگومان جستجو کلید باشد‪ ،‬از یک الگوریتم جستجو استفاده میشود‪ .‬الگوریتم های جسهتجو در ایهن‬
‫حالت عبارتند از ‪ :‬جستجوی دودویی‪ ،‬جستجو با پرش بالکی وجستجو با تخمین و کاوش‪.‬‬

‫جستجوی دودویی‬
‫برای اینکه بتوان الگوریتم جستجوی دودویی را پیاده سازی کرد‪ ،‬فایل باید در یهک فضهای پیوسهته ذخیهره‬
‫شده باشد‪ ،‬چون اگر فایل ناپیوسته باشهد‪ ،‬آنگهاه نمیتهوان ههر بهار آدرس بهالک میهانی را بدسهت آورد‪ .‬در‬
‫جستجوی دودویی‪ ،‬یک جستجو انجام میشود تا بالک حاوی رکورد مورد نظر‪ ،‬پیدا شهود‪ .‬سهپس بهرای ههر‬
‫بالک که به بافر آورده میشود‪ ،‬یک جستجو دودویی درون بالکی انجام میشود تا رکورد مورد نظرپیدا شهود‪.‬‬
‫ممکن است رکورد در فایل ‪ T.L.F‬باشد‪ ،‬که باید فایل تراکنش را نیز خواند‪.‬‬
‫‪nR‬‬
‫(‬ ‫)‬ ‫‪o' R‬‬
‫( ‪TF  [( s  r  btt  C B )  log 2 B ] ‬‬ ‫) ‪.‬‬
‫'‪2 t‬‬
‫‪ : s  r  btt‬زمان خواندن مستقیم یک بالک (بالک میانی)‬
‫‪ : C B‬زمان بررسی محتوای بالک ( آیا رکورد در بالک هست یا نه )‬
‫‪nR‬‬
‫(‬ ‫)‬
‫‪ log 2 B‬یا ‪ : log b2‬تعداد مراجعات به فایل(واحد جستجو در سطح خارجی بالک است )‬
‫‪T.L.F‬‬ ‫‪ :‬زمان واکشی رکورد از‬ ‫‪O R‬‬
‫‪.‬‬
‫‪2 t‬‬

‫جستجو با پرش بالکی )‪(Skipped block search‬‬


‫این جستجو مانند جستجوی خطی است‪ ،‬با این تفاوت که در جستجوی داخل بالک‪ ،‬کلید رکورد مورد نظهر‬
‫با کلید رکورد آخر بالک مقایسه میشود و در صورت بزرگتر بودن با پرش از بالک‪ ،‬بالک بعدی خوانده شده‬
‫و در صورت کوچکتر بودن محتوای بالک خوانده می شود‪ .‬در این حالهت بطهور متوسهط نصهف بالکهها بایهد‬
‫خوانده شود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪84‬‬ ‫ذخیره و بازیابی اطالعات‬

‫باشد ‪ ،‬آنگاه تعداد رکوردهایی کهه بایهد بررسهی شهود بهه‬ ‫در جستجوی پرش بالکی ‪ ،‬اگر ‪ B f‬برابر ‪n‬‬
‫است‪.‬‬ ‫حداقل می رسد‪ .‬به عبارتی ‪ B f‬بهینه برابر ‪n‬‬

‫می باشد‪.‬‬ ‫حداقل تعداد مقایسه ها برای یافتن رکورد به روش جستجو پرش بالکی برابر ‪n‬‬

‫جستجو با تخمین و کاوش )‪(Probing‬‬


‫در این جستجو آدرس تقریبی رکورد تخمین زده میشود و از این آدرس جستجوی خطی انجام میگیرد تها‬
‫رکورد مورد نظر پیدا شود‪ .‬اگر رکورد در کاوش اول پیدا نشود‪ ،‬دوباره آدرس رکهورد تخمهین زده میشهود و‬
‫کاوش انجام میگیرد‪ .‬اگر تعداد بالکهایی که باید خوانده شوند تا رکورد پیدا شود را ‪ k‬در نظر بگیریم‪ ،‬آنگاه‪:‬‬
‫‪B‬‬
‫) ‪TF  k ( )  ( s  r  btt‬‬
‫‪t‬‬

‫تذکر‪ :‬کارایی این روش بستگی به چگونگی توزیع رکوردها دارد‪.‬‬

‫بازیابی رکورد بعدی‬


‫اگر رکورد اول تا رکورد یکی به آخر بالکی را رکورد فعلهی در نظهر بگیهریم‪ ،‬رکهورد بعهدی در همهان بهالک‬
‫خواهد بود و برای بازیابی آن نیاز به خواندن بالک بعدی نمی باشد‪ .‬اما اگهر آخهرین رکهورد بهالک را رکهورد‬
‫فعلی در نظر بگیریم ‪ ،‬آنگاه رکورد بعدی در بالک بعدی خواهد بهود و بایهد بهرای بازیهابی آن بهالک بعهدی‬
‫‪1 B R‬‬ ‫‪1‬‬
‫‪TN ‬‬ ‫'‬
‫می باشد‪ ' .‬‬ ‫خوانده شود‪ .‬احتمال این حالت‬
‫‪Bf t‬‬ ‫‪t‬‬ ‫‪Bf‬‬

‫اگر رکورد بعدی در ‪ T.L.F‬باشد ‪ ،‬چون هیچ ارتبا ساختاری مثال از طریق اشاره گر بین رکورد فعلی از‬
‫منجر می شود که‬ ‫‪T.L.F‬‬ ‫فایل اصلی و رکورد بعدی وجود ندارد ‪ ،‬بازیابی رکورد بعدی به یک جستجو در‬
‫عملی محتوایی است و امکان پذیر نیست‪ ،‬مگر اینکه مقدار کلید رکورد بعهدی را داشهته باشهیم و عمهل‬
‫بازیابی رکورد بعدی تبدیل به واکشی یک رکورد از ‪ T.L.F‬می شود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪85‬‬ ‫ذخیره و بازیابی اطالعات‬

‫درج‬
‫برای درج دو حالت را در نظر می گیریم‪:‬‬
‫‪ -1‬درج در فایلهای کوچک‬
‫در فایلهای کوچک‪ ،‬رکورد را در محل واقعی اش درج مهیکنیم‪ .‬بهرای ایهن کهار محهل درج را پیهدا کهرده و‬
‫رکوردهای دیگر را به سمت انتهای فایل شیفت می دهیم و رکورد را در بالک مهورد نظهر درج مهیکنیم‪ .‬در‬
‫این حالت به طور متوسط نصف بالکها شیفت داده میشوند‪:‬‬
‫‪b B‬‬
‫) ‪TI  TF  ( '  TRW‬‬
‫‪2 t‬‬
‫‪B‬‬
‫‪ :‬زمان شیفت یک بالک )‬ ‫( ‪ : TF‬زمان پیدا کردن محل درج و ‪ TRW‬‬
‫‪t‬‬
‫‪ -2‬درج در حالت کلی‬
‫رکورد در آخرین بالک ‪ T.L.F‬درج میشود تا در سازماندهی مجهدد‪ ،‬بهازآرایی )‪ (Reordering‬شهود و در محهل‬
‫واقعی اش در فایل اصلی قرار بگیرد‪.‬‬
‫‪Ty‬‬
‫‪TI  ( s  3r  btt ) ‬‬
‫‪o‬‬
‫(برابر با زمان درج در فایل پایل )‬ ‫‪T.L.F‬‬ ‫‪ : s  3r  btt‬زمان درج در‬
‫‪Ty‬‬
‫‪T.L.F‬‬ ‫‪ :‬سرشکن کردن زمان سازماندهی مجدد بر روی ‪ o‬رکورد‬
‫‪o‬‬

‫بهنگام سازی‬
‫رکورد مورد نظر را واکشی کرده و بعد از انجام عملیات بهنگام سازی در بافر‪ ،‬رکورد بهنگام درآمده را همهراه‬
‫با یک رکورد کوچک پیوست شده به آن (شامل تاریخ بهنگام سازی و نشهانگر حهذف شهده) ‪ ،‬در ‪ T.L.F‬درج‬
‫می کنیم‪.‬‬
‫‪TU  TF  TI‬‬
‫تذکر‪ :‬منظور از نشانگر حذف شده‪ ،‬این است که نسخه قدیم در فایل اصهلی‪ ،‬در سهازماندهی مجهدد‪ ،‬حهذف‬
‫شدنی است‪.‬‬

‫خواندن تمام فایل‬


‫اگر فایل به طور پی در پی خوانده شود‪:‬‬
‫‪R‬‬
‫)`‪TXseq  (n  o‬‬
‫`‪t‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪86‬‬ ‫ذخیره و بازیابی اطالعات‬

‫و برای خواندن سریال‪ T.L.F ،‬باید مرتب شود ‪:‬‬


‫‪R‬‬
‫) ' ‪Txser  Tsort (o ' )  (n  o‬‬
‫'‪t‬‬
‫تذکر‪ :‬البته گاه در عمل‪ ،‬اگر پریود خواندن سریال طوالنی باشد‪ ،‬فایل اصلی را بها ‪ T.L.F‬ادغهام مهی کننهد‪( .‬‬
‫سازماندهی مجدد) و سپس فایل اصلی جدید که کامال ترتیبی است‪ ،‬خوانده می شود‪.‬‬

‫سازماندهی مجدد‬
‫برای سازماندهی مجدد فایل ترتیبی مراحل زیر انجام می شود‪:‬‬
‫‪ -1‬مرتب کردن فایل تراکنش (همتوالی کردن با فایل اصلی)‬
‫‪ -2‬خواندن فایل اصلی‬
‫‪ -3‬خواندن فایل تراکنش‬
‫‪ -4‬بالک بندی مجدد رکوردها (ادغام آنها طبق نظم) ضمن خارج کردن رکوردهای حذف شدنی‬
‫‪ -5‬بازنویسی کل فایل‪.‬‬
‫‪R‬‬ ‫‪R‬‬ ‫‪R‬‬
‫‪Ty  Tsort (o)  n‬‬ ‫) ‪ o.  (n  o  d‬‬
‫‪t‬‬ ‫‪t‬‬ ‫‪t‬‬
‫پارامترهای زمانی ساختار ترتیبی‬

‫‪(n  o ' ) R‬‬


‫‪TF ‬‬ ‫' ‪‬‬ ‫واکشی (جستجوی خطی)‬
‫‪2‬‬ ‫‪t‬‬
‫‪nR‬‬
‫) (‬ ‫‪o' R‬‬
‫) ' ‪TF  [( s  r  btt  C B )  log 2 B ]  ( .‬‬ ‫(جستجوی دودویی)‬ ‫واکشی‬
‫‪2 t‬‬
‫‪R‬‬
‫‪TN ‬‬ ‫واکشی بعدی‬
‫'‪t‬‬
‫‪Ty‬‬
‫‪TI  ( s  3r  btt ) ‬‬ ‫درج در یک فایل بزرگ‬
‫‪o‬‬
‫‪b B‬‬
‫) ‪TI  TF  ( '  TRW‬‬ ‫درج در یک فایل کوچک‬
‫‪2 t‬‬
‫‪R‬‬
‫)`‪TXseq  (n  o‬‬ ‫خواندن ترتیبی‬
‫`‪t‬‬
‫‪R‬‬
‫)`‪TXseq  Tsort (o`)  (n  o‬‬ ‫خواندن سریال‬
‫`‪t‬‬
‫‪R‬‬ ‫‪R‬‬ ‫‪R‬‬
‫‪Ty  Tsort (o)  n‬‬ ‫) ‪ o.  (n  o  d‬‬ ‫سازماندهی مجدد‬
‫‪t‬‬ ‫‪t‬‬ ‫‪t‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪87‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪:8‬‬
‫ساختار ترتیبی شاخص دار – ساختار چند شاخصی‬

‫معرفی ساختار های شاخص دار‬


‫‪ ،(indexed‬به کمک شاخص میتوان به رکوردها دسترسی پیهدا کهرد‪.‬‬ ‫)‪structures‬‬ ‫در ساختار های شاخص دار‬
‫شیوه بکار رفته در این ساختار در دسته روشهای دسترس تصادفی است‪ .‬در ساختار شاخص دار‪ ،‬دو مجموعه‬
‫رکورد وجود دارد‪:‬‬
‫‪ -1‬رکوردهای داده ای (فایل شاخص بندی شده)‬
‫‪ -2‬رکوردهای شاخص (فایل شاخص)‬
‫تذکر‪ :‬گاه به فایل شاخص بندی شده‪ ،‬مجموعه داده ها و به فایل شاخص‪ ،‬مجموعه شاخص می گویند‬

‫فایل شاخص‬
‫‪V+P‬‬ ‫مجموعهای از تعدادی مدخل‪ ،‬که هر مدخل یک رکورد است که از دو قسمت مقهدار و آدرس بها طهول‬
‫بایت تشکیل شده است‪ .‬در فیلد مقدار‪ ،‬مقدار یک صفت ساده یا مرکب میتوانهد قهرار بگیهرد کهه در حالهت‬
‫خاص شامل مقدار کلید اصلی است ‪ .‬همچنین فیلد آدرس به یهک رکهورد یها گروههی از رکوردهها در فایهل‬
‫دادهای اشاره میکند‪.‬‬

‫انواع شاخص‬
‫شاخص را می توان به دو نوع تقسیم کرد‪:‬‬
‫‪ :‬صفت خاصه شاخص‪ ،‬کلید اصلی باشد‪.‬‬ ‫)‪( Primary index‬‬ ‫‪ -1‬شاخص اصلی‬
‫‪ : ( Secondary‬صفت خاصه شاخص‪ ،‬کلید ثانویه است‪.‬‬ ‫ثانویه )‪index‬‬ ‫‪ -2‬شاخص‬
‫تذکر‪ :‬صفت خاصه ای غیر از کلید اصلی که خاصیت کلید بودن را دارد‪ ،‬کلید ثانویه نام دارد‪.‬‬

‫لنگرگاه )‪(Anchor point‬‬


‫نقطه ای از فایل داده ای که مدخل شاخص به آن اشاره دارد را لنگرگاه می گویند‪ .‬که با توجهه بهه لنگرگهاه‬
‫می توان شاخص را به دو دسته تقسیم کرد ‪:‬‬
‫)‪(Dense index‬‬ ‫‪ -1‬شاخص متراکم‬
‫اگر لنگرگاه رکورد باشد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪88‬‬ ‫ذخیره و بازیابی اطالعات‬

‫)‪(Non Dense index‬‬ ‫‪ -2‬شاخص غیرمتراکم‬


‫اگر لنگرگاه‪ ،‬گروهی از رکوردها (بالک‪ ،‬باکت) باشد‪.‬‬
‫در شاخص متراکم لزومی بر مرتب بودن فایل داده ای نمیباشد ولی در شاخص غیرمتراکم برای اینکهه‬
‫بتوان رکوردها را گروه بندی کرد‪ ،‬باید فایل داده ای مرتب باشد‪.‬‬

‫در هر دو حالت شاخص‪ ،‬فایل داده ای می تواند بالک بندی شده باشد‪.‬‬
‫شاخص خوشه ساز )‪(Clustering index‬‬
‫شاخصی که روی صفت خوشه ساز ایجاد شده باشد‪ ،‬شاخص خوشه ساز نام دارد‪ .‬این شهاخص غیهر متهراکم‬
‫است‪.‬‬
‫صفتی که مقادیرش در فایل تکراری است‪ ،‬صفت خوشه ساز نام دارد‪.‬‬

‫صرف تکراری بودن مقادیر صفت خاصه ایجاب نمی کند که شاخص حتما غیهر متهراکم و خوشهه سهاز‬
‫باشد و می توان شاخص متراکم هم ایجاد کرد و بهرای اجتنهاب از تکهرار مقهدار شهاخص در مهدخلهای‬
‫شاخص‪ ،‬از یک سطح آدرس دهی غیر مستقیم می توان استفاده کرد‪.‬‬

‫شاخص سخت افزاری‬


‫شاخص سخت افزاری از دو سطح شاخص تشکیل شده است ‪:‬‬
‫)‪(Cylinder index‬‬ ‫الف‪ -‬شاخص استوانه‬
‫در هر مدخل شاخص استوانه‪،‬موارد زیر وجود دارد ‪:‬‬
‫‪ -1‬کوچکترین مقدار رکوردهای آن استوانه‬
‫‪ -2‬شماره استوانه‬
‫‪ -3‬آدرس شاخص شیارهای همان استوانه‬
‫)‪(Track index‬‬ ‫ب‪ -‬شاخص شیار‬
‫در هر مدخل از این شاخص موارد زیر وجود دارد ‪:‬‬
‫‪ -1‬شیارهای هر استوانه‬
‫‪ -2‬کوچکترین مقدار رکوردهای همان شیار‬
‫‪ -3‬شماره شیار‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪89‬‬ ‫ذخیره و بازیابی اطالعات‬

‫عیب شاخص سخت افزاری‪ ،‬عدم انعطاف پذیری می باشد‪.‬‬

‫سیستم فایل ‪ ISAM‬از‪ IBM‬مثالی از شاخص بندی سخت افزاری است‪.‬‬

‫ظرفیت نشانه روی بالک شاخص‬


‫تعداد مدخلهای یک بهالک شهاخص را ظرفیهت نشهانه روی بهالک شهاخص میگوینهد کهه برابهر اسهت بها‪:‬‬
‫‪ B ‬‬
‫‪y‬‬ ‫‪‬‬
‫‪V  P ‬‬
‫شاخص چند سطحی )‪(Multi Level index‬‬
‫اگر تعداد مدخلهای شاخص زیاد باشد‪ ،‬آنرا در چند سطح می سازند تا زمهان یهافتن مهدخل شهاخص کمتهر‬
‫میگویند و برابر است با ‪:‬‬ ‫)‪(index deep‬‬ ‫شود‪ .‬تعداد سطوح شاخص را عمق شاخص‬
‫‪x  log ey1 ‬‬
‫تذکر‪ :‬می توان به جای ‪ e1‬مقدار ‪ b‬را قرار داد‪.‬‬

‫باشد‪ ،‬آنگاه شاخص را خطی میگویند‪.‬‬ ‫‪x=1‬‬ ‫اگر‬

‫شاخص سطح اول متراکم یا غیرمتراکم است‪.‬‬

‫شاخص های سطح دوم به بعد‪ ،‬غیر متراکم هستند‪.‬‬

‫باالترین سطح شاخص (سرشاخص)‪ ،‬به اندازه یک بالک است‬


‫‪ (Master‬در حافظه اصلی ذخیره می شود‪.‬‬ ‫)‪index‬‬ ‫سر شاخص‬

‫بالکهای سایر سطوح شاخص در شیارهای استوانه آغازین یا شیارهای آغازین هر اسهتوانه ذخیهره مهی‬
‫شوند‪y X   e  y X .‬‬

‫هر چه ‪ x‬بیشتر باشد‪ ،‬تعداد دفعات دستیابی برای واکشی رکورد بیشتر خواهد بود‪ .‬بنابراین باید مقهدار‬
‫‪ x‬را کاهش داد و برای اینکار باید ‪ y‬را افزایش دهیم‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪90‬‬ ‫ذخیره و بازیابی اطالعات‬

‫برای افزایش ‪ y‬میتوان بالک شاخص را بزرگتر گرفت‪ ،‬اما اندازه بالک شاخص برابر اندازه بالک داده ای‬
‫میباشد و انتخاب آن به امکانات بافرینگ سیستم بستگی دارد‪ .‬بنابراین مدخل شاخص را فشرده کرده تا‬
‫افزایش یابد‪.‬‬ ‫‪y‬‬

‫جمع بندی انواع شاخص‬


‫‪ -1‬روی صفت خاصه غیر کلید ‪ ‬شاخصهای خوشه ساز( غیر متراکم)‬
‫‪ -2‬روی صفت خاصه کلید‬
‫الف‪ -‬روی کلید اصلی (معموال غیر متراکم)‬
‫ب‪ -‬روی کلید ثانوی (معموال متراکم)‬

‫معایب شاخص بندی‬


‫معایب ساختارهای شاخص دار به ویژه در حالت چند شاخصی عبارتند از ‪:‬‬
‫‪ -1‬مصرف حافظه برای ایجاد شاخص‪.‬‬
‫‪ -2‬فزونکاری )‪ (Over head‬در عملیات ذخیرهسازی‪.‬‬

‫ساختار ترتیبی شاخص دار )‪(indexed sequential‬‬

‫این ساختار برای تسریع عمل واکشی تک رکورد از فایل ترتیبی طراحی شده و شامل چهار جزء است‪:‬‬
‫‪ -1‬فایل ترتیبی (ناحیه اصلی)‬
‫)‪(overflow area‬‬ ‫‪ -2‬ناحیه سرریزی‬
‫‪ -3‬اشاره گرها‬
‫‪ -4‬مجموعه شاخص‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪91‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ویژگی های ساختار ترتیبی شاخص دار‬


‫‪ -1‬فایل ترتیبی روی صفت خاصه کلید مرتب است‪.‬‬
‫‪ -2‬شاخص ایستا است‪.‬‬
‫‪ -3‬شاخص را نرم افزاری فرض می کنیم‪.‬‬
‫‪ -4‬شاخص غیر متراکم است‪.‬‬
‫‪ -5‬از شاخص برای تسریع واکشی رکوردها استفاده می شود و در عمیالت خواندن فایل کاربرد ندارد‪.‬‬
‫‪ -6‬شاخص ناظر به ناحیه سرریز نمیباشد و فقط به ناحیه اصلی ناظر است‪.‬‬
‫‪ -7‬شاخص ایستا است‪ ،‬بنابراین شاخص در سهازماندهی مجهدد تنظهیم میشهود نهه همرونهد بها عملیهات‬
‫ذخیرهسازی در فایل‪.‬‬
‫‪ -8‬وجود زنجیره ها از ناحیه اصلی به ناحیه سرریز‪ ،‬امکان پردازش سریال را فراهم می کند‪.‬‬
‫‪ -9‬شاخص بندی را آنقدر ادامه داده تا اندازه فایل شاخص کوچکتر یا مساوی اندازه بالک شود‪.‬‬

‫نحوه انجام عملیات خواندن در ساختار ترتیبی شاخص دار‬


‫‪ -1‬خواندن پی در پی‬
‫در خواندن پی در پی‪ ،‬ناحیه اصلی و ناحیه سرریز‪ ،‬بالک به بالک خوانهده میشهوند و چهون رکوردههای‬
‫ناحیه سرریزی مرتب نمیباشند‪ ،‬رکوردها به طور سریال خوانده نمیشوند‪.‬‬

‫‪ -2‬خواندن سریال‬
‫در خواندن سریال‪ ،‬بالکهای ناحیه اصلی روی کلید خوانده شده تا به بالک یا رکهوردی برسهد کهه دارای‬
‫اشاره گری به ناحیه سرریز باشد‪.‬در این حالت‪ ،‬به ناحیه سرریز رفته و زنجیره سرریزی طی میشود‪ .‬بعد‬
‫از پایان زنجیره به ناحیه اصلی برمی گردیم و خواندن را ادامه می دهیم‪.‬‬

‫‪ ‬در فایلی با ده میلیون رکورد ‪ 200‬بایتی‪ ،‬چند سطح شاخص نیاز است؟‬
‫)‪(V=14 byte , P=6 byte , B=2000 byte‬‬
‫حل‪ :‬تعداد بالکهای فایل برابر است با ‪:‬‬
‫‪n 10 7‬‬
‫‪b‬‬ ‫‪‬‬ ‫‪ 10 6‬‬
‫‪Bf‬‬ ‫‪10‬‬
‫ظرفیت نشانه روی بالک شاخص برابر است با ‪:‬‬
‫‪ B   2000 ‬‬
‫‪y‬‬ ‫‪‬‬ ‫‪  100‬‬
‫‪ V  p   20 ‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪92‬‬ ‫ذخیره و بازیابی اطالعات‬

‫تعداد مدخل در سطح اول و دوم و سوم شاخص برابر است با ‪:‬‬
‫‪10 6‬‬ ‫‪e‬‬ ‫‪10 4‬‬
‫‪e1  b  10 6 , e 2 ‬‬ ‫‪ 10 4 , e 3  2 ‬‬ ‫‪ 100‬‬
‫‪100‬‬ ‫‪y 100‬‬
‫عمق شاخص برابر ‪ 3‬می باشد‪ ،‬چون حجم فایل شاخص سوم برابر ‪ 2000‬بایت است (‪ 100‬مدخل ‪ 20‬بایتی)‬
‫که برابر اندازه یک بالک است‪ .‬به عبارتی‪ ،‬شاخص بندی را آنقهدر ادامهه مهیدهیم تها انهدازه فایهل شهاخص‬
‫کوچکتر یا مساوی اندازه بالک شود‪.‬‬
‫تذکر‪ :‬میتوان با توجه به رابطه زیر‪ ،‬مستقیما تعداد سطوح شاخص را بدست آورد‪:‬‬
‫‪6‬‬
‫‪X  Log y   Log100   Log 2      3‬‬
‫‪b‬‬ ‫‪106‬‬ ‫‪106‬‬
‫‪‬‬ ‫‪ ‬‬ ‫‪10 ‬‬‫‪‬‬ ‫‪2‬‬
‫شکل زیر این شاخص بندی را نشان می دهد‪:‬‬

‫‪‬فایلی با مشخصات زیر را در نظر بگیرید‪ .‬تعداد مدخلها در سطح دوم شاخص کدام است؟‬
‫) ‪(n=1000000 , B=2000 Byte , R=200Byte , V+P=20 Byte‬‬
‫حل ‪:‬‬
‫‪B‬‬ ‫‪B‬‬
‫‪BF ‬‬ ‫‪‬‬ ‫‪, y‬‬ ‫‪‬‬ ‫‪‬‬
‫‪R‬‬ ‫‪V P‬‬
‫‪n‬‬
‫‪e ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪, e ‬‬ ‫‪‬‬
‫‪BF‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪93‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪‬در فایلی با مشخصات زیر تعداد سطوح شاخص کدام است؟‬


‫) ‪(n= 10 , B f  10 , V=14 , P=6 , B=2000‬‬
‫‪7‬‬

‫حل ‪:‬‬
‫‪ B   2000 ‬‬ ‫‪n 10 7‬‬
‫‪y‬‬ ‫‪‬‬
‫‪ 14  6 ‬‬ ‫‪‬‬ ‫‪100‬‬ ‫‪,‬‬ ‫‪b‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪ 10 6‬‬
‫‪‬‬ ‫‪V‬‬ ‫‪‬‬ ‫‪P‬‬ ‫‪ ‬‬ ‫‪‬‬ ‫‪B‬‬ ‫‪f‬‬ ‫‪10‬‬
‫‪6‬‬
‫‪x  log by   log 100      3‬‬
‫‪10 6‬‬

‫‪‬‬ ‫‪ 2‬‬

‫‪ ‬میزان حافظه الزم (دیسک) برای شاخص چند بایت است؟‬


‫)‪(e1  10 5 , e2  1000, e3  10, x  3, v  p  20‬‬
‫حل‪:‬‬
‫‪x 1‬‬
‫‪S I   S i  S1  S 2  10 5  20  1000  20  2020000byte‬‬
‫‪i 1‬‬

‫(توجه شود که سطح سوم در حافظه اصلی نگهداری می شود نه در دیسک)‬

‫روش های انتخاب فضای الزم برای درج رکوردهای سرریزی‬

‫‪ -1‬در نظر گرفتن جا در هر بالک در لود اولیه‬


‫در این روش لوکالیتی رکوردها قوی است ولی امکان کمبود جا در برخی بالکها و امکهان خهالی مانهدن‬
‫فضا در بالکهای دیگر وجود دارد‪.‬‬

‫‪ -2‬ایجاد یک فایل جداگانه‬


‫در این روش چون بین فایل اصلی و این فایل باید ارتبها برقهرار شهود‪ ،‬زمهانگیر خواههد بهود‪ .‬همچنهین‬
‫لوکالیتی رکوردهای سرریزی ضعیف است‪ .‬از این روش در فایل ترتیبی استفاده شد‪.‬‬

‫‪ -3‬در نظر گرفتن ناحیه ای جداگانه در همان فایل داده ای‬

‫تذکر ‪ :‬سومین مورد‪ ،‬مناسبترین راه حل است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪94‬‬ ‫ذخیره و بازیابی اطالعات‬

‫طرح های تخصیص فیزیکی‬


‫فضای انتخاب شده برای ناحیه سرریز در محیط فیزیکی به فایل به دو صهورت ممکهن اسهت تخصهیص داده‬
‫شود‪:‬‬
‫‪ -1‬تخصیص استوانه هایی در انتهای فایل‪ ،‬برای ایجاد ناحیه جداگانه‬
‫نتیجهه‪S،‬‬ ‫روش مناسبی نیست‪ ،‬چون باعث ضعیف شدن لوکالیتی رکوردههای سهرریزی خواههد شهد و در‬
‫افزایش می یابد‪.‬‬
‫‪ -2‬تخصیص شیارهایی در انتهای استوانه‪ ،‬به عنوان ناحیه سر ریزی استوانه‬
‫این راه حل ‪ s‬را کاهش می دهد‪ ،‬چون رکوردهای سرریزی هر استوانه در همان استوانه قرار می گیرنهد‪ .‬بها‬
‫پر شدن ناحیه سرریزی یک استوانه‪ ،‬باید ناحیه سرریزی ثانویه ایجاد شود و یها فایهل مجهددا سهازماندهی‬
‫شود‪.‬‬
‫منطقا نیازی به یکسان بودن اندازه ناحیه سرریزی در هر استوانه نیست ولی معموال یکسان گرفتهه مهی‬
‫شوند‪.‬‬

‫تکنیکهای درج سرریزی‬


‫‪ -1‬درج در اولین بالک جادار در ناحیه سرریزی‬
‫رکورد جدید وارد اولین بالک جادار در ناحیه سرریز میشود و از رکورد منطقاً قبلی به آن اشاره گر ایجهاد‬
‫میشود‪.‬برای هر رکورد چه در ناحیه اصلی و چه در ناحیه سرریزی یک فیلد اشهاره گهر وجهود دارد‪ .‬مبهدا‬
‫زنجیره ها در ناحیه اصلی است و زنجیره سرریزیهای رکورد در این روش وجود دارد‪.‬‬
‫)‪(Push through‬‬ ‫‪ -2‬درج با جابجایی‬
‫رکورد جدید در بالک مربو در ناحیهه اصهلی‪ ،‬در محلهی کهه منطقهاً بایهد قهرار بگیهرد‪ ،‬درج میشهود و‬
‫رکوردهای بعدی همان بالک (به غیر از اولین رکورد بالک)به سمت انتهای بالک شیفت داده مهیشهوند و‬
‫رکورد آخر بالک به اولین بالک جادار در ناحیه سرریزی‪ ،‬منتقل میشود‪.‬‬

‫‪ (Block Overflow‬وجود دارد و بهرای ههر بهالک از ناحیهه‬ ‫بالک)‪Chain‬‬ ‫در روش دوم زنجیره سرریزیهای‬
‫اصلی یک اشاره گر وجود دارد‪.‬‬

‫پردازش سریال فایل در روش دوم ساده تر و طول زنجیره بیشتر است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪95‬‬ ‫ذخیره و بازیابی اطالعات‬

‫کاربرد ساختار ترتیبی شاخص دار‬


‫‪ -1‬وقتی که پردازش سریال برحسب مقادیر کلید مطرح است (نه صفات دیگر آنها)‬
‫‪ -2‬وقتی که واکشی تک رکوردها از طریق کلید آنها‪ ،‬عملی رایجی می باشد‪.‬‬
‫‪ -3‬سیستم های داده پردازی تجاری ه مدیریتی‪.‬‬

‫ارزیابی کارایی ساختار ترتیبی شاخص دار‬


‫با فرض مفروضات زیر‪ ،‬کارایی ساختار ترتیبی شاخص دار را بررسی میکنیم‪:‬‬
‫‪ -1‬غیرمتراکم بودن سطح اول شاخص‬
‫‪ -2‬همتوالی بودن فایل دادهای و فایل شاخص‬
‫‪ -3‬قرار داشتن بالکهای شاخص در یک استوانه و داشتن ناحیه سرریزی استوانه‬
‫‪Push through‬‬ ‫‪ -4‬تکنیک درج‬
‫‪ -5‬ایستا بودن ساختار شاخص‬
‫‪ -6‬پر بودن ناحیه اصلی و بالکهای شاخص و خالی بودن ناحیه سرریز بعد از سازماندهی مجدد‬
‫‪ -7‬حذف منطقی رکوردها و انجام حذف فیزیکی در سازماندهی مجدد‬
‫‪ -8‬بالک بندی شدن فایل داده ای و شاخص با طول هر بالک ‪ B‬بایت‪.‬‬

‫متوسط اندازه رکورد‬


‫عوامل مؤثر در محاسبه ‪ ،R‬عبارتند از‪:‬‬
‫‪ -1‬حافظه الزم برای یک رکورد از ناحیه اصلی‬
‫‪ -2‬حافظه مصرف شده برای ناحیه سرریزی به ازاء یک رکورد از ناحیه اصلی‬
‫‪ -3‬حافظه مصرف شده برای شاخص به ازاء یک رکورد از ناحیه اصلی‬

‫‪R  Rdata  Rover  Rindex‬‬


‫‪P‬‬
‫‪Rdata  (av ‬‬ ‫)‬
‫‪Bf‬‬
‫‪o‬‬
‫‪Rover ‬‬ ‫) ‪(av  P‬‬
‫‪no‬‬

‫‪SI‬‬
‫‪Rindex ‬‬ ‫) ‪ : S I‬کل حافظه مصرف شده برای شاخص)‬
‫‪no‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪96‬‬ ‫ذخیره و بازیابی اطالعات‬

‫واکشی رکورد‬
‫برای واکشی‪ ،‬باید ابتدا سرشاخص که در حافظه اصلی است را بررسی کنیم‪ ،‬سپس درسطح شاخص جستجو‬
‫کرده تا به مدخل مربوطه در سطح اول برسیم‪ .‬یعنی در هر سطح شاخص‪ ،‬یک بالک خوانهده شهده و بعهد از‬
‫پیدا کردن آدرس مورد نظر در ناحیه اصلی‪ ،‬آنرا می خوانیم‪( .‬البته احتمال رفتن به ناحیه سهرریز و جسهتجو‬
‫در زنجیره سرریزیها وجود دارد‪).‬‬
‫`‪O‬‬ ‫`‪O‬‬
‫‪TF  C B  S  ( X ‬‬ ‫) ‪ . )(r  btt‬‬
‫`‪n  O‬‬ ‫‪n‬‬

‫هر چه ‪ x‬کمتر باشد‪ ،‬زمان واکشی رکورد از ناحیه اصلی کمتر خواهد بود‪.‬‬
‫بازیابی رکورد بعدی‬
‫با توجه به آخرین رکورد واکشی شده‪ ،‬متوجه می شویم که آیا رکورد بعدی در بالکی از ناحیه اصلی است یها‬
‫بدست می آید و اگر‬ ‫‪btt‬‬ ‫در بالکی از ناحیه سرریز‪ .‬اگر رکورد بعدی در بالکی از ناحیه اصلی باشد‪ ،‬با زمان‬
‫‪BF‬‬

‫در ناحیه سرریز باشد‪ ،‬در زمان ‪ r  btt‬بدست می آید‪:‬‬


‫`‪o‬‬ ‫( `‪o‬‬
‫‪TN ‬‬ ‫‪btt ‬‬ ‫) ‪(r  btt‬‬ ‫‪ :‬احتمال اینکه رکورد در ناحیه سرریز باشد ‪).‬‬
‫‪BF‬‬ ‫`‪n  o‬‬ ‫`‪n  o‬‬

‫ارزیابی دقیق تر‬


‫با توجه به وضعیت رکورد بعدی نسبت به رکورد فعلی‪ ،‬شش حالت ممکن است بوجود آید‪:‬‬
‫‪ -1‬رکورد فعلی در بالکی از ناحیه اصلی است و رکورد بعدی نیز در همان بالک است و بالک در بافر است‪.‬‬
‫‪ -2‬رکورد فعلی آخرین رکورد بالک است از ناحیه اصلی و رکورد بعدی در بالک بعدی است از همان استوانه‪.‬‬
‫‪ -3‬رکورد فعلی آخرین رکورد بالک از آخرین بالک استوانه است و رکورد بعدی در بالک بعدی از استوانه دیگر می باشد‪.‬‬
‫‪ -4‬رکورد فعلی آخرین رکورد بالک است و رکورد بعدی در بالکی از ناحیه سرریزی است‪.‬‬
‫‪ -5‬رکورد فعلی در بالکی از ناحیه سرریزی است و رکورد بعدی هم در بالکی از ناحیه سرریزی و از همان استوانه است‪.‬‬
‫‪ -6‬رکورد فعلی در بالکی از ناحیه سرریزی است و رکورد بعدی در بالکی از ناحیه اصلی‪.‬‬
‫با در نظر گرفتن حاالت ششگانه به کمک مقدار ‪ pro‬و ساده کردن خواهیم داشت ‪:‬‬
‫‪ pro‬‬
‫( ‪TN ‬‬ ‫) ‪ pro)(r  btt‬‬
‫‪BF‬‬
‫'‪o‬‬
‫‪ pro ‬خواهیم داشت ‪:‬‬ ‫که با قرار دادن‬
‫'‪n  o‬‬
‫‪n  o`B F‬‬
‫‪TN ‬‬ ‫) ‪(r  btt‬‬
‫‪(n  o`) B F‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪97‬‬ ‫ذخیره و بازیابی اطالعات‬

‫درج‬
‫مراحل درج یک رکورد به صورت زیر است‪:‬‬
‫‪ -1‬پیدا کردن بالکی که رکورد باید در آن درج شود‪.‬‬
‫‪ -2‬وارد کردن رکورد در این بالک و خارج کردن آخرین رکورد بالک و قرار دادن در بافر کمکی و سهاختن‬
‫فیلد ‪ PTR‬به رکورد جابجا شونده‪.‬‬
‫‪ -3‬بازنویسی این بالک‬
‫‪ -4‬خواندن بالکی از ناحیه سرریز‬
‫‪ -5‬وارد کردن رکورد خارج شده از بالک اصلی‪ ،‬در این بالک‬
‫‪ -6‬بازنویسی همین بالک‪.‬‬
‫‪TI  TF  TRW  r  b tt  TRW‬‬
‫با در نظر گرفتن ‪ TRW  2r‬داریم ‪:‬‬
‫‪TI  TF  5r  b tt‬‬
‫در عمل درج در ساختار ترتیبی شاخص دار‪ ،‬به دو بازنویسی نیاز می باشد‪.‬‬

‫بهنگام سازی‬
‫اگر مقدار کلید تغییر نکند‪ ،‬میتوان بهنگام سازی درجا )‪ (inplace‬انجهام داد‪ .‬بهرای اینکهار رکهورد بهنگهام در‬
‫آوردنی را واکشی کرده و نسخه جدید آن را در بافر ایجاد کرده و سپس بازنویسی میکنیم‪:‬‬
‫‪TU inplace  TF  2r‬‬

‫اما در حالت کلی‪ ،‬نسخه قدیمی رکورد را نشانگر حذف می زنیم و رکورد جدیدی کهه در بهافر سهاختهایم را‬
‫درج میکنیم‪:‬‬
‫‪TU outplace  TF  TRW  TI‬‬

‫که با قرار دادن مقدار ‪ TI‬و ‪ TRW‬خواهیم داشت ‪:‬‬


‫‪TU outplace  TF  r  b tt‬‬

‫خواندن کل فایل‬

‫‪ -1‬خواندن ترتیبی‬
‫‪R‬‬
‫)`‪Txseq  ( n  o‬‬
‫‪t‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪98‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪ -2‬خواندن سریال‬
‫در این حالت اولین رکورد واکشی شده و بقیه رکوردها در یک سلسله عملیات بازیابی رکورد بعهدی‪ ،‬خوانهده‬
‫میشوند‪.‬‬
‫‪Txser  TF  (n  o  1)TN‬‬
‫سازماندهی مجدد‬
‫هنگامی که ناحیه سرریز پر میشود یا طول زنجیره ها طوالنی میشود‪ ،‬فایل را سازماندهی مجدد میکننهد‪.‬‬
‫برای اینکار فایل را به طور سریال خوانده و رکوردها را با خارج کردن حذف شدنیها‪ ،‬بالک بندی کرده و بعد‬
‫از بازنویسی نسخه جدید ساختار شاخص را بازسازی میکنند‪.‬‬
‫‪R SI‬‬
‫) ‪Ty  Txser  (n  o  d‬‬ ‫‪‬‬
‫‪t t‬‬
‫‪SI‬‬
‫‪ :‬زمان بازنویسی بالکهای شاخص‬
‫‪t‬‬
‫معایب ساختار ترتیبی شاخص دار‬
‫‪ -1‬عدم تقارن‬
‫‪ -2‬ایستا بودن شاخص‬
‫(زنجیره های طوالنی کارایی سیستم را کم می کند‪).‬‬ ‫‪ -3‬مسئله درج سرریزی ها‬

‫پارامترهای زمانی ساختار ترتیبی شاخص دار‬

‫( ‪TF  TF ( main )  TF‬‬ ‫) ‪ver‬‬ ‫واکشی رکورد‬

‫‪n  o`B F‬‬


‫‪TN ‬‬ ‫) ‪(r  btt‬‬ ‫واکشی رکورد بعدی‬
‫‪(n  o`) B F‬‬

‫‪TI  TF  5r  b tt‬‬ ‫درج یک رکورد‬

‫‪R‬‬
‫)`‪Txseq  ( n  o‬‬ ‫خواندن ترتیبی کل فایل‬
‫‪t‬‬

‫‪Txser  TF  (n  o  1)TN‬‬ ‫خواندن سریال کل فایل‬

‫‪R SI‬‬
‫) ‪Ty  Txser  (n  o  d‬‬ ‫‪‬‬ ‫سازماندهی مجدد‬
‫‪t t‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪99‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ساختار چند شاخصی(فایل شاخص دار)‬


‫ساختار ترتیبی شهاخص دار دارای معهایبی ماننهد عهدم تقهارن‪ ،‬ایسهتا بهودن شهاخص و مشهکل بهودن درج‬
‫رکوردهای جدید میباشد که این معایب در ساختار چند شاخصی بر طرف شده است‪ .‬اجهزاء اصهلی سهاختار‬
‫چند شاخصی عبارتند از‪:‬‬
‫‪ -1‬فایل داده ای‬
‫‪ -2‬چندین فایل شاخص‬

‫چند نکته ‪:‬‬


‫‪ -1‬فایل داده ای در این ساختار از نوع پایل می باشد‪.‬‬
‫است‪( .‬چون روی تعدادی یا حتی تمام صفات خاصه میتوان شاخص ایجاد کرد‪).‬‬ ‫‪ -2‬ساختار چند شاخصی دارای تقارن‬
‫‪ -3‬وقتی که روی تمام صفات خاصه شاخص ایجاد شود‪ ،‬فایل را وارون میگویند‪.‬‬
‫‪ -4‬چون بر روی هر یک از صفات خاصه میتوان شاخص ایجاد کرد‪ ،‬بنابراین کاربر میتواند هر یک از آنهها را‬
‫به عنوان آرگومان جستجو به کار ببرد‪.‬‬
‫‪ -5‬اگر ‪ a‬صفت خاصه در فایل باشد‪ ،‬حداکثر ‪ a‬فایل شاخص میتوان داشت‪ .‬هر چهه تعهداد صهفات شهاخص‬
‫بیشتر شود‪ ،‬فایل در بازیابی کاراتر و عدم تقارن آن کمتر می شود‪.‬‬

‫موراد استفاده از ساختار چند شاخصی‬


‫‪ -1‬محیط هایی که واکشی سریع تک رکوردها مطرح است‪.‬‬
‫‪ -2‬محیط هایی که فایل حالت نامانا دارد یعنی دادهها مرتباً در حال تغییر میباشند‪.‬‬
‫‪ -3‬محیط هایی که کاربر بخواهد از طریق صفات خاصه مختلف به رکوردها دستیابی داشته باشد‪.‬‬

‫به عنوان مثال در سیستم رزرواسیون جا در خطو هوایی که در آن اطالعات مربو به جا مرتبا تغییر‬
‫می کند‪ ،‬استفاده از ساختار چند شاخصی مناسب است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪100‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ساختار شاخص‬
‫تنها استراتژی دستیابی در فایل چند شاخصی‪ ،‬همان شاخص است‪ .‬ساختار داده ای در ایجاد فایل شهاخص‪،‬‬
‫درخت متعادل ) ‪ (B-TREE‬است‪ .‬در این درخت عمق تمام شاخه ها از ریشه تا گره انتهایی یکسان است‪ .‬ایهن‬
‫‪m‬‬ ‫درخت برای نگهداری اطالعات با تغییر زیاد کاربرد دارد‪ .‬یک ‪ B – TREE‬از مرتبه ‪ ،m‬یک درخت جستجوی‬
‫طرفه )‪ (m-way search TREE‬است که یا تهی است یا دارای خواص زیر است‪:‬‬
‫‪ -1‬گره ریشه دارای حداقل دو فرزند است‪.‬‬

‫‪ -2‬همه گره ها دارای ‪  ‬فرزند هستند‪ ( .‬بجز ریشه و گره های خطا)‬
‫‪m‬‬
‫‪2‬‬
‫‪ -3‬همه گره های خطا در یک سطح هستند‪.‬‬

‫‪ - 4‬حداقل تعداد داده ها برابر ‪   1‬و حداکثر ‪ m-1‬می باشد‪.‬‬


‫‪m‬‬
‫‪2 ‬‬

‫‪ -5‬حداقل تعداد فرزندان برابر ‪  ‬و حداکثر‬


‫‪m‬‬
‫می باشد‪.‬‬ ‫‪m‬‬
‫‪2‬‬
‫‪ -6‬اگر داده های یک گره بیش از حداکثر شود‪ ،‬نود باید شکسته )‪ (Split‬شود‪.‬‬
‫چند نکته ‪:‬‬
‫‪ -1‬درخت ‪ B‬قادر به پاسخگویی به تقاضاهای ساده‪ ،‬محدوده ای و منطقی می باشد‪.‬‬
‫‪ -2‬درخت ‪ B‬وقتی در پاسخگویی به تقاضاهای محدوده ای موثر است که تنوع داده ها زیاد باشد‪.‬‬
‫‪ -3‬ساختار ‪ B-TREE‬امکان می دهد تا فایل شاخص رفتاری پویا داشته باشد و همروند با عملیات روی فایهل‬
‫تنظیم شود‪.‬‬
‫‪ -4‬می توان فایل را به کمک شاخص به طور سریال پردازش کرد‪ .‬مثال در بازیابی رکورد بعهدی یها خوانهدن‬
‫تمام فایل به پردازش سریال نیاز است‪.‬‬
‫میباشد که در لود اولیه قسمتی از آن خهالی اسهت‪ .‬یعنهی‬ ‫‪B-TREE‬‬ ‫‪ -5‬هر بالک شاخص‪ ،‬گرهی از درخت‬
‫چگالی لود اولیه کمتر از صددرصد می باشد‪.‬‬

‫‪ Y  ‬می باشد و به تمامی در لود اولیهه پهر نمیشهود و تعهدادی‬ ‫‪‬‬ ‫‪B‬‬
‫‪ -6‬ظرفیت اشاره گر اسمی برابر‬
‫‪ V  P ‬‬
‫‪y‬‬
‫و حهداکثر‬ ‫مدخل به عنوان رزرو در نظر گرفته میشوند‪ .‬ظرفیت واقعی اشاره گر در لود اولیه حداقل‬
‫‪2‬‬
‫‪ y‬میباشد‪ .‬یعنی در لود اولیه‪ ،‬حداقل نیمی از مدخلهای یک گره درخت پر است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪101‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ساختار شاخص در درج‬


‫رکورد را در فایل داده ای اضافه کرده و ارتبا ساختاری را برقرار می سازیم‪ .‬اگر برای ایجاد مدخل در بالک‬
‫کهرده‬ ‫)‪(split‬‬ ‫شاخص مربوطه در سطح اول دیگر جا نباشد ) ‪ ، ( y  y eff‬آنگاه بالک شاخص پر شده را تقسیم‬
‫و یک بالک شاخص خالی به نام بالک همراه )‪ (Partner‬به فایل شاخص اختصاص داده و نیمی از مدخلهای پر‬
‫شده‪ ،‬به این بالک منتقل می شوند‪ .‬این گره جدید باید با گره ای در سطح باالتر مهرتبط شهود‪ ،‬بنهابراین در‬
‫عمل تقسیم بالک پر شده‪ ،‬اقال سه بالک شاخص باید ایجاد و یا بهنگام در آیند‪.‬‬

‫‪ ‬با داده های زیر یک ‪ B-TREE‬به صورت ‪ 5‬طرفه بسازید‪:‬‬


‫‪12 , 13 , 14 , 1 , 5 , 9 , 3 , 10‬‬
‫حل‪:‬‬
‫هر گره در درخت ‪ 5‬طرفه شامل حداکثر ‪ 4‬داده می باشد و بنابراین ‪ 4‬داده اول را خوانده و مرتب شده آن را‬
‫در ریشه قرار می دهیم‪:‬‬

‫با درج مقدار ‪ 5‬درخت زیر حاصل می شود‪ .‬در واقع گره شکسته می شود و مقدارهای ‪1‬و‪ 5‬در چهپ ریشهه و‬
‫مقدارهای ‪13‬و‪ 14‬در راست ریشه قرار می گیرند و مقدار ‪ 12‬در ریشه قرار می گیرد‪:‬‬

‫و با درج مقدارهای ‪ 9‬و ‪ ، 3‬درخت زیر حاصل می شود ‪:‬‬

‫و در نهایت مقدار ‪ 10‬را درج می کنیم ‪:‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪102‬‬ ‫ذخیره و بازیابی اطالعات‬

‫ساختار شاخص در حذف‬


‫رکورد حذف شدنی را با ضهبط نشهانگر "حهذف شهده" از فایهل داده ای حهذف کهرده و همچنهین ارتبها‬
‫‪y‬‬
‫کمتر شهود‬ ‫ساختاری آن با درخت شاخص را از بین می بریم‪ .‬اگر بعد از حذف‪ ،‬تعداد مدخلهای واقعی از‬
‫‪2‬‬
‫و مجموع مدخلهای واقعی این بالک و بالک همراه آن از ‪ y‬کمتر شود‪ ،‬دو بالک با هم ادغام می شوند‪.‬‬
‫‪ ‬مطلوب است به ترتیب حذف داده های ‪11‬و‪ 12‬از درخت ‪ B‬سه طرفه زیر‪.‬‬

‫حل ‪ :‬حذف ‪ 11‬به راحتی انجام می شود ولی برای حذف ‪ 12‬عمل توزیع انجام می شود‪:‬‬

‫تذکر‪ :‬حداقل ظرفیت هر گره در درخت ‪ 3‬طرفه برابر یک می باشد‪)  1 ( :‬‬
‫‪3‬‬
‫‪2‬‬ ‫‪‬‬

‫‪ ‬مطلوب است حذف داده ‪ 10‬از درخت ‪ B‬زیر ‪:‬‬

‫حل ‪ :‬چون گره با مقدار ‪ 10‬دارای ظرفیت کمتر از ‪ 1‬می شود و همزاد آن نیز از حداقل بیشتر ندارد ‪ ،‬عمهل‬
‫توزیع ممکن نیست و عمل ترکیب انجام می گیرد‪:‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪103‬‬ ‫ذخیره و بازیابی اطالعات‬

‫واکشی رکورد‬
‫واکشی رکوردی که بر روی نشانوند جستجوی آن شاخص وجود نداشته باشد‪ ،‬مانند واکشهی در فایهل پایهل‬
‫است‪ .‬در صورت وجود شاخص‪ ،‬ابتدا بالکهای شاخص را در شهاخه مناسهب خوانهده و سهپس بهالک داده ای‬
‫حاوی رکورد مورد نظر را می خوانیم‪.‬‬

‫برای واکشی سریع تک رکوردها‪ ،‬لزومی ندارد که حتمهاً از کلیهد اصهلی بهه عنهوان آرگومهان جسهتجو‬
‫استفاده کرد‪.‬‬

‫بازیابی رکورد بعدی‬


‫رکورد بعدی‪ ،‬رکوردی است که مدخل بعدی به آن اشاره میکند‪ .‬بها فهرض اینکهه مهدخل بعهدی در همهان‬
‫بالکی باشد که مدخل ناظر به رکورد فعلی در آن قرار دارد‪ ،‬آنگاه آدرس رکهورد بعهدی در دسهترس اسهت و‬
‫کافی است آن را بخوانیم‪ .‬اگر بالکهای شاخص موجود در سطح اول براساس نظهم بهه یکهدیگر متصهل شهده‬
‫باشند‪ ،‬آنگاه آدرس بالک بعدی شاخص‪ ،‬از بالک فعلی به دست میآید‪.‬‬

‫درج‬
‫بالک مربوطه باید خوانده شود و بعد از قهرار دادن رکهورد در آن‪ ،‬بهالک بازنویسهی میشهود‪ .‬سهپس مهدخل‬
‫شاخص مربوطه در سطح اول ایجاد میشود و به احتمالی امکان عمل تقسیم وجود دارد‪.‬‬
‫بهنگام سازی‬
‫چون فایل داده ای پایل است‪ ،‬بنابراین در حالت کلی‪ ،‬بهنگام سازی برون از جا انجام می شود‪ .‬عملیهات الزم‬
‫عبارتند از‪:‬‬
‫‪ -1‬واکشی رکورد بهنگام در آمدنی‬
‫‪ – 2‬ساختن نسخه جدید و ضبط نشانگر "حذف شده" در نسخه قدیم‬
‫‪ -3‬درج نسخه جدید‬
‫‪ -4‬حذف نسخه قدیم‬

‫خواندن تمام فایل‬


‫جهت خواندن کل فایل به صورت سریال‪ ،‬رکورد اول واکشی شده و بقیه رکوردها طی یهک سلسهله عملیهات‬
‫بازیابی رکورد بعدی به دست می آیند‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪104‬‬ ‫ذخیره و بازیابی اطالعات‬

‫سازماندهی مجدد‬
‫در ساختار چند شاخصی به علت وجود یکی از دالیل زیر میتوان عمل سازماندهی مجدد را انجام داد‪:‬‬
‫‪ -1‬باز پس گیری حافظههای هرز‬
‫‪ -2‬برگرداندن یکنواختی توزیع گره های درخت شاخصی که در اثر حذف یا درج گرههای همسهایه‪ ،‬از بهین‬
‫رفته است‪.‬‬
‫برای سازماندهی مجدد‪ ،‬ابتدا فایل را خوانده و سپس با حذف رکوردههای حهذف شهدنی‪ ،‬فایهل را بازنویسهی‬
‫کرده و سپس شاخص ها سازماندهی مجدد می شوند‪.‬‬

‫مشکل ‪ B-TREE‬این است که برای دستیابی به هر داده ‪ ،‬باید از طریهق داده ههای موجهود در پهدر آن‬
‫داده‪ ،‬خود را به داده مورد نظر برسانیم‪ .‬برای رفع این مشکل از ‪ -TREE B ‬استفاده می کنیم‪.‬‬

‫یک ‪ B–TREE‬از مرتبه ‪ m‬که همه گره های خطا در آن در سهطح ‪ L + 1‬قهرار دارنهد‪ ،‬حهداکثر ‪m L  1‬‬
‫کلید دارد‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪105‬‬ ‫ذخیره و بازیابی اطالعات‬

‫فصل ‪:9‬‬
‫ساختار فایل مستقیم‬

‫معرفی ساختار مستقیم‬


‫ساختار فایل مستقیم (درهم یها ‪ ،) Hashed‬بهه سهاختارهای قبلهی وابسهته نمیباشهد و اسهتراتژی دسهتیابی‬
‫مستقیم به رکوردها از طریق آدرس هر رکورد تامین میشود‪ .‬در هنگام ایجهاد فایهل در لهود اولیهه‪ ،‬یکهی از‬
‫صفات خاصه رکورد‪ ،‬کلید در نظر گرفته میشود‪ .‬بعد از آنکه مقدار کلید به سیستم فایل داده شهد‪ ،‬سیسهتم‬
‫پردازشی را روی آن انجام داده و آدرسی که رکورد باید در آن قرار گیرد را بر مهی گردانهد‪ .‬ایهن پهردازش را‬
‫‪ KAT‬یعنی تبدیل کلید به آدرس میگویند و تابعی که عمل تبدیل کلید به آدرس را انجام می دههد را تهابع‬
‫درهم ساز می نامند‪.‬‬
‫فایل در این ساختار دارای یک فضای آدرس با ‪ m‬آدرس از ‪ 1‬تا ‪( m‬یا از صفر تا ‪ ) m-1‬می باشد که هر آدرس‬
‫‪n‬‬
‫را فهاکتور لهود‬ ‫به یک حفره )‪ (slot‬مرتبط است‪ .‬در این فضای آدرس باید ‪ n‬رکورد درج شهود )‪ (n<m‬کهه‬
‫‪m‬‬
‫میگویند و همواره کوچکتر یا مساوی یک میباشد‪.‬‬
‫یکی از توابع درهم ساز (مبدل) ‪ ،‬تابع تقسیم نام دارد که آدرس ‪ ،‬باقیمانده تقسیم صحیح کلید بهه عهدد اول‬
‫برابهر ‪3088‬‬ ‫‪1..5000‬‬ ‫نزدیک به ‪ m‬می باشد‪ .‬به طو نمونه آدرس حاصل از کلید ‪ 12345678‬در فضای آدرسهی‬
‫می باشد ‪ ،‬چون ‪:‬‬
‫‪12345678 mod 4997 = 3088‬‬
‫( عدد ‪ ، 4997‬عدد اول نزدیک به ‪ 5000‬می باشد‪).‬‬

‫تصادف )‪(collision‬‬
‫تصادف یا برخورد وقتی رخ می دهد که پس از اعمال تابع مبدل کلید به آدرس‪ ،‬بهه ازای دو کلیهد متفهاوت‪،‬‬
‫آدرس یکسانی تولید شود‪K i  K j  a i  a j .‬‬

‫هرچه تعهداد رکوردههای تصهادفی کمتهر باشهد‪ ،‬واکشهی رکوردهها سهریعتر خواههد بهود‪( .‬رکوردههای‬
‫غیرتصادفی با یکبار دستیابی بازیابی میشوند‪).‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪106‬‬ ‫ذخیره و بازیابی اطالعات‬

‫روش های حل مشکل تصادف و درج سرریزی ها‬


‫‪ -1‬ایجاد فایل جداگانه‬
‫‪ -2‬در نظر گرفتن ناحیه ای جداگانه در خود فایل‬
‫‪ -3‬جستجوی خطی و درج تصادفی در اولین باکت جادار‬
‫)‪(Rehashing‬‬ ‫‪ -4‬درهم سازی مجدد‬
‫‪ -5‬ایجاد زنجیره بدون جایگزینی‬
‫‪ -6‬ایجاد زنجیره با جایگزینی‬
‫تذکر‪ :‬روشهای ‪1‬و‪ 2‬رایج نمیباشهند‪ ،‬روشههای ‪3‬و‪ 4‬را آدرس دههی بهاز) ‪ (open addresing‬و روشههای ‪5‬و‪ 6‬را‬
‫‪ chaining‬می نامند‪.‬‬

‫ایجاد فایل جداگانه‬


‫در این روش یک فایل جداگانه در نظر گرفته شهده و رکوردههای تصهادفی در آن درج میشهوند‪ .‬ایهن روش‬
‫دارای دو عیب زیر می باشد‪:‬‬
‫‪ -1‬حفره های هرز در فایل اصلی بوجود می آید‪.‬‬
‫‪ -2‬سیستم فایل باید دو فایل را پردازش کند‪.‬‬

‫در نظر گرفتن ناحیه ای جداگانه در خود فایل‬


‫در این روش ناحیه ای جداگانه مثالً درانتهای هر استوانه برای درج رکوردهای سرریز استفاده میشود‪ .‬عیهب‬
‫این روش در این است که امکان دارد باکت هایی از ناحیه جداگانه پر شود در حالیکه باکهت ههایی از ناحیهه‬
‫اصلی دارای حفره های خالی باشند‪.‬‬
‫جستجوی خطی و درج تصادفی در اولین باکت جادار‬
‫در این روش با شروع از محل تصادف‪ ،‬جستجوی خطی به سمت انتهای فایل شروع شهده و رکهورد تصهادفی‬
‫در اولین باکت جادار درج میشود‪ .‬معایب این روش عبارتند از ‪:‬‬
‫‪ -1‬طوالنی شدن زمان جستجوی خطی برای واکشی رکورد تصادفی وقتی که فاکتور لود افزایش می یابد‪(.‬به‬
‫علت بررسی رکوردهای غیر مرتبط)‬
‫‪ -2‬رکوردها را نمیتوان به راحتی حذف کرد‪ ،‬چون احتمال دارد با وجود اینکه رکوردی در فایل وجود داشته‬
‫باشد‪ ،‬پیام رکورد یافت نشد‪ ،‬صادر شود‪ .‬زیرا در صورت حذف یک کورد‪ ،‬حفره ای خالی می شهود و چهون‬
‫کاوش خطی برای یافتن یک رکورد مورد نظر ‪ ،‬به محض برخورد با یهک حفهره خهالی پایهان مهی پهذیرد‪،‬‬
‫سیستم قادر به یافتن رکورد مورد نظر نخواهد بود‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪107‬‬ ‫ذخیره و بازیابی اطالعات‬

‫در این روش چون هر باکت پر شده ‪ ،‬از حفره های خالی نزدیکترین باکت استفاده می کند‪ ،‬بهه روش "‬
‫همسایگی بد " معروف است‪.‬‬

‫درهم سازی مجدد )‪(Rehashing‬‬


‫در این روش کلید رکورد تصادفی به تابع دیگری داده می شود‪ .‬اگر اولین تابع به صورت (‪ )1‬عمل کند و تابع‬
‫مشابه دیگری به صورت (‪ )2‬عمل کند‪ ،‬در نهایت آدرس جدید برابر ‪ A+D‬خواهد بود‪.‬‬
‫‪A=key mod m1‬‬ ‫)‪(1‬‬
‫‪D=key mod m2+1‬‬ ‫)‪(2‬‬
‫(‪ m1‬عدد اول نزدیک به ‪ m‬و ‪ m2‬عدد اول بالفاصله کوچکتر از ‪ m1‬می باشد‪).‬‬
‫‪ -1‬اگر‪ A+D‬از ‪ m‬بزرگتر باشد ‪ ،‬عمل جمع به پیمانه ‪ m‬باید انجام شود‪.‬‬
‫‪ -2‬چون معموالٌ مقادیر‪ D‬بزرگتر از ‪ BKf‬میباشد‪ ،‬باکت بندی فایل لزومی ندارد‪.‬‬
‫‪ -3‬تعداد حفره های بررسی شونده در این روش‪ ،‬کمتر از روش کاوش خطی است‪.‬‬

‫روش ایجاد زنجیره بدون جایگزینی‬


‫در روش جستجوی خطی‪ ،‬رکوردهای غیرمرتبط بررسی میشوند‪ .‬برای جلوگیری از بررسی ایهن رکوردهها‪،‬‬
‫رکوردهای تصادفی به یکدیگر زنجیر میشوند تا از رکوردهای غیر دخیل پرش شود‪.‬‬
‫‪ ‬تابع درهم ساز را روی کلید چند رکورد اعمال کرده ایم و فایل بعد از درج این رکوردها به صورت زیهر در‬
‫آمده است‪ .‬رکورد ‪ R8‬با آدرس ‪ 15‬و رکورد ‪ R9‬با آدرس ‪ 18‬و رکورد ‪ R10‬با آدرس ‪ 15‬را درج کنید‪.‬‬

‫‪…..‬‬ ‫‪R1‬‬ ‫‪R2‬‬ ‫‪R3‬‬ ‫‪R4‬‬ ‫‪R5‬‬ ‫‪R6‬‬ ‫‪R7‬‬ ‫‪….‬‬


‫‪15‬‬ ‫‪16‬‬ ‫‪17‬‬ ‫‪18‬‬ ‫‪19‬‬ ‫‪20‬‬ ‫‪21‬‬ ‫‪22‬‬ ‫‪23‬‬ ‫‪24‬‬ ‫‪25‬‬

‫‪R1‬‬ ‫حل‪ :‬رکورد ‪ R8‬که آدرس تولید شده برای آن ‪ 15‬است‪ ،‬در اولین آدرس خالی یعنی ‪ 18‬درج میشهود و از‬
‫اشاره گری ایجاد میشود‪ .‬سپس برای درج رکورد ‪ R9‬که آدرس تولید شده برای آن ‪ 18‬است‪ ،‬از خانهه‬ ‫‪R8‬‬ ‫به‬
‫با آدرس ‪ 21‬استفاده میشود و از حفره ‪ 18‬به‪ 21‬اشاره گری ایجاد میشود‪ .‬در نهایت‪ ،‬رکهورد ‪ R10‬کهه آدرس‬
‫تولید شده برای آن ‪ 15‬است را در حفره آدرس ‪ 24‬درج میکنیم و زنجیره ای که از آدرس ‪ 15‬شروع و از ‪ 18‬و‬
‫‪ 21‬گذشته بود به ‪ 24‬ختم میشود‪.‬‬

‫‪…..‬‬ ‫‪R1‬‬ ‫‪R2‬‬ ‫‪R3‬‬ ‫‪R8‬‬ ‫‪R4‬‬ ‫‪R5‬‬ ‫‪R9‬‬ ‫‪R6‬‬ ‫‪R7‬‬ ‫‪R10 ….‬‬
‫‪15‬‬ ‫‪16‬‬ ‫‪17‬‬ ‫‪18‬‬ ‫‪19‬‬ ‫‪20‬‬ ‫‪21‬‬ ‫‪22‬‬ ‫‪23‬‬ ‫‪24‬‬ ‫‪25‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪108‬‬ ‫ذخیره و بازیابی اطالعات‬

‫در واقع دو زنجیره یکی به مبدأ ‪ 15‬و یکی به مبدأ ‪ 18‬وجود دارد‪ ،‬که بهه یهک زنجیهره تبهدیل شهدهاند‪ .‬ایهن‬
‫مشکل را ائتالف زنجیرهها )‪ (Coalesce‬میگویند‪.‬‬

‫پدیده ائتالف باعث میشود که با افزایش فاکتور لود‪ ،‬طول زنجیره ها طهوالنی شهده و کهارایی فایهل در‬
‫درج و حذف کاهش می یابد‪.‬‬
‫مشکل اساسی روش درج بدون جایگزین وقتی است که رکورد سر زنجیره حذف شود‪ .‬در این حالت در‬
‫هنگام بازیابی یک رکورد از زنجیره‪ ،‬پیام رکورد وجود ندارد اعالم خواهد شد‪ .‬بنابراین سهر زنجیهره بهتهر‬
‫است حذف منطقی شود‪ ،‬یعنی نشانگر حذف شده برای آن درج شود و به عنوان حفره خالی اعالم نشود‪.‬‬

‫زمان جستجو در روش ایجاد زنجیره بدون جایگزینی از روشهای قبلی کمتر است‪.‬‬

‫روش ایجاد زنجیره با جایگزینی‬


‫روش ایجاد زنجیره با جایگزینی‪ ،‬عالوه بر رفع مشکل حذف‪ ،‬زمان جستجو را باز هم کوتاهتر می کند‪ .‬در این‬
‫روش هنگام درج رکورد جدید‪ ،‬چنانچه آدرس طبیعی آن اشغال باشد‪ ،‬رکهورد موجهود در حفهره مربهو بهه‬
‫رکورد درج شدنی از حفره برداشته شده و رکورد جدید در حفره طبیعی خود جای می گیرد‪.‬‬

‫‪ ‬با توجه به مثال قبل ‪ ،‬در صورت استفاده از روش ایجاد زنجیره با جایگزینی بعد از درج سه رکورد فایل به‬
‫صورت زیر در خواهد آمد‪:‬‬

‫‪…..‬‬ ‫‪R1‬‬ ‫‪R2‬‬ ‫‪R3‬‬ ‫‪R9‬‬ ‫‪R4‬‬ ‫‪R5‬‬ ‫‪R8‬‬ ‫‪R6‬‬ ‫‪R7‬‬ ‫‪R10‬‬ ‫‪….‬‬

‫‪15‬‬ ‫‪16‬‬ ‫‪17‬‬ ‫‪18‬‬ ‫‪19‬‬ ‫‪20‬‬ ‫‪21‬‬ ‫‪22‬‬ ‫‪23‬‬ ‫‪24‬‬

‫ابتدا ‪ R8‬در حفره ‪ 18‬قرار میگیرد و پس از آن چون آدرس طبیعی ‪ R9‬برابر ‪ 18‬است ‪ R8 ،‬برداشته میشود و‬
‫در اولین حفره خالی یعنی ‪ 21‬قرار گرفته و ‪ R9‬به جای آن درج میشود‪ .‬در ایهن حالهت دو زنجیهره داریهم و‬
‫پدیده ائتالف زنجیره ها رخ نمی دهد و طول زنجیره ها کاهش می یابد ‪.‬همچنین احتمال اینکه یهک رکهورد‬
‫در آدرس طبیعی اش قرار بگیرد‪ ،‬بیشتر است‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪109‬‬ ‫ذخیره و بازیابی اطالعات‬

‫موارد استفاده فایل مستقیم‬


‫‪ -1‬در محیط هایی که ماهیت پردازش ترتیبی نمیباشد و دستیابی سریع به رکوردها مورد نظر باشد‪.‬‬
‫‪ -2‬در محیط هایی که نرخ عملیات درج پایین باشد‪.‬‬
‫‪ -3‬در محیط هایی که طول رکوردها ثابت و کوچک باشند‪.‬‬
‫ترکیبی(دسترسی به سرآیندها در فایل چند حلقه ای یا دسترسی به مدخلهای شاخص در سطح اول شاخص)‬ ‫‪ -4‬در ایجاد ساختارهای‬

‫معایب فایل مستقیم مبنایی‬


‫‪ -1‬بروز حافظه هرز در فایل و توزیع نایکنواخت رکوردها در فضای آدرسی‬
‫‪ -2‬عدم تقارن (فقط یک صفت خاصه به عنوان کلید معرفی میشود‪).‬‬
‫‪ -3‬محدودیت ثابت بودن طول رکوردها‬
‫‪ -4‬پدیده تصادف‬
‫‪ -5‬عدم امکان بازیابی رکورد بعدی به علت پایل بودن فایل‬
‫‪ -6‬عدم امکان پردازش سریال رکوردها‬

‫واکشی رکورد‬
‫عملیات الزم برای واکشی رکورد‪:‬‬
‫‪ -1‬اعمال تابع و یافتن آدرس ) ‪(c h‬‬
‫‪ -2‬خواندن باکتی که آدرس آن بدست آمده است‪.‬‬
‫‪ -3‬بررسی محتوای باکت‬
‫‪ -4‬اگر رکورد در باکت نباشد‪ ،‬تصادفی است و باید آن را در رکوردهای تصادفی جستجو کرد‪.‬‬

‫بازیابی رکورد بعدی‬


‫چون فایل از نوع پایل است‪ ،‬رکورد بعدی هیچ مفهومی ندارد‪.‬بنابراین بازیابی رکورد بعدی مانند واکشی یهک‬
‫رکورد جدید است‪(.‬مانند ساختار پایل ‪) TN  TF‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪110‬‬ ‫ذخیره و بازیابی اطالعات‬

‫بهنگام سازی‬
‫اگر مقدار کلید عوض نشود‪ ،‬بهنگام سازی به صورت درجا انجام میشود ‪ .‬برای اینکار رکورد واکشهی شهده و‬
‫بعد از ایجاد نسخه جدید در بافر‪ ،‬رکورد بازنویسی میشود‪ .‬البته اگر کلید رکورد عوض شود‪ ،‬نسخه قهدیم بها‬
‫نشانگر حذف شده بازنویسی میشود و نسخه جدید درج میشود‪.‬‬

‫خواندن کل فایل‬
‫چون این فایل دارای حفره های خالی میباشد‪ ،‬در هنگام خواندن ترتیبی‪ ،‬باید همه آنها خوانده شوند‪.‬‬
‫در فایل با ساختار مستقیم زمان الزم برای بازیابی تمام رکوردها با استفاده از کلید ‪ nTF‬می باشد‪.‬‬

‫سازماندهی مجدد‬
‫اگر زنجیره تصادفی طوالنی شود یا ناحیه جداگانه سرریزی پر شود‪ ،‬فایل باید سازماندهی مجدد گردد‪ .‬بهرای‬
‫اینکار ابتدا کل فایل را باید خواند و سپس فایل را با رکوردهای فعال لود کهرد‪ .‬کهه بهرای لهود کهردن فایهل‬
‫مستقیم‪ ،‬رکوردها را یکی یکی در فضای آدرس می نویسیم ‪:‬‬
‫فایل مستقیم از نظر احیاء نظم آغازین نیازی به سازماندهی مجدد ندارد‪.‬‬

‫روش های لود کردن فایل مستقیم‬


‫فایل مستقیم را به دو روش مستقیم و ترتیبی می توان لود کرد‪:‬‬

‫لود مستقیم‬
‫در این روش ‪ ،‬رکوردها از فایل ورودی خوانده شده و بعد از اعمال تابع مبدل روی مقدار کلید رکورد‪ ،‬رکهورد‬
‫در آدرس تولید شده درج میشود و در صهورت پهر بهودن آدرس در فایهل سهرریز درج خواههد شهد‪ .‬سهپس‬
‫رکوردهای فایل سرریز در فایل مستقیم درج خواهند شد‪.‬‬

‫لود ترتیبی‬
‫در این روش ‪ ،‬رکوردهای فایل ورودی خوانده شده و آدرس تولید شده بعد از اعمال تهابع مبهدل روی کلیهد‬
‫اصلی‪ ،‬در فیلد جدیدی از رکورد درج میشود و رکهورد در یهک فایهل ترتیبهی زمهانی درج میشهود‪ .‬سهپس‬
‫رکوردها براساس آدرس ها مرتب شده و در یک فایل مستقیم دیگر نوشته میشهوند و رکوردههای سهرریزی‬
‫نیز در یک فایل سرریزی وارد شده و در نهایت این رکوردهای سرریزی بر اساس یکی از تکنیکهای سهرریزی‬
‫در فایل مستقیم لود می شوند‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪111‬‬ ‫ذخیره و بازیابی اطالعات‬

‫انتخاب تابع درهم ساز مناسب‬


‫طراح سیستم فایل باید از ضوابط انتخاب تابع توسط پردازشگر فایل مطلع باشهد‪ ،‬تها بتوانهد بهتهرین تهابع را‬
‫انتخاب کند‪ .‬این ضوابط عبارتند از ‪:‬‬
‫‪ -1‬بتوان تابع را روی تمام ارقام کلید اعمال کرد‪.‬‬
‫‪ -2‬رکوردها به طور یکنواخت تری توزیع شوند‪.‬‬
‫‪ -3‬کمتر بودن تعداد تصادفی های الزم برای واکشی یک رکورد‪.‬‬
‫‪ -4‬کمتر بودن متوسط تعداد عملیات ‪ I /O‬الزم برای واکشی یک رکورد‪.‬‬
‫‪ ‬کدام یک از دو تابع ‪ h1 , h2‬که بر روی ‪ 7‬رکورد موجود در یک فایل اعمهال شهده انهد و آدرسههای زیهر را‬
‫تولید کرده اند‪ ،‬مناسب ترند؟ (تابع بر روی تمام ارقام کلید اعمال شده است)‬
‫‪h1 :1,2,3,4,5,1,1 , h2 :1,2,3,4,5,1,2‬‬
‫حل‪ :‬تعداد تصادف ها در هر دو تابع یکسان است‪:‬‬
‫در تابع ‪ ، h1‬رکورد ششم با رکورد یکم و رکورد هفتم نیز با رکورد یکهم تصهادف کهرده اسهت و درتهابع ‪، h2‬‬
‫رکورد ششم با رکورد یکم و رکورد هفتم با رکورد دوم تصادف کرده است‪ .‬به عبارتی تعداد تصادف ها در ههر‬
‫دو تابع برابر است و برای انتخاب تابع بهتر باید متوسط تعداد عملیات ‪ I/O‬الزم برای واکشهی یهک رکهورد را‬
‫محاسبه کرد‪.‬‬
‫‪1  1  1  1  1  2  3 10‬‬ ‫‪11111 2  2 9‬‬
‫‪h1 :‬‬ ‫‪‬‬ ‫‪ 1.4 , h2 :‬‬ ‫‪  1.2‬‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫بنابراین تابع ‪ h2‬از ‪ h1‬مناسبتر است‪.‬‬
‫باکت بندی‬
‫اگر فایل مستقیم با ‪ m‬حفره را باکت بندی کنهیم‪ ،‬بهه جهای آدرس حفهره‪ ،‬آدرس باکهت (از صهفر تها ‪) M-1‬‬
‫‪m‬‬
‫‪M ‬‬ ‫حواهیم داشت‪ .‬با فرض اینکه در هر باکت ‪ BK f‬حفره وجود داشته باشد‪ ،‬داریم‪:‬‬
‫‪BK f‬‬
‫که برای ساختن ‪ M‬آدرس حداقل به ‪ log 2M‬بیت نیاز است‪.‬‬

‫مزایای باکت بندی‬


‫‪ -2‬کوتاهتر شدن طول آدرسها‬ ‫‪ -1‬تسهیل در حل مشکل تصادف‬
‫‪ -3‬امکان ایجاد فایل مستقیم با رکوردهای با طول متغیر‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪112‬‬ ‫ذخیره و بازیابی اطالعات‬

‫‪ ‬اگر در حل مساله تصادف از روش باکت بندی استفاده نمائیم و رکوردهای تصادفی در یهک آدرس باکهت‬
‫قرار گیرند و فرض کنیم تعداد حفره ها )‪ (m‬برابر ‪ 512‬و تعداد حفره ها در باکت ) ‪ ( Bkf‬برابر ‪ 32‬باشهد‪ ،‬در‬
‫‪512‬‬
‫‪M ‬‬ ‫این صورت تعداد بیت های الزم برای آدرس دهی را بدست آورید؟ ‪ 16‬‬
‫‪32‬‬
‫بنابراین برای ساختن ‪ 16‬حفره به ‪ 4‬بیت نیاز داریم‪2  4 :‬‬
‫‪log 16‬‬
‫‪ ‬استفاده از باکت بندی در مثال قبل‪ ،‬چند بیت طول آدرسها را کوتاهتر کرد؟‬
‫حل‪ :‬اگر از باکت بندی استفاده نمی کردیم‪ ،‬تعداد بیت های مورد نیاز برابر بود با‪:‬‬
‫‪log m2  log 512‬‬
‫‪2‬‬ ‫‪9‬‬
‫و دیدیم که در صورت استفاده از باکت بندی‪ ،‬به ‪ 4‬بیت برای آدرس دهی نیاز داریم‪ .‬بنابراین میزان ‪ 5‬بیهت‬
‫طول آدرسها کاهش یافت‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪113‬‬ ‫ذخیره و بازیابی اطالعات‬

‫کاربردهای ساختارهای مطالعه شده‬

‫موارد استفاده‬ ‫ساختار‬


‫‪ -1‬در محیطهایی که دادهها نظم پذیر نمیباشهند و پهیش پردازشهی روی‬
‫داده ها انجام نشده است و اساسا فایل برای بایگانی ایجاد شود‪.‬‬
‫‪ -2‬در محیطهایی که امنیت دادهها مورد نظر باشد‪.‬‬ ‫پایل‬
‫‪ -3‬مبنایی برای درک و طراحی ساختارهای بهتر‪.‬‬
‫‪ -1‬کاربردهای تجاری‬
‫‪ -2‬نیازی به تغییر طول رکورد نباشد‪.‬‬
‫‪ -3‬واکشی سریع تک رکوردها مورد نظر نباشد‪.‬‬ ‫ترتیبی‬
‫‪ -4‬کاربرد سیستمی‬
‫‪ -5‬در ایجاد بعضی از ساختارها‬
‫‪ -1‬وقتی که پردازش سریال برحسب مقادیر کلید مطرح است(نه صهفات‬
‫دیگر آنها)‬ ‫ترتیبی شاخص دار‬
‫‪ -2‬وقتی که واکشی تک رکوردها از طریق کلید آنها‪ ،‬عملی رایجهی مهی‬
‫باشد‪.‬‬
‫‪ -3‬سیستم های داده پردازی تجاری ه مدیریتی‪.‬‬
‫‪ -1‬محیط هایی که واکشی سریع تک رکوردها مطرح است‪.‬‬
‫‪ -2‬محیط هایی که فایل حالت نامانا دارد یعنی دادهها مرتباً در حال تغییر‬
‫میباشند‪.‬‬ ‫چند شاخصی‬
‫‪ -3‬محیط هایی کهه کهاربر بخواههد از طریهق صهفات خاصهه مختلهف بهه‬
‫رکوردها دستیابی داشته باشد‪.‬‬
‫‪ -1‬در محیط هایی که ماهیت پردازش ترتیبی نمیباشد و دستیابی سریع‬
‫به رکوردها مورد نظر باشد‪.‬‬
‫‪ -2‬در محیط هایی که نرخ عملیات درج پایین باشد‪.‬‬ ‫مستقیم‬
‫‪ -3‬در محیط هایی که طول رکوردها ثابت و کوچک باشند‪.‬‬
‫‪ -4‬در ایجاد ساختارهای ترکیبی‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪114‬‬ ‫ذخیره و بازیابی اطالعات‬

‫دسته بندی موضوعی آموزش های فرادرس‪ ،‬در ادامه آمده است‪:‬‬

‫مهندسی برق الکترونیک و‬ ‫هوش مصنوعی ‪ -‬کلیک (‪)+‬‬ ‫آموزشهای دانشگاهی و‬ ‫برنامهنویسی ‪ -‬کلیک (‪)+‬‬
‫روباتیک ‪ -‬کلیک (‪)+‬‬ ‫تخصصی – کلیک (‪)+‬‬

‫مهارت های دانشگاهی ‪-‬‬ ‫مباحث مشترک ‪ -‬کلیک (‪)+‬‬ ‫دروس دانشگاهی ‪-‬‬ ‫مهندسی نرمافزار ‪-‬‬
‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬

‫آموزشهای عمومی ‪-‬‬ ‫طراحی و توسعه وب ‪-‬‬ ‫نرمافزارهای عمومی ‪-‬‬ ‫نرمافزارهای تخصصی ‪-‬‬
‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬ ‫کلیک (‪)+‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬


‫‪115‬‬ ‫ذخیره و بازیابی اطالعات‬

‫منبع مطالعاتی تکمیلی مرتبط با این کتاب‬

‫آموزش ویدئویی ذخیره و بازیابی اطالعات‬

‫با افزایش روز افزون اطالعات‪ ،‬فرایند ذخیره‪ ،‬بازیابی و استخراج اطالعات از‬
‫اهمیت ویژه ای برخوردار است‪ .‬این اطالعات ممکن است شامل هر نوع‬
‫منبعی مانند متن‪ ،‬تصویر‪ ،‬صوت و ویدئو باشد‪ .‬هدف از ذخیره و بازیابی‬
‫اطالعات کمک به کاربران برای ذخیره مناسب اطالعات و یافتن اطالعات‬
‫مورد نظر در انبوهی از اطالعات ساختار نایافته است‪.‬‬

‫یکی از هدف های یادگیری ذخیره و بازیابی اطالعات‪ ،‬آموختن روش های‬
‫ذخیره سازی مورد استفاده در سامانه های ذخیره سازی داده و همچنین‬
‫طراحی و معماری فناوری های نوین به کار گرفته شده در این سامانه ها می‬
‫باشد‪ .‬ذخیره سازی اطالعات را می توان چنین برداشت نمود که هرگونه‬
‫عملیاتی که اطالعات را بر روی یک سامانه ذخیره ساز یا رسانه ذخیره کند‪.‬‬
‫معنای رسانه در اینجا معنای یک وسیله ای است که قدرت ذخیره و بازیابی‬
‫اطالعات و به عبارتی خواندن دوباره اطالعات را داشته باشد‪( .‬به عنوان مثال‬
‫ذخیره کردن فیلم بر روی ‪ DVD‬به عنوان ذخیره سازی اطالعات تعریف‬
‫می شود‪.).‬‬

‫مدرس‪ :‬مهندس فرشید شیرافکن‬


‫مدت زمان‪ 8 :‬ساعت‬
‫‪faradars.org/fvsft106‬‬ ‫جهت مشاهده آموزش ویدئویی این آموزش کلیک کنید‪.‬‬

‫‪http://faradars.org/computer-engineering-exam‬‬ ‫دانلود رایگان مجموعه کتب کارشناسی و کنکور ارشد کامپیوتر‬

You might also like