PDA

View Full Version : وظیفه تشخیص کد ها (اسکی - یونی کد و ...) به عهده سیستم عامل میباشد یا سی پی یو ؟



tajerman
شنبه 18 آذر 1391, 19:20 عصر
با سلام
وظیفه تشخیص کد ها (اسکی - یونی کد و ...) به عهده سیستم عامل میباشد یا سی پی یو ؟
کامپیوتر از کجا میفهمد که الان این عدد باینری معادل یک عدد میباشد یا یک کاراکتر در یونیکد یا در اسکی ؟
مثلا کاراکتر N در کدگذاری اسکی معادل 1001110 میباشد در صورتی که این عدد باینری معادل عدد ده دهی 78 نیز میباشد .
حالا کامپیوتر (سی پی یو یا سیستم عامل) از کجا تشخیص میدهد که این کد اسکی است یا عدد باینری ساده ؟ (N یا 78)

shahmohammadi
یک شنبه 19 آذر 1391, 22:10 عصر
سلام.
ساختار فايل ها اينو مشخص مي كنند. مثلا در يك فايل تصويري مكان هاي خاصي هست كه آدرس رنگ هاي تصوير، تعداد پيكسل هاي طول، تعداد پيكسل‌هاي عرض و... توش هست. اين اطلاعات در ابتداي فايل (هدر) قرار دارند و نه الزاما سيستم عامل بلكه يك برنامه كاربردي كه اين فايل رو مي خونه مي فهمه كه بايت هايي كه در فلان آدرس هستندرنگ هستند و بايت هايي كه در فلان آدرسند كاراكترند و بايت هايي كه در فلان آدرسند مثلا كد اجرايي هسنتد.

به همين صورت صدا و هر چيز ديگري كه كدبندي شده در فايل هاي مختلف از روي ساختار فايل تشخيص داده مي شوند و بر روي دستگاه خاص خود (كارت صوتي يا پخش تصوير و يا به عنوان كاراكتر) مورد استفاده قرار مي گيرند.

tajerman
دوشنبه 20 آذر 1391, 07:32 صبح
سلام.
ساختار فايل ها اينو مشخص مي كنند. مثلا در يك فايل تصويري مكان هاي خاصي هست كه آدرس رنگ هاي تصوير، تعداد پيكسل هاي طول، تعداد پيكسل‌هاي عرض و... توش هست. اين اطلاعات در ابتداي فايل (هدر) قرار دارند و نه الزاما سيستم عامل بلكه يك برنامه كاربردي كه اين فايل رو مي خونه مي فهمه كه بايت هايي كه در فلان آدرس هستندرنگ هستند و بايت هايي كه در فلان آدرسند كاراكترند و بايت هايي كه در فلان آدرسند مثلا كد اجرايي هسنتد.

به همين صورت صدا و هر چيز ديگري كه كدبندي شده در فايل هاي مختلف از روي ساختار فايل تشخيص داده مي شوند و بر روي دستگاه خاص خود (كارت صوتي يا پخش تصوير و يا به عنوان كاراكتر) مورد استفاده قرار مي گيرند.
ممنونم از جوابتون .
منظورتون از بخش های آدرس همون سگمنت ها در زبان اسمبلی میباشند ؟

shahmohammadi
دوشنبه 20 آذر 1391, 10:20 صبح
منظورتون از بخش های آدرس همون سگمنت ها در زبان اسمبلی میباشند ؟ نه.
به اين تصوير كه ساختار فايل bmp هست نگاه كنيد:

http://www.ue.eti.pg.gda.pl/fpgalab/zadania.spartan3/zad_vga_tab_struktura.gif

همون طور كه مي بيبنيد، 2بايت اول كد اسكي هستند و به صورت "BM" بايد باشند. 4بايت بعدي اندازه فايل رو نوشتند و عدد صحيح هستند. بقيه‌ي جاهاي فايل هم هر كدوم يه معني خاصي دارند و چيز هاي خاصي توشون ذخيره شده. برنامه‌اي كه مي‌آد اين فايل رو مي خونه مي‌دونه كه دو بايت اول رو بايد به صورت كاراكتر بررسي كنه. 4بايت بعدي رو به صورت عدد صحيح و الي آخر.

اون بحث سگمنت‌ها هم كه توي اسمبلي خونديد فقط مال فايل هاي اجرايي داس هست. توي اونجا هم در header هايي كه در آغاز فايل بود آدرس اين سگمنت ها نوشته مي شد. و بعد توي هر سگمنت اطلاعات خاصي ذخيره مي‌شد. در سگمنت كد كد ذخيره مي‌شد و در سگمنت داده كدهاي اسكي يا متغيرها.
ساختمان فایل های اجرایی داس (http://programmingbase.blogfa.com/post-4.aspx)
http://barnamenevis.org/www.ue.eti.pg.gda.pl/fpgalab/zadania.spartan3/zad_vga_tab_struktura.gif

tajerman
دوشنبه 20 آذر 1391, 11:16 صبح
نه.
به اين تصوير كه ساختار فايل bmp هست نگاه كنيد:

http://www.ue.eti.pg.gda.pl/fpgalab/zadania.spartan3/zad_vga_tab_struktura.gif

همون طور كه مي بيبنيد، 2بايت اول كد اسكي هستند و به صورت "BM" بايد باشند. 4بايت بعدي اندازه فايل رو نوشتند و عدد صحيح هستند. بقيه‌ي جاهاي فايل هم هر كدوم يه معني خاصي دارند و چيز هاي خاصي توشون ذخيره شده. برنامه‌اي كه مي‌آد اين فايل رو مي خونه مي‌دونه كه دو بايت اول رو بايد به صورت كاراكتر بررسي كنه. 4بايت بعدي رو به صورت عدد صحيح و الي آخر.

اون بحث سگمنت‌ها هم كه توي اسمبلي خونديد فقط مال فايل هاي اجرايي داس هست. توي اونجا هم در header هايي كه در آغاز فايل بود آدرس اين سگمنت ها نوشته مي شد. و بعد توي هر سگمنت اطلاعات خاصي ذخيره مي‌شد. در سگمنت كد كد ذخيره مي‌شد و در سگمنت داده كدهاي اسكي يا متغيرها.
ساختمان فایل های اجرایی داس (http://programmingbase.blogfa.com/post-4.aspx)
http://barnamenevis.org/www.ue.eti.pg.gda.pl/fpgalab/zadania.spartan3/zad_vga_tab_struktura.gif
این مطلبی که گفتین در مورد فایل تصویری بود . آیا اگه فایل ما تصویری نباشه چطوری میشه ؟
یعنی فرضا فایل ما مربوط به حسابداری باشه که توی اون اعداد و کاراکتر های محاسباتی و تو ضیحات موجود باشن ؟

tajerman
چهارشنبه 29 آذر 1391, 09:07 صبح
نه.
به اين تصوير كه ساختار فايل bmp هست نگاه كنيد:

http://www.ue.eti.pg.gda.pl/fpgalab/zadania.spartan3/zad_vga_tab_struktura.gif

همون طور كه مي بيبنيد، 2بايت اول كد اسكي هستند و به صورت "BM" بايد باشند. 4بايت بعدي اندازه فايل رو نوشتند و عدد صحيح هستند. بقيه‌ي جاهاي فايل هم هر كدوم يه معني خاصي دارند و چيز هاي خاصي توشون ذخيره شده. برنامه‌اي كه مي‌آد اين فايل رو مي خونه مي‌دونه كه دو بايت اول رو بايد به صورت كاراكتر بررسي كنه. 4بايت بعدي رو به صورت عدد صحيح و الي آخر.

اون بحث سگمنت‌ها هم كه توي اسمبلي خونديد فقط مال فايل هاي اجرايي داس هست. توي اونجا هم در header هايي كه در آغاز فايل بود آدرس اين سگمنت ها نوشته مي شد. و بعد توي هر سگمنت اطلاعات خاصي ذخيره مي‌شد. در سگمنت كد كد ذخيره مي‌شد و در سگمنت داده كدهاي اسكي يا متغيرها.
ساختمان فایل های اجرایی داس (http://programmingbase.blogfa.com/post-4.aspx)
http://barnamenevis.org/www.ue.eti.pg.gda.pl/fpgalab/zadania.spartan3/zad_vga_tab_struktura.gif

این مطلبی که گفتین در مورد برنامه هایی که پایگاه داده دارن و ... میتونه درست باشه ولی من اگه یه برنامه ساده ای بنویسم که فقط یه جمله رو رو صفحه نمایش بده و هیچ چیز دیگه ای براش نوشته نشه مثل یه برنامه نمایش هلو وورد اونوقت فک کنم که دیگه اینطوری نمیتنه باشه که شما گفتین .