Посикс

Посикс (енгл. POSIX, скраћеница од Portable Operating System Interface[1] (досл. „Преносиво програмско окружење оперативног система“)) је заједничко име за породицу повезаних стандарда које дефинише Институт инжињера електротехнике и електронике (IEEE). Циљ стандарда је да дефинише облик и понашање програмског окружења (АПИ-ја) оперативног система, љуске и команди компатибилних са оперативним системом јуникс, иако се стандард може односити на било који оперативни систем. У почетку, име је означавало само стандард IEEE Std 1003.1-1988, из 1988. године. Формално име породице стандарда Посикса је IEEE 1003 а међународно име за ове стандарде је ИСО/ИЕЦ 9945. Сви стандарди ове породице стандарда су дио пројекта који је започет око 1985. године.

Раније познат под именом IEEE-IX, Посикс (POSIX) је добио име по приједлогу Ричарда Столмана по захтјеву Института инжињера електротехнике и електронике да се нађе име које се лако памти.[2]

Преглед

Посиксове дефиниције корисничког и програмског окружења оперативног система су записане у 17 одвојених докумената.[3] Стандардизована командна линија и програмирање љуске је засновано на љусци Корн. Многи програми корисничког нивоа, сервиси и алатке, укључујући AWK, echo и ed су такође стандардизовани, скупа са сервисима програмског окружења попут интерфејса за улаз/излаз (И/О, енгл. Input/Output, I/O), понашањем терминала и мрежним интерфејсом. Посикс обухвата и стандардну библиотеку за нитно програмирање, које данас подржава већина популарних оперативних система.

Документација која описује Посикс стандарде је подијељена на три дијела:

  • Стандард за језгро (енгл. POSIX Kernel API), који обухвата проширења за Посикс.1 (енгл. POSIX.1) и описује:
    • Сервисе за рад у реалном времену
    • Проширења за рад у реалном времену
    • Интерфејс за безбједност
    • Интерфејс за коришћење нити
    • Приступ датотечним системима преко мреже
    • Комуникацију процеса преко мреже
  • Стандард за команде и алатке (енгл. POSIX Commands and Utilities), који описује проширења за преносивост, исправке и њихова проширења и алатке за контролу, сигурност и аутоматско одржавање система)
  • Тестирање усклађености са Посикс стандардом

Пакет за провјеру усклађености са Посикс стандардом долази уз сам стандард. Назива се PCTS (од енгл. POSIX Conformance Test Suite).[4]

Оперативни системи усклађени са Посиксом

У зависности од ступња усклађености одређеног оперативног система са Посикс стандардом, он може бити у потпуности или дјелимично усклађен. Производи који су у потпуности усклађени и као такви потврђени од стране ИЕЕЕ се могу пронаћи на сајту те организације.[5]

Види још

Референце

  1. ^ „POSIX”. Standards. IEEE.
  2. ^ „POSIX® 1003.1 FAQ Version 1.12”. 2. 2. 2006. Приступљено 16. јул 2006.
  3. ^ „Introduction”. GNU/Linux C Programming.
  4. ^ „POSIX”. NIST.
  5. ^ „POSIX Certification”. IEEE. Архивирано из оригинала на датум 10. 03. 2010. Приступљено 20. 12. 2008.

Спољашње везе

IEEE

Институт инжењера електротехнике и електронике (енгл. Institute of Electrical and Electronics Engineers) је непрофитно удружење посвећено технолошком развоју као и унапређивању технолошких иновација везаних за електронске уређаје. Број чланова прелази 400.000 у око 175 земаља. Седиште организације налази се у Њујорку, САД.

Mkdir

mkdir (енгл. make directory - направи директоријум) је наредба на оперативним системима Јуникс, ДОС, DR FlexOS, IBM ОS/2, Мајкрософт Виндоус и Ријакт ОС која се користи за прављење новог директоријума. Такође је доступна у EFI шелу и у скриптном језику PHP. На ДОС, ОS/2, Виндоус и Ријект ОС оперативним системима команда се често скраћује на md.

Наредба је аналогна наредби create_dir на OpenVOS оперативном систему. MetaComCo TRIPOS и AmigaDOS имају сличну MakeDir наредбу за креирање нових директоријума. Окружења за нумеричко рачунарство МАТЛАБ и GNU Octave садрже mkdir функцију са сличном функционалношћу.

PATH (променљива)

PATH је променљива окружења на униксоликим оперативним системима, ДОС-у, ОС/2 и Мајкрософт виндоус системима, чија је сврха набрајање низа директоријума у којима се налазе извршни програми. У основи, сваки извршни процес или корисничка сесија има своју поставку у променљивој PATH.

SpatiaLite

SpatiaLite је геопросторна екстензија SQLite -у, која омогућава функционалност векторске геобазе. Слична је PostGIS-у, Oracle Spatial, и SQL Серверу са геопросторним додацима, иако SQLite/SpatiaLite нису базирани на клијен-сервер архитектури: они усвајају једноставније своје архитектуре тј. цијели SQL механизам је директно уграђен унутар саме апликације: цијела база податакаје уобичајени фајл који може бити слободно копиран (такође и обрисаноr) и премјештен на рачунар без обзира на оперативни систем.

SpatiaLite проширује SQLite -ову могућност да подржава OGC-ову SFS спецификацију. Није неопходно користити SpatiaLite за управљање геопросторним подацима у SQLite-у, који има сопствену изведбу Р-стабло индекса и типова геометрије, али је за коришћење напредних геопросторних претрага и подршке за различите пројекције неопходно коришћење SpatiaLite-a.

Бц (програмски језик)

бц, за основни калкулатор (који се често назива клупа калкулатор), је "произвољне прецизности калкулатор" са синтаксом сличном Ц програмском језику. бц се обично користи као математичка скрипта језика или као интерактивна математичка љуска.

Типична интерактивна употреба пише командну бц на Јуникс командној линији и улази у математички израз, као што су (1 + 3) * 2, након чега 8 ће бити излаз. Док бц може да ради са произвољном прецизношћу, заправо касни на нулу цифара након децималног зареза-тако да израз 2/3 приноси 0. Ово може изненадити нове бц кориснике несвесне те чињенице. -lопција за бц одређује основну скалу (цифре након децималног зареза) до 20, и додаје још неколико математичких функција у језику.

бц се први пут појавио у верзији 6 Јуникса 1975. године, а написали су га Роберт Морис и Лоринда Кери у Бел Лабу. бц је претходио дц, ранији калкулатори произвољне прецизности су писани од стране истих аутора. дц је могао да врши калкулације произвољно прецизности, али његова обрнута пољска нотација (РПН) синтакса је незгодна за кориснике, а самим тим бц је написан као фронт-енд у дц-у. Бц је био веома једноставан компајлер (један Yacc изворни фајл са неколико стотина линија), који претвара нови, као C, бц синтакса у дц је постфик нотација, и прослеђује резултате кроз дц.

1991,ПОСИКС строго дефинише и стандардизује бц. Две имплементације овог стандарда су преживеле до данас: Прва је традиционална имплементација Јуникс и предњи-крај дц, који опстају у Јуниксу и план 9 системима. Други је слободан софтвер ГНУ-бц, први пут објављен 1991. године од стране Филипа А. Нелсона. Имплементација ГНУ има бројна проширења изван ПОСИКС стандарда, и није више предњи крај дц (то је бајткод интерпретатор).

ГНУ Ц библиотека

ГНУ C библиотека, познатија под називом glibc, је ГНУ пројекат направљен од Ц стандардне библиотеке. Упркос свом имену, ова библиотека директно подрзава и C++ (и индиректно друге програмске језике). Основана је 1990-их од стране фондације за слободни софтвер (ФСФ) за њихов ГНУ оперативни систем.

Објављена је од стране GNU Lesser General Public лиценце, и ц библиотека је слободни софтвер.

Гит (софтвер)

Гит (енгл. Git) је систем контроле верзија за праћење промена у рачунарским фајловима и за координисан рад више људи на тим фајловима. Примарно се користи за верзионисање кода при развоју софтвера, али се може користити за праћење промена у било којим фајловима. То је дистрибуирани систем контроле верзија чија је главна предност брзина, интегритет података , и подршка за дистрибуиране, нелинеарне послове.Гит је развио Линус Торвалдс, 2005. године за потребе развоја Линукс језгра, уз допринос и других програмера језгра његовом првобитном развоју. Његов тренутни развијач, од 2005. године је Јунио Хамано.

Као и код већине других дистрибуираних система контроле верзија, а за разлику од већине клијент-сервер система, сваки Гит радни директоријум, на сваком рачунару представља комплетан репозиторијум са комплетном историјом и употпуњеном могућношћу за праћење верзија, независно од приступа мрежи или централног сервера.Гит је слободан софтвер дистрибуиран под условима ГНУ-ове опште јавне лиценце верзије 2.

Дељена меморија

Дељена меморија (енгл. Shared Memory) у рачунарским системима је РАМ меморија (енгл. RAM) којој може да се истовремено приступи од стране више програма са намером да се оствари комуникација између тих програма или да се избегне непотребно копирање идентичних података.

У архитектури рачунара, дељена меморија углавном означава РАМ меморију којој може да приступи више централних процесорских јединица (енгл. CPU) у вишепроцесорским рачунарским системима (en:Multiprocessing). Пошто у вишепроцесорским рачунарским системима дељена меморија врло лако може да постане уско грло, већина система има и низ кеш меморија између процесора и дељене меморије. Да би се осигурао конзистентан приступ подацима у дељеној меморији, кеш меморија и процесори се придржавају неког протокола за кохерентан приступ дељеној меморији.

Системи са дељеном меморијом су релативно једноставни за програмирање зато што сви процесори имају приступ истој меморији (самим тим и истим структурама подата у тој меморији) и комуникација између процесора може бити брза колико и приступ тој заједничкој дељеној меморији.

Драгонфлај БСД

Драгонфлај БСД је јуниксолик слободан оперативни систем отвореног кода одвојен од Фри БСД-а 4.8. Метју Дилон, програмер Амиге крајем 1980-их и почетком 1990-их и програмер Фри БСД-а између 1994. и 2003. године, почео је да ради на Драгонфлај БСД-у у јуну 2003. и најавио га на дописним листама Фри БСД-а 16. јула 2003. године.Дилон је покренуо Драгонфлај у уверењу да ће технике усвојене за нитање и симетрично вишеструко обрађивање у Фри БСД-у 5 довести до лоших перформанси и проблема одржавања. Тражио је исправку ових очекиваних проблема у оквиру пројекта Фри БСД. Због сукоба са другим програмерима Фри БСД-а због примене својих идеја, његова способност да директно мења кодну базу је на крају опозвана. Упркос томе, пројекти Драгонфлај БСД-а и Фри БСД-а још увек раде заједно, деле исправке грешака, ажурирања управљачких програма и друга побољшања.

Намењен да буде логични наставак серије 4.x Фри БСД-а, Драгонфлај се значајно разликовао од Фри БСД-а, применом лаке нити језгра (ЛВКТ), система за прослеђивање порука у језгру и ХАМЕР систем датотека. На многе концепте дизајна Драгонфлаја утицао је Амига ОС.

Кондиционал (рачунарско програмирање)

У информатици, условне изјаве, условни изрази и условне конструкције су функције програмског језика, које извршавају различита израчунавања или различите акције у зависности од тога да ли је програмерски одређен булов услов оценио на тачно или нетачно. Осим у случају предвиђања огранка, ово се увек постиже тако што се селективно мења управљање током засновано на неком услову.

У језицима императивног програмирања, термин "условна изјава" се обично користи, док у функционалном програмирању, термини "условни изрази" или "условна конструкција" су пожељни, зато што ови појмови имају различита значења.

Иако динамична депеша обично није класифицирана као условна конструкција, она представља још један начин бирања између алтернатива за време рантајма.

Линукс

Линукс (енгл. Linux, IPA: /ˈlɪn.əks/ LIN-əks или ређе и према творцу неправилно /ˈlaɪn.əks/ LYN-əks) рачунарски је оперативни систем сличан Јуниксу, састављен и развијен у складу с принципима слободног софтвера. Главни део Линукса је језгро Линукса (такозвани кернел), или централни део оперативног система чију је прву верзију развио Линус Торвалдс 1991. године. Само језгро оперативног система постало је доступно јавности 5. октобра 1992. године , када је постављено на FTP сервер Универзитета у Хелсинкију.Постоје четири главна дела оперативног система Линукс. Први део је језгро оперативног система или кернел. Други део чине придружени програми за рад са системом, као што су алатке за управљање датотекама, уређивање текста, математику, програмирање, обраду звука, слике, видео-записа итд. Трећи дио чине корисничке љуске, које представљају основни начин за рад са системом преко командне линије. Четврти дио чини графички систем X, који обезбјеђује рад са прозорима, менијима, иконама и другим елементима карактеристичним за данашња графичка корисничка окружења.Линукс је првобитно представљен као слободни оперативни систем за рачунаре засноване на 32-битној Интел x86 серији микропроцесора. Од тада је пребачен на више рачунарских платформи него иједан други оперативни систем. Линукс је главни оперативни систем на серверима, мејнфрејм рачунарима и суперрачунарима:више од 90% данашњих највећих суперрачунара користи неку верзију линукса, укључујући 10 најбржих.линукс такође ради на микросистемима у којима је оперативни систем обично уграђен у уређај. То су на примјер мобилни телефони, таблет рачунари, мрежни усмјеривачи, телевизории конзоле за игру. Оперативни систем Андроид је такође изграђен на бази линуксовог језгра.

Развој линукса један је од најбољих примјера сарадње на пројекту слободног софтвера. Изворни код програма може свако да користи, мијења и дистрибуира комерцијално или некомерцијално, под слободним лиценцама као што је ГНУ-ова општа јавна лиценца. Линукс је обично дистрибуиран у облику линуксове дистрибуције, која укључује језгро и хиљаде пратећих програма. На овај начин се обезбјеђује користан радни систем одмах по инсталацији.

Неке познатије дистрибуције су Дебијан, Убунту, Федора и СУСЕ линукс.

Дистрибуција са графичким окружењем за рад (радном површином) обично има подршку за прозорски систем Икс и графичко окружење као што је Гном или КДЕ, или за мање хардверске захтјеве LXDE или Xfce. Серверске дистрибуције често немају графичко окружење, али укључују друге специфичне програмске пакете као што су серверски пакет Апач и SSH сервер као што је OpenSSH. Пошто се линукс може слободно дистрибуирати, свако може направити дистрибуцију по својим потребама. Програми који се често користе на линуксовим системима су интернет прегледач Мозила фајерфокс, канцеларијски пакет Либреофис и уређивач слика Гимп.

Пошто је већина системских алатки и датотека оригинално потекла из пројекта ГНУ, којег је 1983. започео Ричард Столман, Задужбина за слободни софтвер радије користи име ГНУ/линукс.

Линукс стандардна база

Линукс стандардна база (ЛСБ) је заједнички пројекат неколико Линукс дистрибуција под организационом структуром Линукс Фондације са циљем стандардизације структуре софтвера система, укључујући и хијерархију датотечног система која се користи у ГНУ/Линукс оперативном систему. ЛСБ је базирана на ПОСИКС спецификацијама, Single UNIX Specification и неколико других отворених стандарда, али их такође проширује у појединим областима.

Према ЛСБ-у:

Циљ ЛСБ-а је да развије и промовише скуп отворених стандарда који ће повећати компатибилност између Линукс дистрибуција и омогућити рад апликацијама на сваком компатибилном систему чак и у бинарној форми. Такође, ЛСБ ће помоћи да се координишу напори у регрутовању софтверских компанија да портују и пишу производе за Линукс оперативни систем.

ЛСБ наводи следеће, између осталог: стандардне библиотеке, одређене команде и услужне програме који проширују ПОСИКС стандард, распоред хијерархије датотечног система итд.

Преко команде lsb_release -a , која је доступна на многим системима, могуће је добити детаље о верзији ЛСБ-а, потребно је инсталирати lsb-release пакет да би била доступна.

Матоматик

Матоматик је слободни рачунарски алгебарски систем генералне сврхе доступан за портовање који може да извршава симболичко рачунање, упрошћава, комбинује и упоређује алгебарске једначине, извшава аритметику комплексних бројева, модуларну аритметику и аритметику са полиномима, а све то уз стандардну аритметику. Решава и извршава симболички рачун, (изводе, екстремне вредности, Тејлоров низ, интеграцију полинома и Лапласове трансформације), нумеричку интеграцију и ради комплетну елементарну алгебру, осим логаритама. Тригонометријске функције се могу унети и манипулисати користећи се комплекнсим експонентима, уз помоћ GNU m4 препроцесора. Тренутно, генералне функције попут f(x) нису имплементиране, као ни аритметика произвољне прецизности ни аритметика интервала, нити матрице.

Међупроцесна комуникација

Међупроцесна комуникација се у програмирању користи за размјену порука, дијељење ресурса и синхронизацију различитих процеса унутар једног рачунарског система. Под овим термином се најчешће подразумијевају семафори, редови за поруке и дијељена меморија, који су производ развојног тима јуникса „System V release 4“ (UNIX SVR4) а данас постоје на већини модерних оперативних система, али ту потпада и било који вид комуникације различитих процеса, попут сигнала, проточних цијеви („пајпова“), закључавања датотека ради синхронизације приступа ресурсима, па чак и локалног мрежног интерфејса попут сокета јуникса BSD.

Нит (рачунарство)

Нити у рачунарству представљају задатке који се истовремено извршавају у оквиру једног процеса. Инструкције које сачињавају једну нит се извршавају у исто вријеме са инструкцијама које сачињавају друге нити (ако у рачунару постоји више процесора) или је та истовременост само привидна (ако у рачунару постоји само један процесор).

Као што више процеса раде у исто вријеме на једном рачунару, тако се нити могу замислити као више послова у оквиру једног процеса. Све нити једног процеса имају исти именски простор, користе заједничку меморију и табеле отворених датотека. На тај начин је вишенитно програмирање знатно једноставније него распоређивање послова у више системских процеса.

Радни директоријум

У рачунарству, радни директоријум (енгл. working directory) процеса јесте директоријум хијерархијског фајл система (пуна адреса у фајл систему). Ако постоји, динамички је повезан са сваким процесом. Понекад се назива и тренутни радни директоријум (енгл. current working directory – CWD), нпр. БСД getcwd(3) функција или само радни директоријум. Када процес приступа фајлу користећи само име фајла или је путања до њега релативна интерпретира се путања са почетком у тренутном директоријуму (CWD). Односно, ако је процес из тренутног директоријума /rabbit-shoes и хожћемо да креирамо фајл „foo.txt” завршиће се креирањем фајла /rabbit-shoes/foo.txt.

Самба (софтвер)

Самба је програм који омогућава приступ мрежним дисковима на различитим оперативним системима по мрежном протоколу SMB/CIFS. Има клијент-сервер приступ. То је слободан софтвер, издат под лиценцом ГНУ.

Почевши од треће верзије обезбеђује заштиту датотека и штампање за различите клијенте (Јуникс, Виндоус) и може се интегрисати са оперативним системом, или прогласити за главни домен контролер (ПДЦ), или као члан домена. Такође може бити део и домена активног директоријума.

Самба ради на већини Јуниксоликих система, као што су Линукс, Посикс, компатибилан је и са Соларисом и Мац ОС сервером, BSD, у OS/2. Самба је укључен у скоро све дистрибуције линукса.

Семафор (рачунарство)

Семафор у рачунарству означава објекат који контролише приступ одређеним ресурсима, тако што осликава стање расположивости ресурса, обично једном целобројном вредношћу. Овај концепт се најчешће користи у програмирању када постоји више процеса или нити које користе исте ресурсе, ради синхронизације.

Семафор је ненегативна целобројна променљива над којом се, осим иницијализације, могу извршити следеће операције:

операција захтевања јединице ресурса. Уколико су ресурси сместа доступни, односно ако је вредност семафора већа од нуле, операција се моментално окончава и вредност семафора се умањује за 1, да би осликала да је једна више јединица ресурса заузета. Уколико је вредност семафора једнака нули, то значи да ниједна јединица ресурса није расположива у том тренутку те следи фаза чекања, тј. блокирања. Када ресурси постану расположиви, тј. када вредност семафора постане већа од нуле, тада се она аутоматски умањује за 1 и процес блокирања се завршава.

операција сигнализирања семафору да дати процес ослобађа јединицу ресурса. Вредност семафора се повећава за 1, и било који процес који је био у стању чекања престаје са чекањем и добија јединицу ресурса.Семафори могу имати вредност 0 или 1 (ресурси нису расположиви или ресурси јесу расположиви), али могу имати и вредности 0, 1, 2, ... (ресурси нису расположиви или толико-и-толико јединица ресурса јесте расположиво).

Семафори могу бити имплементирани на нивоу самог оперативног система (као што је случај са SVR4 семафорима из скупа објеката за подршку међупроцесне комуникације), на нивоу одређене платформе (као што је случај са мутексима у разним библиотекама за рад са нитима, нпр. Посикс), али могу бити и транспарентни и коришћени путем одређених кључних речи као што је то случај са Јавином кључном речју synchronized којом се обезбеђује синхронизован приступ ресурсима објекта неке класе.

ISO стандарди по бројевима
1–9999
10000–19999
20000+

На другим језицима

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.