Дохио боловсруулагч (Unix)

Чөлөөт нэвтэрхий толь — Википедиагаас
Jump to navigation Jump to search

Дохио нь Unix болон түүнтэй адил төстэй үйлдлийн системүүд дээр ашиглагддаг хязгаарлагдмал дотоод процессын холболт юм. Энэ нь процесс дахь болж буй үйл явдлуудыг тухайн адил түвшинд явагдаж буй процесс юм уу треидэд асинхрон мэдээлэл явуулах явдал юм . Сануулга сэрэмжлүүлэг маягийн дохио систем рүү явмагц, үйлдлийн систем нь тухайн процессийн энгийн явагдах үйл явцийг тасалдуулж өгдөг. Процесс нь нэн чухал биш л бол ямар ч тохиолдолд тасалдуулагдаж болдог. Хэрвээ процесс дохио боловсруулагчид өмнө нь бүртгэгдсэн байвал мөн тухайн дүрмээрээ яаж явагдах ёстой тэр хэвээрээ явагдана. Үгүй бол тухайн өөрийн анхны явагдах ёстой сигнал нь явагдана. Дохио боловсруулат дамжуулалт анх 1970 аад оноос хэрэглэгдэж сүүлийн үед POSIX стандартад ашиглагдах болсон байна.

Сигнал дамжуулах үйл явц[засварлах | edit source]

Системийн удирдлагийн терминал дээр зарим нэгэн коммандуудыг дамжуулснаар систем нь тухайн коммандад тохирсон дохионуудыг явуулж өгдөг:

  • Ctrl-C (зарим хуучны Unix дээр суурилсан үйлдлийн системүүд дээр ) энэ команд нь систем рүү INT сигналыг явуулна ; анхныхаа утгаараа бол энэ сигнал нь процессыг шууд зогсооно.
  • Ctrl-Z нь TSTP сигналыг дамжуулна уг сигнал нь процессыг саатуулах түр зогсоож хэсэг хугацааны дараагаас явуулах үйлдлийг дамжуулна
  • Ctrl-\ нь QUIT буюу гарах болих өөрөөр аборт хийх командыг дамжуулна
  • Ctrl-T (Зарим нэг Unix үйлдлийн системүүд дэмжихгүй) энэ комманд нь INFO сигналыг явуулна анхны утгаараа бол энэ комманд нь үйлдлийн систем дээр явагдаж буй тухайн үйлдлийн системийн товч мэдээллийг гаргаж харуулах юм

Дээр дурьдагдсан Unix үйлдлийн системүүд дээрх коммандуудыг stty Коммандаар сольж хэрэглэгч өөрт тохирох байдлаар өөрчилж болох юм . Сигналыг боловсруулах нь Сигналын боловсруулагч нь Unix үйлдлийн систем дээр Unix signal гэсэн коммандаар дуудагдан суулгагдаж болно. Хэрвээ анхны төлөвөөрөө сигналын боловсруулагч нь суулгагдаагүй бол , түүний өмнөх тухайн үйлдлийн системээсээ хамааран анхны сигналын боловсруулагч нь дуудагдан ажиллах юм. Эсрэгээрээ сигнал нь таслагдаж сигналын боловсруулагч автоматаар дуудагдана. Уг процессын үр дүнд хоёр өөр анхны төлөв үүрч болно үүнд: боловсруулагчийг үүсгэхгүйгээр сигналыг орхих аль эсвэл анхны төлөв дэх сигналыг ашиглах. Бидний энэ тохиолдолд авч үзэж буй үйлдлийн системд хоёр тасалдуулж огт болохгүй сигнал байдаг энэ нь SIGKILL мөн SIGSTOP юм.

Аюул хор уршиг[засварлах | edit source]

Сигнал боловсруулах үйл явц нь эцэстэй хоёр сигналууд нь хоорондоо хэн нь түрүүлж гаралтанд гарах гэж уралдах үүнээс болоод системд алдаа үүсч болох юм. Үүний учир нь сигналууд асинхрон хэлбэртэй, өөр нэг сигнал (бүр адил төрлийн байсан ч) тухайн процессын үйл явцад давхар хүргэгдэж болох юм . sigprocmask() гэх коммандаар очиж буй сигналуудыг хааж загсаах боломжтой юм. сигналууд нь системийн дуудалт хий явцад саад учруулах боломжтой бөгөөд энэ нь програмыг дахин ачааллахад хүргэдэг.