উইন্ডোজ, ম্যাক ওএস এক্স এবং লিনাক্স কোন ভাষায় লিখিত আছে?


273

আমি কেবল ভাবছিলাম যে কে জানে উইন্ডোজ, ম্যাক ওএস এক্স এবং লিনাক্স কোন্ প্রোগ্রামিং ভাষাগুলি তৈরি করে এবং ওএসের প্রতিটি অংশের জন্য কোন ভাষা ব্যবহার করা হয় (যেমন: কার্নেল, প্লাগ-ইন আর্কিটেকচার, জিইউআই উপাদানগুলি ইত্যাদি)।

আমি ধরে নিলাম যে প্রতিটিটির জন্য একাধিক ভাষা রয়েছে এবং স্পষ্টতই আমি জানি লিনাক্স কার্নেলটি সিটিতে লেখা আছে

আমি এখানে পুরোপুরি অনুমান করছি যে ম্যাক ওএস এক্সে অনেকগুলি উদ্দেশ্যমূলক-সি কোড রয়েছে কারণ এটি অ্যাপল এর ভাষা নেক্সটি থেকে প্রাপ্ত।

উইন্ডোজ, আমি শুনেছি সি, সি ++ এবং ইন্টেল অ্যাসেম্বলি রয়েছে। লিনাক্স বা ম্যাক ওএসে কি কোনও সমাবেশ কোড থাকে?

এছাড়াও, ওএসের স্ক্রিপ্টিংয়ের জন্য ওএস বিকাশকারীরা রুবি, পাইথন ইত্যাদির মতো স্ক্রিপ্টিং ভাষা ব্যবহার করেন? ওএস এর কোন অংশগুলি প্রতিটি ভাষায় লেখা হবে?



এই এসও এক্সচেঞ্জটি আপনার প্রশ্নের একেবারে শেষ অংশের উত্তর দিতে সহায়তা করতে পারে।
বিক্রমজিৎ সিং

উত্তর:


269
  • উইন্ডোজ: সি ++, কার্নেল সি তে রয়েছে
  • ম্যাক: অবজেক্টিভ সি, কার্নেল সি-তে রয়েছে (আইও পিএনপি সাবসিস্টেম এমবেডেড সি ++)
  • লিনাক্স: বেশিরভাগ জিনিস সি-তে থাকে, অনেকগুলি ইউজারল্যান্ড অ্যাপ্লিকেশন পাইথনে থাকে, কেডিএ সমস্ত সি ++ থাকে +

সমস্ত কার্নেল কিছু অ্যাসেম্বলি কোডও ব্যবহার করবে।


13
আমার যোগ করা উচিত যে জিনোম পাশাপাশি সিও।
নাথান ওসমান

17
জিনোম সি # (মনো) দিয়েও ফ্লার্ট করেছিলেন।
হিস্টো ইলিভ

6
লিনাক্স কার্নেলের এসেম্বলারের পাশাপাশি আমি বিশ্বাস করি।
GL2014

9
সত্য, প্রতিটি কার্নেলটিতে কমপক্ষে কিছু সংখ্যক এসেমব্লার থাকবে
আনা বেটস

4
জিনিসগুলি স্ফটিক পরিষ্কার করার জন্য - অ্যাপল কার্নেলের আইওকিট সাবসিস্টেম (ড্রাইভারদের জন্য) ব্যবহার করে (একটি সীমাবদ্ধ সাবসেট) সি ++। এবং সমস্ত 3, যেমন উইন্ডোজ, ম্যাক এবং লিনাক্সের উপর, অত্যন্ত গুরুত্বপূর্ণ ব্যবহারকারল্যান্ড অ্যাপ্লিকেশনগুলির অনেকগুলি সি বা সি ++ এ লেখা হয়। অভিযোগ, উদাহরণস্বরূপ, এমএস .NET- এ অফিস পুনরায় করার চেষ্টা করেছিলেন তবে সি ++ এ ফিরে যান। এবং লিনাক্স কার্নেলটি অনেকগুলি সি ++ ব্যবহার করে - যেমন আইডিয়োমস তবে সি-তে একসাথে হাতে রান্না করা, যেমন ড্রাইভার কোডে উত্তরাধিকার।
এরিক আলাপ

94

লিনাক্স: সি সমাবেশের কিছু অংশ।

[...] এটি বেশিরভাগ সিতে থাকে, তবে বেশিরভাগ লোকেরা আমি সি লিখলে তা কল করত না এটি 386 আমার সন্ধানের প্রতিটি কল্পনা বৈশিষ্ট্য ব্যবহার করে, কারণ এটি 386 সম্পর্কে আমাকে শেখানোর একটি প্রকল্পও ছিল As যেমনটি ইতিমধ্যে উল্লিখিত রয়েছে , এটি উভয় পেজিং (ডিস্কে নেই) এবং বিভাগকরণের জন্য একটি এমএমইউ ব্যবহার করে। এটি সেগমেন্টেশন যা এটিকে সত্যই 386 নির্ভর করে তোলে (প্রতিটি টাস্কের কোড এবং ডেটার জন্য একটি 64 এমবি সেগমেন্ট থাকে - 4 জিবিতে সর্বাধিক tasks৪ টি টাস্ক। যে কেউ যার 64৪ এমবি / টাস্কের বেশি প্রয়োজন - শক্ত কুকিজ)। [...] আমার কিছু "সি"-ফাইলস (বিশেষত মিমি। সি) প্রায় সি হিসাবে সমবেত হয় [...] মিনিক্সের বিপরীতে, আমিও লাইক বিঘ্ন ঘটায়, তাই বাধা গোপন করার চেষ্টা না করে পরিচালনা করা হয় তাদের পিছনে কারণ। (উৎস)

ম্যাক ওএস এক্স: বেশিরভাগ উদ্দেশ্য-সিতে কোকো। কার্নেল সি লেখা, সমাবেশের কিছু অংশ।

কার্নেল লেয়ারে ম্যাক ওএস এক্স বেশিরভাগ ক্ষেত্রে বিএসডি নামে একটি পুরানো, ফ্রি অপারেটিং সিস্টেম (বিশেষত এটি ডারউইন, বিএসডি, মাচ এবং অন্যান্য কয়েকটি জিনিসের সংকর একটি ধরণের) ... প্রায় সম্পূর্ণ সি, কিছুটা সহ জমায়েত নিক্ষিপ্ত। (উত্স)

বেশিরভাগ কোকো অবজেক্টিভ-সি-তে প্রয়োগ করা হয়েছে, একটি অবজেক্ট-ভিত্তিক ভাষা যা অবিশ্বাস্য গতিতে চলার জন্য সংকলিত, তবুও সত্যিকারের গতিশীল রানটাইমকে এটিকে অনন্যভাবে নমনীয় করে তোলে। যেহেতু অবজেক্টিভ-সি সি এর সুপারস্টেট, তাই আপনার কোকো অ্যাপ্লিকেশনগুলিতে সি এবং এমনকি সি ++ মেশানো সহজ। (উৎস)

উইন্ডোজ: সি, সি ++, সি #। এসেম্বলারের কিছু অংশ।

আমরা উইন্ডোজের জন্য প্রায় পুরো সি, সি ++ এবং সি # ব্যবহার করি। কোডের কয়েকটি ক্ষেত্র হ্যান্ড টিউন / হাতের লিখিত সমাবেশ। (উৎস)

ইউনিক্স: সি সমাবেশের কিছু অংশ। (উৎস)


3
ডারউইনের ড্রাইভার সাবসিস্টেম (আইওকিট) সিওএস-এর সাবসেটে লেখা একটি সিওএম-জাতীয় অবজেক্ট মডেলের উপর খুব বেশি নির্ভর করে।
Hristo Iliev

@ টেলর হ্যাঁ বিবিতে কার্নেলের মতো নিম্ন স্তরের জিনিসটি কীভাবে লিখতে পারবেন যখন এতে বিট শিফটিংয়ের জন্য অপারেটর নেই? এটিই বলেছিলেন রেমন্ড চেন । উইন্ডোজ অ্যাপ্লিকেশনগুলি আলাদা
ফুক্লভিভি

15

ম্যাক ওএস এক্স কয়েকটি লাইব্রেরির অভ্যন্তরে প্রচুর পরিমাণে সি ++ ব্যবহার করে তবে এটিআইবি ভাঙার ভয় পাওয়ায় এটি প্রকাশিত হয়নি।


13
কি? প্রোগ্রামগুলির অর্ধেকগুলি যাইহোক যাইহোক প্রতিটি নতুন রিলিজের কাজ বন্ধ করে দেয়।
কিনোকিজুফ

7
আপনি কি দয়া করে "ম্যাক ওএস এক্স কিছু লাইব্রেরির ভিতরে প্রচুর পরিমাণে সি ++ ব্যবহার করেন " বিবৃতিটির জন্য কিছু প্রকারের প্রশংসা প্রদান করতে পারেন ? আমি কেবল এটির জন্য আপনার শব্দটি গ্রহণ করা কঠিন মনে করি! আমি সংশয়ী হওয়ার জন্য দুঃখিত।
আনিস রামস্বামী

5
@ আনিশ রামস্বামী অনুসন্ধান করুন IOKit, WebKitএবং GLKit। এক ঝলক আছে dyld। এগুলি খুব সি ++ ভারী।
ম্যাক্সথন চ্যান

1
আমি নিশ্চিত যে ওএসএক্স কর্নাল সি এবং সি ++ নয়, বাস্তবে যে সমস্ত অপারেটিং সিস্টেমগুলি আমি এসেছি সেগুলির একটি সি কার্নাল রয়েছে
twigg

10

আমি বুঝতে পারি যে এটি একটি পুরানো পোস্ট তবে উইন্ডোজ অবশ্যই সি ++ তে লেখা নেই। এতে প্রচুর সি ++ রয়েছে তবে অপারেটিং সিস্টেম হিসাবে আমরা প্রযুক্তিগত যে বিষয়টি সংজ্ঞায়িত করি তা সি ++ এ নেই। উইন্ডোজ এপিআই, উইন্ডোজ কার্নেল (এটি উভয়ই একটি অপারেটিং সিস্টেম যা মূলত থাকে) সি তে লেখা হয় বছর কয়েক আগে আমাকে উইন্ডোজ 2000 এবং উইন্ডোজ এক্সপি উভয়ের জন্য কিছু ফাঁস কোড দেওয়া হয়েছিল। কার্নেল বা এপিআই সংকলনের জন্য কোডটি যথেষ্ট পর্যাপ্ত ছিল না তবে আমরা পৃথক প্রোগ্রাম এবং পরিষেবা সংকলন করতে সক্ষম হয়েছি। উদাহরণস্বরূপ, আমরা নোটপ্যাড.এক্সই, এমস্পাইন্ট.এক্স.এই, এবং স্পুলসভি.এক্স.এই সার্ভিস (প্রিন্ট স্পুলার) সফলভাবে সংকলন করতে সক্ষম হয়েছি। সি তে লিখিত সমস্ত আমি আবার তাকাতে পারি নি তবে আমি নিশ্চিত যে লিক কোডটি এখনও টরেন্ট ফাইল হিসাবে এখনও বেঁচে থাকতে পারে।


9

উইন্ডোজ: বেশিরভাগ সি এবং সি ++, কিছু সি #


1
.NET উইন্ডোজ দিয়ে প্রেরণ করা হয়। প্রচুর .NET সি # তে রয়েছে।
জোনাথন পার্কার 3

গুজব রয়েছে যে উইন্ডোজগুলির ভবিষ্যতের সংস্করণগুলি (উইন্ডোজ 8 সম্ভবত) কিছু সি ++ কোড সি # /। নেট দ্বারা প্রতিস্থাপিত হবে।
জোনাথন পার্কার

তারা ইতিমধ্যে সি # তে সম্পূর্ণ একটি ওয়ার্কিং ওএস পরিচালনা করেছে (প্রায়)। একে সিঙ্গুলারিটি বলে। research.microsoft.com/en-us/projects/singularity
Randolpho

লুক এম: হ্যাঁ, উইন্ডোজে সি # কোড রয়েছে। আশেপাশে ঝাঁকুনি এবং আপনি এটি খুঁজে পাবেন। । নেট ওএসের সাথে প্রেরণ করা হয় তবে এর অর্থ এই নয় যে ওএস। নেট ব্যবহার করে লেখা হয়। এবং উইন্ডোজ সিঙ্গুলারিটি নয়। একটি গবেষণা প্রোটোটাইপ এবং একটি বাস্তব অপারেটিং সিস্টেমের মধ্যে বিশাল পার্থক্য রয়েছে।
ইনস্টল করুনমনিকা ল্যারি অস্টারম্যান

2
@ 1800 তথ্য - সি # মেশিন কোডে কম্পাইল করে সেখান থেকে জেআইটি মেশিন কোডে কম্পাইল করে যখন চলে? আমার মনে হয় আপনি বিভ্রান্ত সেখানে বাইটকোড রয়েছে এবং সেখানে একটি ভার্চুয়াল মেশিন রয়েছে: en.wikedia.org/wiki/Common_Interedia_Language
ব্রুক উলফ

9
  • উইন্ডোজ: সি ++
  • লিনাক্স: সি
  • ম্যাক: উদ্দেশ্য সি
  • অ্যান্ড্রয়েড: জাভা, সি, সি ++
  • সোলারিস: সি, সি ++
  • আইওএস 7: উদ্দেশ্য-সি, সুইফ্ট, সি, সি ++

জাভায় অ্যান্ড্রয়েডের লেখা আছে? সত্যি?
নির্বানস্বাপ

3
অ্যান্ড্রয়েড: জাভা (ইউআই)। সূত্র: en.wikedia.org/wiki/Android_(operating_system)
নীতেশ বোরাড

3
আলোচনাটি অপারেটিং সিস্টেম সম্পর্কে। সিস্টেম প্রোগ্রামিং ভাষা ছাড়া একটি অপারেটিং সিস্টেম তৈরি করা যায় না। জাভা দিয়ে সিস্টেম প্রোগ্রামিং করা সম্ভব নয়।
জাম রাইজার

এ্যা। জাভাতে একটি সিস্টেমের কিছু অংশ তৈরি করা যেতে পারে এবং জাভাসের মতো কিছু উদাহরণ ইতিমধ্যে উপস্থিত রয়েছে, যদিও এটি সফল ছিল না। আমি বলছি না যে আপনি 100% জাভা দিয়ে ওএস তৈরি করতে পারেন।
শুকান্ত পাল

2
@ জামরাইজার অ্যান্ড্রয়েড লিনাক্স কার্নেল ব্যবহার করে যা সিতে রয়েছে সিস্টেমটি প্রায় গভীর স্তর পর্যন্ত জাভাতে লেখা হয় is ডালভিক ভিএম, যা গুগলের লিখিত জাভা ভার্চুয়াল মেশিন, সি বা সি ++ এ রয়েছে।
পিটারহ - মনিকা

7

কি দারুন!!! 9 বছরের প্রশ্ন কিন্তু আমি উইন্ডোজ কমান্ড লাইন ইতিহাসের অভ্যন্তরীণ নিবন্ধের একটি সিরিজটি পেরিয়ে এসেছি এবং আমি মনে করি এটির কিছু অংশ প্রশ্নের উইন্ডোজ দিক হতে পারে:

যারা এই জাতীয় বিষয়ে যত্নশীল তাদের জন্য: অনেকে উইন্ডোজ সি বা সি ++ তে রচিত কিনা তা জিজ্ঞাসা করেছেন। উত্তরটি হ'ল - এনটি-র অবজেক্ট-ভিত্তিক নকশা সত্ত্বেও - বেশিরভাগ ওএসের মতো, উইন্ডোজ প্রায় সম্পূর্ণ 'সি' তে লেখা হয় written কেন? সি ++ মেমরির পদক্ষেপ এবং কোড এক্সিকিউশন ওভারহেডের ক্ষেত্রে একটি মূল্য উপস্থাপন করে। আজও, সি ++ তে লিখিত কোডের লুকানো দামগুলি আশ্চর্যজনক হতে পারে, তবে 1990 এর দশকের শেষের দিকে, যখন মেমরির দাম cost $ 60 / এমবি (হ্যাঁ ... M 60 প্রতি মেগাবাইটে !), ভেটেবল ইত্যাদির লুকানো মেমরির মূল্য উল্লেখযোগ্য ছিল। তদ্ব্যতীত, ভার্চুয়াল-পদ্ধতি কল ইন্ডিরিশন এবং অবজেক্ট-ডেরেফারেন্সিংয়ের ব্যয়ের ফলে সি ++ কোডের জন্য খুব গুরুত্বপূর্ণ পারফরম্যান্স এবং স্কেল জরিমানার ফলাফল হতে পারে। যদিও এখনও কাউকে সতর্ক হওয়া দরকার, আধুনিক কম্পিউটারে আধুনিক সি ++ এর কার্যকারিতা ওভারহেড উদ্বেগের চেয়ে অনেক কম, এবং এটির সুরক্ষা, পাঠযোগ্যতা এবং রক্ষণাবেক্ষণের সুবিধাগুলি বিবেচনা করে প্রায়শই একটি গ্রহণযোগ্য বাণিজ্য হতে পারে ... এ কারণেই আমরা কনসোলের কোডটি অবিচ্ছিন্নভাবে আধুনিক সি ++ এ আপগ্রেড করা হচ্ছে।


6

আপনি ঠিক বলেছেন ম্যাকোসএক্সের মূলটিতে অবজেক্টিভ-সি রয়েছে।

উইন্ডোজ সি ++

লিনাক্স সি

স্ক্রিপ্টিং ভাষা সম্পর্কে, না, তারা বেশ উচ্চ স্তরের।


7
সি ইন উইন্ডোজ: কার্নেল, ড্রাইভার, এপিআই। আমার ধারণা, কেবলমাত্র সি ++ তে থাকা সিস্টেম অ্যাপ্লিকেশন এবং সরঞ্জামগুলি। সুতরাং কেবল সি বলা আরও স্পষ্ট
আবাটিশচেভ

5

আমি শুনেছি বা শুনেছি যে ম্যাক ওএস এক্স বেশিরভাগ অবজেক্টিভ সি-তে নিম্ন স্তরের কিছু অংশ যেমন কার্নেল, এবং হার্ডওয়ার ডিভাইস ড্রাইভারগুলিতে সি-তে লেখা রয়েছে I আমি বিশ্বাস করি যে অ্যাপল তার নিজের কুকুরের খাবার "খাওয়া (গুলি) করে" ", এর অর্থ তারা নিজের Xcode বিকাশকারী সরঞ্জাম ব্যবহার করে ম্যাক ওএস এক্স লিখেন । জিসিসি (গনুহ কম্পাইলার সংগ্রহ) কম্পাইলার-linker UNIX কমান্ড লাইন সরঞ্জাম যা Xcode অধিকাংশ জন্য ব্যবহার করা হয় তার সংকলন এবং / অথবা এক্সেকিউটেবল লিঙ্কিং। অন্যান্য সম্ভাব্য ভাষার মধ্যে আমি জানি যে জিসিসি সি, ওজেক্টিভ-সি, সি ++ এবং উদ্দেশ্য-সি ++ ভাষা থেকে উত্স কোডটি সংকলন করে।


4

লিনাক্স কার্নেলটি বেশিরভাগ সিতে লেখা হয় (এবং কিছুটা সমাবেশের ভাষাও আমি কল্পনা করতাম), তবে কয়েকটি গুরুত্বপূর্ণ ইউজারস্পেস ইউটিলিটিস (প্রোগ্রামগুলি) বাশ স্ক্রিপ্টিং ভাষায় লেখা শেল স্ক্রিপ্ট। এর বাইরে, "লিনাক্স" সংজ্ঞায়িত করা একরকম কঠিন, যেহেতু আপনি মূলত আপনি চান বিট এবং টুকরা বাছাই করে এবং একসাথে রেখে একটি লিনাক্স সিস্টেম তৈরি করেন এবং একটি পৃথক লিনাক্স ব্যবহারকারী কী চান তার উপর নির্ভর করে আপনি যে কোনও ভাষা জড়িত পেতে পারেন। (পল যেমন বলেছিলেন, পাইথন এবং সি ++ গুরুত্বপূর্ণ ভূমিকা পালন করে)


3

ম্যাক ওএস এক্স-এর মূল সম্পর্কে একটি সংযোজন হিসাবে, স্নো লেপার্ডের আগে ফাইন্ডারকে উদ্দেশ্যমূলক-সিতে লেখা হয়নি। স্নো চিতাবাঘে এটি কোকোয় লেখা হয়েছিল, উদ্দেশ্য-সি



1

উইন্ডোজ অবশ্যই সি # (!) তে লিখিত হয়নি

উইন্ডোজের সোর্স কোডটি কেবল দেখুন এবং আপনি দেখতে পাবেন ...


36
"উইন্ডোজের সোর্স কোডটি কেবলমাত্র দেখুন" যদি আপনি সেই কয়েকটিতে অনুমোদিত / সক্ষম হয়ে থাকেন তবে ...
জোচিম সউর

1
টরেন্টস-এ উইন্ডোজ সোর্স কোডের অনেকগুলি অংশ রয়েছে, এর কয়েকটি পর্যালোচনাও রয়েছে
আবাতিশ শেভ

4
উইন্ডোজ কোডের কিছু অংশ ফাঁস হয়ে গেছে, বহু বছর আগে। উদাহরণস্বরূপ দেখুন এই পুরাতন থ্রেড: < kuro5hin.org/story/2004/2/15/71552/7795 >। :)
বিনোদন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.