۳۱
ویرایش
جز (ربات ردهٔ همسنگ (۲۶) +مرتب (۱۱ core): + رده:ادسخر دیکسترا) |
جز (متغییر -> متغیر) |
||
در [[علم رایانه]] '''نشانبر''' یا '''سمافور''' {{به انگلیسی|Semaphore}} به
سمافورها اولین بار بهوسیلهٔ دانشمند علوم رایانه [[هلند]]ی، [[ادسخر دیکسترا]] معرفی شدند.<ref>http://www.cs.utexas.edu/users/EWD/transcriptions/EWD01xx/EWD123.html E. W. Dijkstra, Cooperating sequential processes. Technological University, Eindhoven, The Netherlands, September 1965.</ref> و امروزه به طور گستردهای در [[سیستم عامل]]ها مورد استفاده قرار میگیرند.
== شیوهٔ عملکرد سمافور ==
اصل اساسی این است که دو یا چند فرایند میتوانند به وسیلهٔ سیگنالهای ساده با یکدیگر همکاری کنند. هر فرایند را میتوان در نقطهٔ خاصی از اجرا متوقف نموده، و تا رسیدن سیگنال خاصی از اجرای آن جلوگیری نمود. برای ایجاد این اثر، از
هر فرایندی که بخواهد به منبع مشترک دسترسی داشته باشد، اعمال زیر را انجام خواهد داد:
== پیاده سازی ==
سمافور
در سیستم عاملهایی که از استاندارد [[پوزیکس]] پیروی میکنند، دو فراخوان سیستمی semget و semctl برای کار با سمافورها وجود دارد.<ref>W. Richard Stevens & Stephen A. Rago, Advanced Programming in the UNIX Environment: Second Edition, Addison Wesley Professional, 2005, ISBN 0-201-43307-9</ref>
|
ویرایش