لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 13
پروتکل انتقال فایل (FTP)
پروتکل انتقال فایل که آن را ftp می نامیم ابزاریست مطمئن برای انتقال فایل بین کامپیوتر ها یی که به شبکه اینترنت متصل هستند. خدماتی که این پروتکل ارائه می کند عبارتند از :
تهیه لیستی از فایلهای موجود ازسیستیم فایل کامپوتر راه دور
حذف، تغییر نام و جابجا کردن فایلهای کامپیوتر راه دور
جستجو در شاخه های ( دایر کتوریهای) کامپیوتر راه دور
ایجاد یا حذف شاخه روی کامپیوتر راه دور
انتقال فایل ازکامپیوتر میزبان
انتقال فایل و ذخیره ی آن از کامپیوتر میزبان به کامپیوتر راه دور
قابلیت هایی که پروتکل FTP عرضه می کند می تواند برای سیستم سرویس دهنده بسیار خطرناک باشد چرا که بسادگی می توان فایل های یک کامپیوتر راه دور را آلوده یا نابود کرد. فلذا در این پروتکل کاربران باید قبل ازتقاضای هر سرویسی کلمه ی عبور خود را وارد نمایند و سرویس دهنده پس از شناسایی کاربر سطح دسترسی وعملیات مجاز برای کاربر را تعیین می کند و یک نشست FTP آغاز می شود. FTP این قابلیت را ندارد که بتوان همانند پروتکل Telnet برنامه ای را برروی ماشین راه دور اجرا کرد بلکه فقط روشی سریع ساده و مطمئن برای خدمات فایل به کاربران راه دور محسوب می شود. حال باید ارتباط بین سرویس دهنده و سرویس گیرنده FTP را تشریح نماییم:
در پروتکل FTP برای شروع یک نشست بین برنامه سرو.یس دهنده و برنامه ی سرویس گیرنده باید دو ارتباط همزمان ازنوع TCP بر قرار شود. به هر یک از این ارتباطات در ادبیات پروتکل FTP ،کانال گفته می شود. این دو کانال عبارتند از :
کانال داده : یک ارتباط TCP با پورت شمارهی 20 از سرویس دهنده که روی آن داده ها ( مثلا بلوکهای یک فایل ) مبادله می شوند .
کانال فرمان: یک ارتباط TCP با پورت شمارهی 21 که روی آن فرامین لازم برای مدیریت فایلها رد و بدل می شود.
دلیل لزوم برقراری دو کانال مجزا بین سروس دهنده و سرویس گپیرنده ان است که بتوان بدون قطع جریان داده ها فرامین را بطور همزمان مبادله کرد. بعنوان مثال در حین اتقاال یک فایل می توان روی کانال فرمان دستور لغو عمل انتقال یا تغییر مود انتقال را صادر کرد. ذکر این نکته ضروری است که در پروکتل FTP ازسیستم spooler یا صف برای انتقال فایلها استفاده نمی کند بلکه عملیات انتقال به صورت بلادر نگ انجام می گیرد . ( سیستمهایی مثل مدیریت چاپ در پس زمینه عمل می کند یعنی وقتی پروسه ای تقاضای چاپ یک سند را می دهد سیستم عامل آن را به صف میکند تادر موقع مناسب آنرا چاپ نماید فلذا مشخص نیست از زمان صدور فرمان چاپ چه مدت طول بکشد تا سند چاپ شود چرا که اولویت با پروسه هایی است که در پیش زمینه اجرا می شوند .)
به گونه ای که اشاره شد سرویس دهنده FTP بایستی دو پروسه همزمان ایجاد نماید که یکی وظیفه مدیریت ارتباط روی کانال فرمان را به عهده داشته و اصطلاحاً مفسر پروتکل یا پروسه PI نامیده می شود . وظیفه پروسه دیگر مدیریت انتقال داده است وبه DTP یا پروسه انتقال داده معروف است . پروسه PI همیشه به پورت شماره 21 گوش میدهد و پروسه DPT به پورت شماه 20 مقید شده است.
روشهای برقراری یک نشست FTP
برقراری ارتباط بین سرویس دهنده وسرویس گیرنده FTP با دو روش امکان پذیر است :
روش معمولی یا NORMAL MODE
روش غیر فعال یا PASSIVE MODE
در روش معمولی برای برقراری یک نشست FTP مراحل زیر انجام میشود :
1) در برنامه سمت سرویس گیرنده ( برنامه سمت مشتری ) ابتدا دو سوکت نوع TCP با شماره پورت تصادفی بالای 1024 ایجاد می شود .
2) در مرحله دوم برنامه سمت مشتری سعی می کند با استفاده ازدستور () CONNECT ارتباط یکی از سوکتهای ایجاد شده را با پورت شماره 21 ازسرویس دهنده برقرار نماید. اگر این ارتباط برقرار شود در حقیقت کانال فرمان باز شده و پروسه PI آماده تفسیر فرامین صادره ازسمت مشتری می باشد .
3) برنامه سمت مشتری با فرمان PORT به برنامه سمت سرویس دهنده شماره پورت سوکت دوم را اعلام می ماند . ( در حقیقت برنامه مشتری روی سوکت دوم عمل () Iisten انجام می دهد )
4) در ادامه برنامه سرویس دهنده سعی می کند یک ارتباط با tcp با شماره پورت اعلام شده برقرار نماید . یکی ازنکات عجیب در این پروتکل آنست که سرویس دهنده FTP موظف است اقدام به برقراری یک ارتباط TCP ازطریق دستور ()CONNECT با برنامه مشتری نماید در صورتی که معمولا سرویس دهنده پذیرنده ارتباط است نه شروع کننده ارتباط.
5) برنامه سمت مشتری ارتباط TCP شروع شده ازسرویس دهنده را تصدیق کرده و یک نشست FTP آغاز می شود.
مثالی از یک نشست FTP به روش معمولی
حال باید روش غیر فعال را در برقراری یک نشست FTP بر رسی نمایم :
1) در برنامه ی سمت مشتری ابتدا دو سوکت نوع TCP با شماره پورت های تصادفی بالای 1024 ایجاد می شود.
2) برنامه سمت مشتری سعی می کند ارتباط TCP یکی ازسوکتهای ایجاد شده را با پورت شماره 21 ازسرویس دهنده برقرار نماید. با برقراری این ارتباط کانال فرمان باز شده و پروسه PI آماده تفسیر فرامین صادره ازسمت مشتری خواهد شد.
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 29
مقدمه:
مزیت JPEG پیشرفته اینست که اگر یک تصویر ضمن اینکه منتقل می شود، بلافاصله نمایش داده شود، شما می توانید خیلی بسرعت کل تصویر را بطور تقریب با اصلاح تدریجی کیفیتببیند تا کسی که مدت طولانی تری منتظر می ماند و این خیلی مجهتر از یک نمایش کند ازبالا تا پایین تصویر می باشد. صغفش اینست که هر اسکنی حدوداًبه میزان یکسانی محاسبه برای نمایش، متوسل می شود همانطور که کل فایل JPEG خط مبنا باید باشد. بنابراین JPEG پیشرفته فقط وقتی حساس می شود که فردی کُدبرداری داشته باشد که در مقایسه با اتصال ارتباطی سریع
است. (اگرداده ها بسرعت برسد، یک کُدبرداری // پیشرفته می تواند بوسیله جهش بعضی گذرهای نمایشی، وفق یابد. از اینرو کُد برداری شما به قدر کافی فرمت دارد تا TI داشته باشد یا اتصالات شبکه ای سریعتر ممکن است هیچ تفاوتی رابین JPEG پیشرفته، و با قاعده نبیند، اما بر روی یک اتصال سرعت مودم، JPEG پیشرفته، وسیع می باشد.)
تا همین اواخر، کاربردهای زیادی در JPEG پیشرفته که جذاب بنظر می رسید، وجود نداشت، بنابر این آن بطور وسیعی اجرا نمی گشت. اما با شهرت جستجو گرهای شبکه جهانی وب در اجرای اتصالات کند مودم و با اسب بخار در حال افزایش کامپیوترهای شخصی، JPEG پیشرفته برنده کاربرد شبکه جهانی وب شده است، نرم افزار JPEG آزاد JJG اکنون از JPEG پیشرفته حمایت می کند وتوانایی جستجو گرها و دیگر برنامه های شبکه جهانی وب بسرعت گسترده می گردد. به استثنای توانایی فراهم کردن نمایش پیشرفته، // JPEG پیشرفته و JPEG خط مبنا اساساً یکسان هستند و آنها بخوبی بر روی انواع تصویر های مشابه کار می کنند. ممکن است بین نمایش های خط مبنا و پیشرفته یک تصویررا بدون لطمه به کیفیت تبدیل می کند (اما برای انجام این مورد نرم افزارخاصی نیاز می باشد، تبدیل بوسیله خروج از فشردگی و دوباره فشرده کردن به دلیل خطاهای گردکردن برشی بدون خسارت نمی باشد.) یک فایل JPEG پیشرفته به هیچ وجه فقط بوسیله یک کُد برداری JPEG خط مبنا، قابل خواندن نیست، بنابر این نرم افزار موجود باید قبل از اینکه JPEG پیشرفته را بتوان بطور گسترده ای استفاده کرد، ارتقاء یابد. موضوع 16 در بخش 2 را برای آخرین اخبار در مورد برنامه هایی که از آن پشتیبانی می کنند، ببینید. می توانم من یک JPEG شفاف بسازم؟
نه. JPEG از شفافیت پشتیبانی نمی کند و احتمالاً آنرا به سرعت انجام نمی دهد. آن آشکار می کند که اضافه شدن شفافیت به JPEG نباید کار ساده ای باشد. اگر جزئیات کاملی می خواهید تا پایان بخوانید و کسب اطلاع کنید. شیوة قدیمی برای شفافیت کُد در GIF دیگر الگوهای فایلی یافت شده، یک مقدار رنگی که از جهات دیگر استفاده نشده برای که نشانگر یک سلول تصویری شفاف می باشد، انتخاب می شود که نمی تواند در JPEG کار کند. زیرا JPEG پراتلاف می باشد. یک سلول تصویری ضرورتاً با همان رنگی که با آن شروع شده، آشکار نمی شود. بطور معمول یک خطای جزئی در مقدار سلول تصویری عیبی ندارد. زیرا بطور جزئی تصویر را تحت تأثیر قرار می دهد. اما اگر آن سلول تصویری را از شفاف به نرمال یابد. عکس تغییر دهد، این خطا کاملاً آشکار و مزاحم می باشد، بخصوص اگر زمینة اصلی کاملاً متفاوت از رنگ شفاف باشد. یک شیوة معقولانه تر ذخیره کردن کانال آنها (درصد شفافیت) همانند یک عنصر جداگانة رنگ در یک تصویر JPEG می باشد.
آن می تواند کار کند زیرا یک خطای کوچک در آلفا فقط تفاوتی جزئی در نتیجة کار ایجاد می کند. مشکل اینست که کانال آلفای معمولی دقیقاً نوعی از تصویر باشد که بطوری بدی بر روی JPEG انجام می شود. مقدار زیادی نواحی مسطح بزرگ و پرشهای ناگهانی. شما باید از یک مجموعه با کیفیت بسیار بالا برای کانال آلفا استفاده کنید. این کار را می توان انجام داد، اما این پنالتی برای اندازة فایل بزرگ می باشد. یک JPEG شفاف این شیوه را که می تواند به آسانی اندازة یک JPEG غیرشفاف را دوبرابر کند، انجام می دهد. قیمت پرداختی بیشترین کاربردهای شفافیت بسیار بالا می باشد. تنها راه حل واقعی اینست که ذخیره سازی پراتلاف تصویر JPEG را با ذخیره سازی بدون اتلاف یک الگوی (پوشش) شفافیت با استفاده از تعدادی الگوریتم دیگر ترکیب کنید. توسعه، استانداردسازی، و ترویج توانایی یک قالب فایل برای کارکردن، کار کوچکی نیست. تا آنجایی که من می دانم هیچ کار جدی بر روی آن انجام نشده و بنظر نمی رسد که شفافیت ارزش تلاش و کار بیشتری داشته باشد.
یک JPEG بدون اتلاف وجود ندارند؟
آشفتگی زیادی در مورد این موضوع وجود دارد که تعجب برانگیز نیست. زیرا چندین شیوة مقایسه ای مختلف وجود دارد که همگی بعنوان JPEG شناخته شده می باشد. شیوه ای که معمولاً استفاده می شود، JPEG خط مبنا می باشد. (یا نوع دیگرش JPEG پیشرفته می باشد.) همچنین استاندارد ایزو (JSO) مشابهی یک شیوة بسیار متفاوت بنام JPEG بدون اتلاف را تعریف می کند. اگر خیلی آشفته نباشد، یک استاندارد جدید بدون اتلاف بنام «JPEG LS» تقریباً سر از خیابانها درمی آورد. وقتی می گویم «بدون اتلاف» منظورم از بی اتلاف از نظر ریاضیاتی این می باشد که: یک الگوریتم مقایسه ای بدون اتلاف، الگوریتمی است که خروجی (برونداد) از فشردگی خارج شده اش را که بیت به بیت با ورود (درونداد) اصلی یکسان می باشد، ضمانت می کند. این یک ادعای قوی تر از «غیرقابل تفکیک شدن تصویری از اصل» می باشد.
JPEG خط مبنا می تواند به تصویری با قابلیت تفکیک پذیری برای تصاویری که بیشترین شباهت را به عکس دانرد، دست یابد، اما آن نمی تواند هرگز کاملاً بدون اتلاف باشد. JPEG بدون اتلاف یک شیوة کاملاً متفاوت است که واقعاً بدون اتلاف می باشد. با این وجود آن کمابیش همانند JPEG خط مبنا فشرده نمی شود، آن بطور معمولی می تواند داده های تمام رنگی را تا حدود 2:1 فشرده کند و JPEG بدون اتلاف بخوبی فقط بر روی تصاویر آهنگ پیوسته کار می کند.
آن فشردگی مُفیدی از تصاویر صفحه رنگ یا تصاویری با بیت عمق کم تهیه نمی کند. JPEG بدون اتلاف در حقیقت هرگز به شهرت نرسیده و هیچ کاربرد معمولی آنرا پشتیبانی نمی کند و آن اکنون کاملاً غیرقابل استفاده می باشد. (برای مثال استاندارد جدید PNG ، JPEG بدون اتلاف را بر روی بیشترین تصاویر فشرده می سازد.) با درک این مطلب کمیتة ISO JPEG اخیراً یک استاندارد فشردگی بدون اتلاف کاملاً جدید بنام JPEG-LS را تکمیل کرده است. (شما همچنین ممکن است از آن تحت نام LOCO می شنوید.) JPEG-LS ، فشردگی بهتری از JPEG اصلی بدون اتلاف ارائه می دهد، اما هنوز نزدیک به آن چیزی که شما می توانید با یک شیوة پُراتلاف بدست آورید، نمی شود.
هر کسی حدس می زد که آیا این استاندارد جدید به شهرت می رسد یا نه. آن تکرار باارزشی می باشد که یک اجرای منظم JPEG را با حداکثر حالت کیفیتش آغاز می کند که به شما ذخیره سازی بدون اتلاف نمی دهد، حتی در بالاترین حالت کیفیت ممکن. JPEG خط مبنا پراتلاف می باشد. زیرا آن به خطاهای گِرد کردن برشی در محاسبات مختلف منوط می شود. خطاهای گِرد کردن برشی به تنهایی تقریباً همیشه خیلی کوچکتر از آنی است که دیده شود. اما اگر شما تصویر را از طریق چرخه های چندگانه فشردگی مرتبط کنید، آنها انباشته می شوند. خیلی از اجراها حتی به شما اجازه نمی دهند که به حداکثر محیط ممکن دست یابید، زیرا آن همانند یک شیوة کم بازده برای استفادة JPEG منظم می باشد. برای مثال با نرم افزار JJG JPEG شما مجبور نیستید فقط «کیفیت 100» را انتخاب کنید. همچنین نمونه برداری از کارافتادة کروما (رنگ) را برای به حداقل
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 28
انواع فایل از نظر نوع اطلاعات
داده ها ممکن است در فایل به دو صورت ذخیره شوند:1ـ اسکی یامتن(text) 2ـ بانیری(binary)
این دو روش ذخیره شدن داده ها در موارد زیر با یکدیگر تفاوت دارند:
1ـ تعیین انتهای خط
2ـ تعیین انتهای فایل
3ـ نحوه ذخیره شدن اعداد بر روی دیسک
در فایل متنی اعداد به صورت رشته أی از کاراکتر ذخیره می شوند ولی در فایل بانیری اعداد به همان صورتی که در حافظه قرار می گیرند بر روی دیسک ذخیره می گردند.
در فایل متنی، کاراکتری که پایان خط را مشخص می کند در حین ذخیره شدن بر روی دیسک باید به کاراکترهای CR/LF باید به کاراکترها تعیین کننده پایان خط تبدیل شوند و بدیهی است که این تبدیلات مستلزم صرف وقت است. لذا دسترسی به اطلاعات موجود در فایلهای متنی کندتر از فایلهای بانیری است. اختلاف دیگر فایلهای متنی و بانیری در تشخیص انتهای فایل است. در مورد روش ذخیره فایل ها طول فایل توسط سیستم نگهداری می شود و انتهای فایل با توجه به این طول مشخص می گردد در حالت متنی کاراکتر 1A ( در مبنای 16) و با 26( در مبنای 10) مشخص کننده انتهای فایل است( این کاراکتر با فشار دادن کلیدCTRL به همراه کلیدZ تولید میشود.) در حین خواندن داده ها فایل ها متنی وقتی کنترل به این کاراکتر ها رسید، بیانگر این است که داده های موجود در فایل تمام شده اند. در فایل بانیری ممکن است عدد 1A (در مبنای 16) و یا 26(در مبنای 10) جزئی از اطلاعات بوده بیانگر انتهای فایل نباشد. لذا نحوه تشخیص انتهای فایل در فایل بانیری با فایل متنی متفاوت است.
سازمان فایل
منظور از سازمان فایل این است که اطلاعات در فایل چگونه ذخیره می شوند و سپس به چه روشهایی مورد بازیابی قرار می گیرند. به عبارت دیگر قانون حاکم بر نحوه ذخیره و بازیابی داده ها را در فایل، سازمان فایل گویند.
در این فصل به دو سازمان فایل پرداخته می شود:
1ـ سازمان فایل ترتیبی(scquenital)
2ـ سازمان فایل تصادفی(random)
در سازمان فایل ترتیبی، رکوردها بهمان ترتیبی که از ورودی خوانده می شوند در فایل قرار می گیرند و در هنگام بازیابی به همان ترتیب که در فایل ذخیره شده اند مورد
بررسی قرار می گیرند.
فایل های ترتیبی معمولاً دارای یک فیلد کلید هستند( فیلد کلید، فیلدی است که به عنوان شاخص رکورد مورد استفاده قرار می گیرد.) و بر اساس آن مرتب می باشند. در سازمان فایل تصادفی، به هر رکورد یک شماره اختصاص می یابد لذا اگر فایل دارای n رکورد باشد رکوردها 1 تاn شماره گذاری خواهند شد. وقتی که رکوردی در فایلی با سازمان تصادفی قرار گرفت محل آن توسط یک الگوریتم پیدا کننده آدرس که با فیلد کلید ارتباط دارد مشخص می شود. در این صورت دو رکورد با فیلد کلید مساوی، نمی توانند در فایل تصادفی وجود داشته باشند. در سازمان فایل تصادفی مستقیماً می توان به ر رکورد دلخواه دسترسی پیدا کرد.( بدون اینکه رکوردهای قبل خوانده شوند.)
باز کردن فایل
هر فایل قبل از اینکه بتواند مورد استفاده قرار گیرد باید باز شود. مواردی که در حین باز کردن فایل مشخص می شود عبارتند از:
1ـ نام فایل
2ـ نوع فایل از نظر ذخیره اطلاعات متنی یا بانیری
3ـ نوع فایل از نظر ورودی ـ خروجی( آیا فایل فقط به عنوان ورودی است. آیا فقط خروجی یا هر دو)
یک فایل ممکن است طوری باز شد که فقط عمل نوشتن اطلاعات بر روی آن مجاز باشد. به چنین فایلی، فایل خروجی گفته می شود. اگر فایل طوری باز گردد که فقط عمل خواندن اطلاعات از آن امکان پذیر باشد به چنین فایلی، فایل ورودی گفته می شود. اگر فایل طوری باز شود که هم عمل نوشتن اطلاعات بر روی آن مجاز باشد و هم عمل خواندن اطلاعات از آن، به چنین فایلی ورودی ـ خروجی گفته می شود. اگر فایلی قبلاً وجود داشته باشد و به عنوان خروجی باز گردد اطلاعات قبلی آن از بین می رود. برای باز کردن فایل از تابع fopen() استفاده می گردد. این تابع که در فایل stdio.h قرار دارد به صورت زیر به کار می رود:
FILE* fopen(char *filename,*mode)
در این الگوfilename به رشته أی اشاره می کند که حاوی نام فایل و محل تشکیل یا وجود آن است. نام فایل داده از قانون نام گذاری فایل برنامه تبعیت می کند و شامل دو قسمت نام و پسوند است. بهتر است پسوند فایل داده،dat انتخاب گردد. محل تشکیل یا وجود فایل می تواند شامل نام درایو و یا مسیر موجود روی دیسک باشد.mode مشخص می کند که فایل چگونه باید باز شود( ورودی و یا خروجی و یا