..


Sponsorētās saites

Vienlaicīga plānošanas POSIX C

Pants raksta Mark Frison
Lapa 1 no 5

Visām mūsdienu operētājsistēmas veikt gadiem, lai būt par paraugu vairāku procesu vadība, piešķirot izpildes laiks un atmiņas vietas, lai dažādas programmas, kas darbojas vienlaicīgi. Pēdējos gados, lielā mērā pateicoties izplatību tīkla komunikāciju, šī koncepcija ir jāattiecina arī uz atsevišķu programmatūras, sadalot to pašu procesu vairākas plūsmas kontrolētu šos pavedienus. Šī jaunā pieeja rada lielas izmaiņas struktūrā programmatūru, gan teorijā, gan praksē, kā tas vienmēr notiek, modularitāti un izteiksmīgumu tiek izmaksātas saistībā ar lielāku programmatūras sarežģītība.

Programmēšanas valodas jaunāko, no Java, visi piedāvā native API izveidot un pārvaldīt vītnes; sistēmām, pamatojoties uz virtuālās mašīnas, piemēram, Java un C # ir attīstītājs līmeņa abstrakcijas konsekventas par šo jautājumu un visas citas jāpaļaujas uz operētājsistēmas primitīvas, bieži rodas problēmas pārnesamība kodu. Šajā kontekstā bibliotēkas ir daļa no POSIX Threads (Pthreads), lai C izstrādātāji arī minimālo garantiju pārnesamību starp dažādām sistēmām.

Priekšzināšanas

Šis raksts ir paredzēts ikvienam, kas vēlas tuvoties tēmu vienlaicīgu programmu zema līmeņa valodām. Šajā prezentācijā tiek pieņemts, ka lasītājs jau ir ieguvusi pamatzināšanas C valoda nebūs traktēt kā pamatproduktus tādām tēmām kā, piemēram, atmiņas vadību un datu tipi.

POSIX pavedienu bibliotēkas

Kā viegli guessed no nosaukuma, POSIX pavedienu bibliotēkas ir daļa no kopuma POSIX (Portable Operating System Interface [Unix]). Atsaucoties uz definīciju "pthread [...] nosaka virkni saskarnes (funkcijas, header faili) ar vītnēm plānošanas procesu, lai vienas [...] var saturēt vairākas tēmas, kas visi ir izpildīt eksāmena programmu [...] Same daļa pasaules atmiņas (dati un kaudze segments), bet tās Katrs pavediens ir sava kaudze. " Šis izvilkums apraksta tieši to, kas ir iesaistīts vairāku programmēšana POSIX pavedieni:

  • Vairāku kontroles plūsmas (diegiem) vienā procesā;
  • sadali atmiņas, kas satur kodu (datu segments) un dinamiskā atmiņa (kaudze segments);
  • privāto kaudze.
Kas nav skaidri ir ierakstu statusa, jo īpaši tādas darbības kā pamata "instrukciju rādītāju un kaudze rādītājs, tāpēc mēs noteiktu, ka visiem ierakstiem ir izteikti privāti, lai katra pavediena un saglabāt / atjaunot, kad kontroles plūsma ir novirzīta no starp vītnēm (diegu maiņu).

Izmantojiet POSIX standarts nodrošina augsta līmeņa integrāciju visās POSIX-compliant sistēmām, kā, piemēram, GNU / Linux, Mac OSX, BSD un pat Windows (ar dažiem papildinājumiem). Visā šajā rakstā mēs uz izmantošanu GCC zem GNU / Linux, protams, visi apsvērumi, ko pārnes uz jebkuru citu POSIX-piemēram, vide.

Pirmais (nepareizs) piemērs

Pthread.h bibliotēka nodrošina visu, kas nepieciešams plānošanas multi-pavedieni, nevis veikt tikai sarakstu ar nosacījumu, primitīvas, mēs iesniegsim praktisku piemēru no laika uz laiku, diskutējot atšķirības.

Tāpēc uzskatu šādu problēmu: programma jāizlasa no bankas pārskaitījuma vairākus failus novākšanas un / vai noguldījumu jāizdara kontu, tad šie faili būs šādā formā:






 120







 -550







 896







 5541







 -85







 ...



Lai paātrinātu dažādas tēmas "kasieris" katrs darbojas uz viena faila un atjaunina vienlaikus klienta kontā, veicām visas darbības izejas statuss, kontā.

Šajā pašā kategorijā ...
E-Learning
HTML (Kurss) HTML (Kurss)
Iezīmēšanas valodu Web no € 29.
Linux (Kurss) Linux (Kurss)
Pilnīga rokasgrāmata, lai atvērtā koda sistēmas. Sākot no 49 €.
Photoshop (Kurss) Photoshop (Kurss)
Web grafikas un foto rediģēšanas ar populāro Adobe Photoshop. Sākot no 49 €.
Sponsorētās saites