اگر مایل به این کار هستید نظرات خود را با ما در میان بگذارید.

اینم برنامه C
نام پورتال ها را زیاد شنیده ایم، اما شاید برای برخی از ما این سئوال پیش آمده باشد که واقعا یک پورتال چیست؟ چه ویژگیها و خصوصیاتی دارد؟ و چه تفاوتی با یک وب سایت دارد؟ ترجمه کلمه Portal به فارسی در فرهنگهای لغت `دریچه`، `درگاه` و `مدخل` ذکر شده اما کلمه پورتال در تکنولوژی اطلاعات معنی متفاوتی دارد. اگر بخواهیم ساده بگوییم، پورتال صفحه وب واسطی است که امکان دسترسی آسان را به هر چیزی که کاربر ، برای انجام وظیفه یا خواسته اش نیاز دارد – بدون توجه به اینکه محل فیزیکی آن کجاست، فراهم می کند. به بیان دیگر پورتال `درگاهی` است به دنیایی مجازی که کاربر می تواند از طریق امکانات فراهم شده در آن، تمامی نیازهای خود را براورده کند. نیازهایی مانند جستجو و یا خرید(مثلا یک کتاب)، دسترسی به حساب بانکی، افزایش و کاهش اعتبار یک حساب اعتباری و یا به روز رسانی اطلاعات سخت افزاری از محل کار، پورتال همه چیز را از طریق درگاهی واحد برای کاربر خود فراهم می سازد
ویژگیهای اصلی یک پورتال عبارت اند از :
تجمع اطلاعات
هدف دار بودن اطلاعات
دردسترس بودن اطلاعات
دریچه ورود منحصر به فرد
کنترل کننده IDE
رسانه های ذخیره سازی یکی از بخش های مهم در کامپیوتر محسوب می گردند. اهمیت موضوع فوق به نوع استفاده از کامپیوتر بستگی نداشته و همواره رسانه های ذخیره سازی اطلاعات ، دارای جایگاه خاص خود در کامپیوتر بوده و خواهند بود. در اغلب کامپیوترهای شخصی از یکی از دستگاه های ذخیره سازی اطلاعات زیر استفاده می گردد.( معمولا" در یک سیستم بیش از یک مورد استفاده گردد )

☺فلاپی درایو
☺هارد درایو
CD-ROM ☺درایو
معمولا" هر یک از دستگاه های فوق از طریق یک واسط ( اینترفیس ) با نام( IDE ) Integrated Drive Electronics به کامپیوتر متصل می گردند.اینترفیس IDE یک روش استاندارد برای اتصال ( ارتباط) یک دستگاه ذخیره سازی به کامپیوتر است .شکل زیر هارد را بمراه برد کنترلی مربوطه در کنار یکدیکر نشان می دهد
همان طور که می دانید برای یافتن مطلب مورد نظر خود در اینترنت 2 چیز اهمیت دارد. یکی گوگل! و دیگری آشنایی با نکات جستجو و مهارت کار با آن است. اما برای رسیدن به این مورد هم ، توصیه می کنم این مقاله را تا پایان دنبال کنید. مطمئنا از قبل با عملگرهای ابتدایی گوگل مثل (+)، (-)، (*)،(ل) و (OR)و... آشنایی دارید.
به عنوان مثال می دانید که اگر قبل از کلمه ای ، عملگر تیلدا یا مد (ل) بیاورید ، گوگل به دنبال آن کلمه و کلمات هم معنی با آن می گردد. همچنین عملگر ستاره (*) نماینده یک کلمه در یک عبارت است.

به عنوان نمونه ، عبارت "make * with wood" در برگیرنده " "make box with wood" و نیز "make table with wood" است. در ضمن شما می توانید از هر تعداد ستاره که هر یک نماینده یک کلمه خواهند بود ، استفاده کنید. اما گوگل از تعداد زیادی عملگر پیشرفته نیز پشتیبانی می کند که هر یک معانی خاصی دارند و جستجو را به سمتی جهت دهی می کنند و اما مهمترین این عملگرها به قرار زیراند.
عملگر : link صفحاتی را لیست می کند که به سایت ذکر شده بلافاصله بعد از این عملگر ، لینک داده اند. مثلا link:www.google.com سایتهایی را که به مقصد گوگل لینک دارند لیست می کند.
اگر بعد از عملگر : info نام یک سایت ذکر شود، اطلاعاتی در مورد آن سایت نمایش داده می شود. چنانچه مایلید معنی و مفهوم یک عبارت را بیابید ، گوگل با استفاده از عملگر : define معنی عبارت مورد نظر شما را از منابع مختلف آنلاین گردآوری می کند. توجه شود که معنی برای کل عبارت بعد از عملگر و به ترتیبی که تایپ شده اند جستجو می شود.
وقفهها جزء مهمی از معماری کامپیوتر هستندو نحوه عملکرد آنها از ماشینی به ماشین دیگر ممکن است متفاوت باشد. وقفه راهکاری را فراهم میسازد تا اجرای دستورالعملهای جاری پردازنده موقتاً متوقف شده و دستورات سرویس دهی دیگری اجراء گردد و سپس از آن کنترل دوباره به برنامه وقفه داده شده باز گردد
انواع وقفهها را میتوان به صورت زیر دسته بندی کرد:
●وقفههای برنامه یا program check که به دلیل اجرای بعضی دستورات رخ میدهند. مثلاً سرریز شدن محاسباتی تقسیم بر صفر, اجراء دستورالعمل غیر مجاز, رجوع به آدرس خرج از محدوده مجاز کاربر. به این وقفهها اغلب Trap یا تله گفته میشود
●وقفههای زمان سنج(Timer) این وقفه به سیستم عامل امکان میدهد بعضی اعمال را به صورت مرتب در یک پریود زمانی خاص انجام دهد (مثل تنظیم ساعت, چک کردن سخت افزار و..).
●وقفههای I/O این وقفهها به وسیله کنترل کنندههای دستگاه I/O تولید میشوند تا کامل شدن طبیعی یک عمل یا بروز خطا در انجام عمل را نشان دهند
●وقفههای نقص سخت افزار یا وقفههای Machine-check) مثل وقفهای که بر اثر خطای بیت توازن (parity) حافظه رخ میدهد یا وقفه نقص برق
●وقفه (Super Visor Call) که در واقع یک تقاضا از طرف برنامه کاربر جهت دریافت سرویس ویژهای از سیستم عالم است
●وقفه Restart که با فشار دادن دکمه Reset ایجاد میشود .
در یک تقسیم بندی کلی میتوان وقفههای را سه دسته کرد :
☺وقفههای داخلی (trap) که بر اثر اجرای دستورات خود برنامه به صورت داخلی در CPU رخ میهند
☺وقفههای خارجی که از دستگاههای خارجی مثل دستگاههای ورودی یاخروجی ,DMA,تایمرها , صفحه کلید و خطاهای سخت افزاری ناشی میشوند.
☺وقفههای نرم افزاری(یاهمان SVC) که بر اثر فراخوانی توابع سیستمی توسط برنامه رخ میدهند
☺وقفههای نرم افزاری(یاهمان SVC) که بر اثر فراخوانی توابع سیستمی توسط برنامه رخ میدهند
با اجرای مجدد برنامه , وقفههای داخلی به همان صورت قبلی دوباره رخ میدهند ولی وقفههای خارجی مستقل از دستورات برنامه و ناهمگام با برنامه میباشند
اگر چند منبع همزمان تقاضاهایشان را از طریق یک خط وقفه به CPU اعلام کنند , آنگاه CPU با روش همه پرسی یا سرکشی(polling) منبع وقفه دهنده را تشخیص خواهد داد.)
در تاریخچه کامپایلر سه دوره میتوان در نظر گرفت:
در این دوره ,زبانها به تدریج به وجود آمدند و ماشینها چندان متعارف نبودند . مسئله این بود که چگونه باید کدی را برای یک ماشین تولید کرد . با توجه به اینکه برنامه نویسی به زبان اسمبلی رواج داشت , این مسئله وخیمتر شد. استفاده از کامپایلر , برنامه نویسی خودکار نامیده شد . طرفداران زبانهای سطح بالا میترسیدند که کد تولید شده نسبت به زبان اسمبلی کارایی چندان نداشته باشد. اولین کامپایلر فرترن(شریدان 1959) به خوبی بهینه سازی شد
در دهههای 1960و1970 زبانهای برنامهسازی جدید به وجود آمدند و طراحان زبان معتقد بودند که طراحی سریع کامپایلر برای زبان جدید , مهمتر از وجود کامپایلری با کد کارآمد است .بدین ترتیب , در ساخت کامپایلر به پردازشگر جلویی تاکید شده است . در همین زمان , مطالعه زبانهای رسمی , تکنیکهای قدرتمندی را برای ساخت پردازشگر جلوی , بخصوص تولید تجزیه کننده به وجود آورد
از 1975 تاکنون :تولید کد و بهینه سازی کد
از 1975 تاکنون , تعداد زبانهای جدید و انواع ماشین مختلف کاهش یافت در نتیجه نیاز به کامپایلرهای سریع و ساده یا سریع و ناقص برای زبانها یا ماشینهای جدید , کاهش یافت . بزرگترین آشفتگی در طراحی زبان و ماشین خاتمه یافت و افراد خواستار کامپایلرهای قابل اعتماد , کارآمد و با واسط کاربر مناسب شدند . بدین ترتیب , توجه کیفی به کد بیشتر شد زیرا با تغیر اندکی که در ساختار ماشینها ایجاد میشود , طول عمر کدها افزایش مییابد.در همین دوره , مدلهایی در برنامه نویسی به وجود آمدند که برنامه نویسی تابعی , منطقی و توزیعی نمونههای از این مدلها هستند, خواستههای زمان اجرای این زبانها نسبت به زبانهای دستور, افزایش یافت
به طور کلی , کامپایلر برنامهای است که متن برنامهای را که به یک زبان برنامهسازی نوشته شده است ,به عنوان ورودی میپذیرد , و خروجی آن , متن برنامهای به یک زبان دیگر است , به طوری که معنای آن متن تغییر نمیکند. این فرآیند , در زبان طبیعی , ترجمه نام دارد. مترجمها جملات یک زبان طبیعی را به زبان طبیعی دیگر ترجمه میکنند. تقریبا تمام کامپایلرها ,برنامهای به یک زبان منبع را گرفته به برنامهای به زبان مقصد تبدیل میکنند . به عنوان مثال , زبان منبع میتواند c و زبان مقصد میتواند زبان ماشین برای کامپیوتر پنتیوم باشد. زبانی که خود کامپایلر با آن نوشته میشود, زبان پیاده ساز نام دارد
سیستمها دارای خصوصیاتی هستند که عمدتا به عنوان خواص سیستمها مورد قبول و پذیرش قریب به اتفاق صاحبنظران میباشد . این خصوصیات عبارتند از :
اجزا یک سیستم به هم وابستهاند و به هم مرتبط میباشند . هر یک از اجزا به نوعی بر اجزا دیگر تاثیر داشته و یا از آنها تاثیر میپذیرد.
سیستمها از اجزا کوچکتر تشکیل میشوند . هریک از اجزا یک یا چند کار انجام میدهد . این اجزا داخل یک سیستم ، خود میتوانند به اجزا کوچکتر تقسیم شوند و اجزا بعدی نیز به اجزا کوچکتر ، بنابراین سیستمها دارای یک سلسله مراتب از اجزا خود میباشند.
یک سیستم فقط با نگرش کل گرا قابل مطالعه است . یک سیستم چیزی بیش از مجموع اجزا خود بوده و مجموع شناخت تک تک اجزا تشکیل دهنده سیستم ، شناخت کلی از آن را به دست نمیدهد . به عبارت دیگر مطالعه اجزای یک سیستم نیز باید در قالب کل سیستم صورت گیرد.
هر سیستم در جستجوی یک یا چند هدف است . به عنوان مثال هدف از تشکیل یک موسسه انتفاعی کسب منافع است و یا هدف از برقراری سیستم حسابداری در یک موسسه ، تهیه صورتهای مالی و گزارشهای مالی برای تصمیم گیری آگاهانه استفاده کنندگان از آنها می باشد.
سیستمها در ابتدا اطلاعاتی را به عنوان داده میپذیرند و پس از پردازش در سیستم عامل آنها ، آنها را به ستاده تبدیل میکنند.
سیستمها مبدل هستند ، یعنی داده ها را پردازش در سیستم عامل نموده و به ستادهها تبدیل میکنند . به عنوان مثال ، سیستم تولید یک واحد تولیدی ، مواد اولیه را به محصول تبدیل میکند.
تمام سیستمها برای گردش عملیات هماهنگ و مناسب در داخل خود نیازمند جمع آوری نتایج ستادههای خود هستند تا بتوانند به طور مطلوب فعالیتهای خود را تنظیم کنند . به عبارت دیگر برخی از اطلاعات مربوط به نتایج حاصله از پردازش در سیستم عامل دادهها ( ستادهها ) دوباره به صورت دادههای جدید وارد سیستم شده و موجب اصلاح و بهبود سیستم میگردند.
این سیستمها از اوایل سالهای 1970 در نسل سوم کامپیوترها معمول شدند. سیستم اشتراک زمانی در واقع تعمیم سیستم چند برنامگی است.
در سیستمهای چند برنامگی کاربر ارتباطی با کامپیوتر نداشت و خطایابی برنامهها مشکل بود چرا که زمان برگشت نسبتاً طولانی اجازه آزمایش کردنهای متعدد را نمیداد. در سیستم اشتراک زمانی کاربر به کمک دو ترمینال (Terminal) که شامل کی برد برای ورودی و مانیتور برای خروجی است با کامپیوتر به صورت محاورهای (interactive) رابطه بر قرار میسازد .کاربر مستقیماً دستوراتی را وارد کرده و پاسخ سریع آن را روی مانیتور دریافت میکند.

در این سیستمها چندین کاربر به کمک ترمینالهایی که به کامپیوتر وصل است همزمان میتوانند از آن استفاده کنند . در سیستم اشتراک زمانی فقط یک پردازنده وجود دارد که توسط مکانیزمهای زمانبندی بین برنامههای مختلف کاربرها با سرعت زیاد (مثلاً در حد میلی ثانیه) سوئیچ میشودو بنابراین هر کاربر تصور میکند کل کامپیوتر در اختیار اوست .در اینجا تأکید بر روی میزان عملکرد کاربر است یعنی هدف فراهم کردن وسایل مناسب برای تولید ساده نرم افزار و راحتی کاربرد میباشد و نه بالا بردن میزان کاربرد منابع ماشین . کاربر میتواند در هر زمان دلخواه برنامه خود را آغاز یا متوقف سازد و یا برنامه را به صورت قدم به قدم اجراء و اشکال زدایی (debug) کند . سیستمهای دستهای برای اجرای برنامههای بزرگ که نیاز محاورهای کمی دارند مناسب است ولی سیستمهای اشتراک زمانی برای مواردی که زمان پاسخ کوتاه لازم است , استفاده میشوند.
در زمانی که کاربری در حال تایپ برنامهاش یا فکر کردن روی خطاهای برنامه اش میباشدCPU به برنامه کاربر دیگری اختصاص یافته تا آن را اجراء کند.
در نسل دوم , کامپیوترها (65-1955) از ترانزیستور ساخته شدند.
طریقه کار با این کامپیوترهای نسل دوم از طریق یک کنسول (Console) بود که تنها اپراتور مخصوص کامپیوتر با آن کار میکرد و کاربران به طور مستقیم با این کامپیوترها محاوره(interaction)نداشتند. کاربر ابتدا برنامه خود را به زبان فرترن یا اسمبلی بر روی کاغذ مینوشت سپس توسط دستگاه Card punch,برنامه را روی کارت های سوراخدار منتقل ساخت . بعد این دسته کارت تهیه شده که شامل برنامه, دادهها و کارتهای کنترل بود به صورت کار (Job) تحویل اپراتور داده میشد .

اپراتور بعد از اتمام کار قبلی , دسته کارت جدید را به کامپیوتر میداد تا برنامه را اجراء کند در انتها خروجی برنامه (که غالباً چاپی بود) را به کاربر تحویل میداد سیستم عامل در این کامپیوترهای اولیه ساده بود و وظیفه اصلی آن انتقال کنترل اتوماتیک از یک کار به کار دیگری بود . سیستم عامل همواره مقیم در حافظه بود و در هر لحظه فقط یک برنامه اجراء میشد.هنگامی که اپراتور مشغول گذاشتن نوارها یا برداشتن کاغذهای چاپ شده بود وقت زیادی از این کامپیوترهای گران قیمت به هدر میرفت.