লিনাক্সে কমপক্ষে সিস্টেম কল প্রক্রিয়াটি বেশিরভাগ আর্কিটেকচারের অধীনে কিছু রেজিস্টার বা পূর্বনির্ধারিত মেমরি ঠিকানার মধ্যে নির্দিষ্টভাবে বিন্যাসিত ডেটা (সাধারণত কিছু ধরণের সি স্ট্রাক্ট) রেখে কাজ করে।
সমস্যাটি আসলে সিপিইউকে কার্নেল স্পেসে স্যুইচ করতে বাধ্য করার ক্ষেত্রে আসে যাতে এটি কলটি পরিষেবাতে সুবিধাযুক্ত কার্নেল কোডটি চালাতে পারে। এটি কোনও ধরণের ত্রুটি (0 দ্বারা বিভাজন, একটি অপরিজ্ঞাত ওভারফ্লো বা একটি সেগফল্ট ইত্যাদি) জোর করে এই কর্নেলটিকে ফল্টটি পরিচালনা করার জন্য মৃত্যুদন্ড কার্যকর করতে বাধ্য করে।
সাধারণত কার্নেলটি ফলস্বরূপ প্রক্রিয়াটি হ্রাস করে অথবা কোনও ব্যবহারকারী সরবরাহকারী হ্যান্ডলার চালিয়ে ত্রুটিগুলি পরিচালনা করে। তবে সিস্কলের ক্ষেত্রে এটি পরিবর্তিত পূর্বনির্ধারিত রেজিস্টারগুলি এবং মেমরির অবস্থানগুলি পরীক্ষা করে এবং যদি তাদের একটি সিস্কেল অনুরোধ থাকে তবে এটি মেমোরি স্ট্রাক্টে ব্যবহারকারী প্রসেস দ্বারা সরবরাহ করা ডেটা ব্যবহার করে চালানো হবে। এটি সাধারণত কিছু বিশেষ কারুকার্যযুক্ত সমাবেশ দিয়ে করা যায় এবং ব্যবহারকারীর জন্য সিস্কেল ব্যবহার সহজ করতে সিস্টেমের সি লাইব্রেরিটিকে এটি একটি ফাংশন হিসাবে মোড়ানো হয়। নিম্ন স্তরের ইন্টারফেসের জন্য দয়া করে সিসকলগুলি কীভাবে কাজ করে এবং আপনি কীভাবে সি র্যাপার ছাড়া কল করতে পারেন সে সম্পর্কে কিছু তথ্যের জন্য http://man7.org/linux/man-pages/man2/syscall.2.html দেখুন ।
এটি একটি ওভারসিম্প্লিফিকেশন দেওয়া হয়, এটি সমস্ত আর্কিটেকচারে সত্য নয় (মিপসের একটি বিশেষ সিস্টাল নির্দেশ রয়েছে) এবং অগত্যা সমস্ত ওএসে একই কাজ না করে। তবুও, আপনার কোনও মন্তব্য বা প্রশ্ন থাকলে জিজ্ঞাসা করুন।
সংশোধিত: নোট, / dev / এ থাকা জিনিসগুলি সম্পর্কে আপনার মন্তব্য সম্পর্কিত কর্নেলের কাছে আসলে একটি উচ্চ স্তরের ইন্টারফেস, কোনও কম নয়। এই ডিভাইসগুলি আসলে নীচে (প্রায়) 4 টি স্কাইকল ব্যবহার করে। তাদের কাছে লেখা লিখিত সিস্টেমে সমান, একটি পড়ার সিস্কল পড়া, ওপেন / ক্লোজড সিস্কেলের সমতুল্য এবং একটি আইওএসটিএল চালানো একটি বিশেষ আইওসিটিএল সিস্কাল তৈরি করে যা নিজেই সিস্টেমের অনেকগুলি আইওসিটিএল একটিতে অ্যাক্সেস করার জন্য একটি ইন্টারফেস হয় কলগুলি (বিশেষ, সাধারণত তাদের জন্য পুরো সিস্কেল লেখার জন্য খুব সংকীর্ণ ব্যবহারের সাথে ডিভাইস নির্দিষ্ট কলগুলি)।