Sobes.tech
Junior — Middle

Чӣ гуна нақшакашии системаи оператсионӣ идора мекунад иҷрои функсияеро, ки дархости шабакавиро иҷро мекунад?

sobes.tech AI

Ҷавоб аз AI

Дар Го, планировщик (scheduler) идора мекунад горутинҳо, ки сабуквебҳои сабук мебошанд. Вақте ки функсия дархости шабакавиро иҷро мекунад, одатан дар операсияи воридот/баромад банд мешавад.

Планировщик дар Го истифодаи воридот/баромади бенобаста ва даъватҳои системаи асинхронро истифода мебарад. Вақте ки горутин интизори ҷавоб аз шабака аст, онро ба ҳолати интизорӣ мегузорад ва ба иҷрои дигар горутинҳо мегузарад.

Ин имкон медиҳад, ки истифодаи муассири захираҳои системавӣ сурат гирад ва нобуд кардани сими системаи оператсионӣ. Пас аз анҷоми дархости шабакавӣ, планировщик иҷрои горутинро такрор мекунад.

Масалан:

func fetch(url string) {
    resp, err := http.Get(url) // дархости шабакавӣ
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()
    // коркарди ҷавоб
}

func main() {
    go fetch("http://example.com")
    // дигар горутинҳо дар параллелӣ иҷро мешаванд
}

Бинобар ин, планировщик Го ба таври муассир горутинҳоро идора мекунад, онҳоро дар вақти операҳои банд, монанди дархости шабакавӣ, мегузарад.