Jump to content

Unix

Википедиа — Чөлөөт нэвтэрхий толь
(Юникс-с чиглүүлэгдэв)
Unix
Unix, Unix төст системүүдийн хувьсал
Хөгжүүлсэн компани / ХөгжүүлэгчБеллийн Лабораторид Кен Томпсон, Деннис Ритчи, Брайан Керниган, Дуглас Макилрой, Жои Оссанна нар
Програмчлагдсан технологиСи хэл, Ассемблер хэл
Үйлдлийн системийн бүлUnix1969-04-20; 1880 жилийн өмнө (1969-04-20)
Үе шатХөгжүүлэгдэж байгаа
Кодын загварАнхандаа хаалттай эхтэй, одоо зарим Unix (BSD-н салбарууд, Illumos) нь нээлттэй эхтэй.
Анхны хувилбар1969 оны 4-р сарын 20
ХэлАнгли хэл
Цөмийн төрөлЦул
Хэрэглэгчийн интерфейсКоманд мөрний систем, X цонхны системийн график интерфейстэй
ЛицензХаалттай эхтэй
Үндсэн веб хуудасunix.org

Unix (албан ёсны худалдааны тэмдэг нь UNIX, заримдаа Unix гэж бичдэг) нь 1969 онд AT&T (ЭиТи᠋᠋'анд'Ти) компанийн Кен Томпсон, Деннис Ритчи, Брайан Керниган, Дуглас Макилрой, Майкл Леск, Жои Оссанна гэх мэт хэсэг ажилчид Беллийн Лабораторид (бас Bell Labs гэдэг) давхар үйлдэлт, олон хэрэглэгчид үйлдлийн системийг бүтээжээ.

Анх ассемблер хэлээр хийгдсэн ч 1973 онд цаашдын хөгжүүлэлт болон олон төрлийн төхөөрөмжид хялбар суурьшуулах зорилгоор бараг бүгдийг нь Си хэл уруу хөрвүүлжээ.

1974 онд UNIX-н хамгийн анхны лицензийг Иллиноисийн Их Сургуульд Грег Чессон, Доналд Б.Гиллис нар авчээ. Өнөөдөр Unix системийг AT&T-ээс гадна олон худалдааны байгууллага, их сургууль (жишээ нь: Калифорнийн Их Сургуулийн BSD), ашгийн бус байгууллагууд тус тусдаа хөгжүүлж байна.

Одоогоор UNIX-н худалдааны тэмдгийг Нээлттэй Бүлэг гэдэг үйлдвэрлэлийн стандартын консорциум эзэмшиж байгаа. "Нээлттэй Бүлэг"-ийн UNIX системийн шаардлагыг хангасан системүүд уг худалдааны тэмдгийг ашиглах эрхтэй бөгөөд бусад системүүдийг нь Unix төст систем гэдэг. Гэхдээ худалдааны эрх авсан системтэй төстэй системүүд албан бусаар Unix гэдэг нэр томьёог ашиглах нь түгээмэл байдаг.

1970-аад оны сүүлч, 1980-аад оны эхээр Unix нь судалгаа, сургуулийн хүрээнээс хальж томоохон хэмжээний Unix (ялангуяа Калифорнийн Их Сургуулиас гаргасан BSD хувилбар)-үүд худалдаанд гарч эхлэв. Эд нараас дурдвал: Xenix, Sequent, HP-UX, Solaris, AIX, сүүлдээ Apple-н OS X, iOS болсон Darwin.

Өнөө үед албан ёсны Unix системүүдээс гадна MINIX, Linux, BSD-н салбарууд (FreeBSD, NetBSD, OpenBSD, DragonFly BSD) гэх мэт Unix төст үйлдлийн системүүд түгээмэл дэлгэрч байгаа. Уламжлалт Unix гэдэг нэр томьёо нь Хувилбар 7 Unix юм уу UNIX System V-н шинж чанарыг агуулж буй үйлдлийн системийг тодорхойлж болно.

Unix нь анхандаа олон системд ажилладаг програмыг хөгжүүлэхэд хэрэглэгддэг програмистын ажиллах орчин байсан. Сургалт, судалгааны хүрээнд өргөн тархаж хэрэглэгчид системд зориулж өөрсдийн хэрэгслүүдийг нэмж, өөр хоорондоо хуваалцсанаар уг систем улам томорсоор байв.

Unix нь давхар үйлдэлт, олон хэрэглэгчид, олон системд хөрвөх чадвартай байхаар бүтээгдсэн. Unix систем нь олон төрлийн үзэл ухагдахууныг агуулсан байдаг. Үүнд: өгөгдөл хадгалахдаа ердийн бичвэр (текст) ашигладаг байх, үечилсэн файлын системтэй байх, олон төхөөрөмжийг дэмждэг бөгөөд файлаар мэдээллээ солилцдог байх, олон тооны програм хэрэгсэлтэй байх, команд мөрөнд дамжуулах тэмдэгт ашиглан хэд хэдэн жижиг програмуудыг цугт нь хэрэглэж болдог байх, ижил функцүүдийг агуулсан ганц цул програм байхын эсрэг байх. Эдгээр ойлголтуудыг цугт нь Unix-н философи гэдэг. Керниган, Роб Пайк хоёр Unix-н Програмчлалын Орчин дахь Unix-н философийг "системийн чадал нь програмууд хоорондын уялдаа холбоо, харилцаанаас үүсдэг гэсэн санаа" хэмээн дүгнэжээ.

Unix үйлдлийн системүүд нь сервер, үйлчилгээний тооцоолуур, зөөврийн төхөөрөмжүүдэд өргөн хэрэглэгддэг. Unix-н орчин, хэрэглэгч–үйлчлэгч програмын загвар хоёр нь интернетийн хөгжүүлэлт болон сүлжээний тооцооллыг бүрэлдэн бий болгоход хамгийн чухал хүчин зүйлүүд болсон юм.

Unix, Си програмчлалын хэл хоёуланг нь AT&T хөгжүүлж засгийн газар, сургуулиуд уруу тарааснаар энэ хоёр бусад үйлдлийн системтэй харьцангуй олон төрлийн машин уруу хөрвүүлэгдсэн. Үр дүнд нь Unix бараг нээлттэй систем болсон.

Unix үйлдлийн систем нь дээд удирдах програм буюу цөмийг оролцуулаад олон хэрэгслүүдээс тогтдог. Цөм нь програмыг эхлүүлэх болон зогсоох, файлын систем болон "доод түвшний" ажлуудыг зохицуулах, програмууд нэг нөөц уруу юм уу нэг төхөөрөмж уруу зэрэг хандахад үүсэх зөрчлийг зохицуулах үүрэгтэй.

Бичил цөм хэмээх ойлголт нь том цөмүүдийг багасгах зорилгоор гарсан буюу ихэнх ажлуудыг жижиг жижиг хэрэгслүүдээр биелүүлэхийг зорьдог. Тухайн үед ерийн компьютер нь өгөгдөл хадгалах хатуу диск, оролт гаралтын терминалтай, Unix-н файлын загвар нь алдаагүй, оролт гаралт нь шугаман байсан. Гэсэн ч орчин үеийн систем нь сүлжээгээр холбогддог, олон шинэ төхөөрөмжүүдтэй болсон. График интерфейс хөгжиж файлын загвар нь давхар ажлыг боловсруулж чадахгүй болох нь харагдав. Сүлжээний протоколуудтай хамаатай функцүүд цөмөөс хасагдсан.

1960-аад онд Массачусетсийн Технологийн Сургууль, AT&T Беллийн Лаборатори, General Electric (Женерал Электрик)нар GE-645 тооцоолуурт Multics (Мултикс) гэдэг зэрэг тооцоолол хийдэг үйлдлийн системийг анх хөгжүүлсэн. Мултикс нь олон шинэлэг санааг дэвшүүлсэн ч бүтэлгүйтсэн юм.

Мултикс нь дэндүү цогц, нүсэр байснаар зорилгодоо хүрэлгүй Белл Лаборатори аажмаар уг төслөөс гарсан юм. Мултиксыг хөгжүүлж байсан сүүлчийн судлаачид болох Кен Томпсон, Деннис Ритчи, Дуглас Макилрои, Жои Оссанна нар маш цомхон, жижиг байхаар Мултиксыг дахин хийхээр шийдэв. Тэр үед Ритчи: "Бид зөвхөн програмчлахад сайн систем бүтээхээсээ илүүтэй системтэй харьцах бусад зүйлс нь зөв бүтэц зохион байгуулалттай байхыг зорьсон юм…" гэжээ.

Кен Томпсон Мултикс дээрээ ажиллаж байхдаа файл, хуудаслалтын шинэ системийн загварчлалыг бичсэн. Мөн тэрээр Оддын Аялал (Space Travel) гэдэг тоглоомыг програмчилсан боловч тоглоом ажиллахад бага өртөгтэй, өндөр хүчин чадалтай машин шаардагдаж Белл Лабораториосоо нээх их хэрэглэгдээгүй PDP-7 гэдэг машиныг олов. 1969 онд PDP-7 дээрээ Томпсон, Ритчи, Руд Канадей нар Белл Лабораторийн судалгааны багийг удирдаж үечилсэн файлын систем, компьютерын процесс, төхөөрөмжийн файлын үндэс, команд мөрийн хөрвүүлэгч, хэд хэдэн жижиг хэрэгслүүдийг хөгжүүлжээ.

1970 онд Петер Нейман Multics (Multiplexed Information and Computer Service) гэдэг нэрийг егөөдөж төслийн нэрийг Unics (UNinplexed Information and Computer Service) гэж нэрлэв. Unix нь мөн зэрэг олон хэрэглэгчидтэй ажиллаж чаддаг бөгөөд нэрээ Unix (Юникс) болгон өөрчлөв.

Энэ үе хүртэл Белл Лабораториос ямар ч санхүүгийн дэмжлэг байхгүй байв. Компьютерын Ухааны Судалгааны Бүлгэм (Computer Science Research Group) PDP-7-оос том машинд Unix-г хэрэглэхийг хүсэхэд Томпсон, Ритчи хоёр PDP-11/20 машинд зориулж, мөн Unix-тээ бичвэр боловсруулалтыг нэмж оруулахаар тохиролцож арилжаалахаар болжээ. Ингээд санхүү орж ирэв. 1970 онд анх удаа Unix үйлдлийн систем албан ёсны нэрээ авч PDP-11/20 машинд ажилладаг байхаар гарав. Бичвэр хэлбэржүүлэх "roff" гэдэг програм, бичвэр засварлагч нар орсон байв.

Unix-н хамгийн анхны худалдааны хувилбарыг 1972 оны эхээр Нью-Йорк Телефон компанийн Системийн Хөгжүүлэлтийн Төвд Дан Гиеланы удирдлага дор суулгав.

"Үйлдлийн систем мэтийн цогц системийг заавал ассемблер хэлээр програмчлах ёстой" гэгддэг үед Unix нь 1972 онд Си хэлээр дахин бичигдэв. Ассемблераас дээш түвшний хэл болох Си уруу хөрвөснөөр илүү авсаархан болж, багахан хэмжээний машинаас хамаарах кодыг өөрчлөөд бусад системүүд уруу суулгах боломжтой болов.

Unix системийн хувилбар нь гарын авлагынхаа хэвлэлийн дугаараар тодорхойлогддог байв. Жишээ нь "5 дахь хэвлэл UNIX", "UNIX Хувилбар 5" хоёр нь нэг хувилбарыг илэрхийлж байгаа юм. 1975 онд хөгжүүлэгдсээр Хувилбар 4, 5, 6 гарав. Эдгээр хувилбаруудад дамжуулах тэмдэгтийн үндэс нэмэгдэж хөгжүүлэлтийг илүү хурдан, цэгцтэй болгож өгсөн. Хувилбар 5, ялангуяа Хувилбар 6-аас Белл Лабораторийн дотор болон гадна Unix-н олон ялгаатай хувилбарууд үүсэв. Үүнд: PWB/UNIX, анхны худалдааны Unix болох IS/1 гэх мэт. Unix Си хэлээр бичигдсэнээр хөрвөх чадвар нь өсөв. Уоллонгоны Их Сургуулийн баг Unix-г Interdata 7/32 уруу хөрвүүлсэн. Белл Лаборатори судалгааны болоод AT&T-н дотоод хэрэглээнд зориулж хэд хэдэн хөрвүүлэлт хийсэн. Үүнд: Intel 8086 суурьтай компьютер (MMU нэмж хийсэн), UNIVAC 1100 нар орно.

1975 оны 5-р сард ARPA RFC-681 машин дахь ARPA сүлжээний жижиг хостод Unix давхар ажиллагаатай систем нь "олон сонирхолтой чадавхуудтай" гэж уг системийн сайн талуудыг тэмдэглэсэн байдаг.

1978 онд UNIX/32V DEC-үүдэд гарч дараа нь шинэ VAX систем болсон. Тухайн үед 600-аад машин Unix-н ямар нэгэн хувилбаруудаар ажиллаж байлаа. Судалгааны Unix-н хамгийн өргөн тархсан сүүлийн хувилбар болох Хувилбар 7 Unix нь 1979 онд гарав. 1980-аад онд гарсан Хувилбар 8, 9, 10 нь хэдхэн их сургуульд тараагдсан ч шинэ ажил гарч ирэв. Уг судалгаа нь Белл Лабораторийн 9-р Төлөвлөгөө (Plan 9) буюу шинэ шилжимтгэй тархай системийн (portable distributed system) хөгжүүлэлт уруу аваачив.

2005 онд Sun Microsystems (Сана Микросистемс) компани Solaris (Соларис) системийн (UNIX System V Цуврал 4-д суурилсан) ихэнх кодоо OpenSolaris (Опен Соларис) гэдэг нээлттэй эхийн төсөл болгов. Шинэ Sun OS технологиуд (ялангуяа ZFS файлын систем) нь OpenSolaris төслөөрөө анх гарсан. Удалгүй OpenSolaris-ийн Sun компанийн бус тархацууд гарсан. 2010 онд Oracle (Оракел) компани Sun-ийг өөрийн болгоход OpenSolaris төсөл зогссон боловч бусад тархацууд нь хөгжигдсөөр байгаа.

Unix нь системийн цагийг "Unix-н Эрин" (Unix Epoch) буюу 1970 оны 1-р сарын 1-ны 00:00 цагаас эхлэн секундээр тоологдох "signed long" буюу тэмдэгтэй урт бүхэл тоон төрлөөр тодорхойлогдсон time_t төрлийн хувьсагчид хадгалдаг. 2038 оны 1-р сарын 19-нд 32 бит Unix системийн цаг нь 0-ийн хойноос 31 нэг (0x7FFFFFFF) байснаас 1-ийн хойноос 31 тэг (0x80000000) болох буюу тэмдгийн битийг өөрчилснөөр он нь 1901 юм уу 1970 болно. 1970-н оноос өмнөх цагийг цөөн хэрэглэгдэнэ гэж үзвэл time_t төрлийг "тэмдэггүй 32 бит бүхэл тоо"-н төрлөөр өөрчилж болно. Гэхдээ дээрх алдааг зөвхөн 2106 оны 2-р сарын 7 хүртэл л хойшлуулахаас хэтрэхгүй бөгөөд програмуудын цагийн форматын зөрөөнөөс янз бүрийн алдаа гарч болно.

Зарим Unix-ийн хувилбарууд уг алдааг тооцсон байдаг. Жишээ нь 64 битийн Solaris, Linux хоёр time_t-г 64 битийн урт бүхэл тоогоор тодорхойлсон байдаг нь үйлдлийн систем болон 64 битийн програмууд нь 292 тэрбум жилийг зөв илэрхийлж чадах юм. 32 бит time_t-г хэрэглэдэг 32 битийн програмууд нь 64 бит Solaris системд хэвийн ажиллах ч 2038 оны алдаа нь хэвээрээ байна.

 1.Kernel-бүх process, scheduling зэргийг зохицуулах ба Hardware-тай шууд харилцана.
 2.Shell-хэрэглэгчээс мэдээлэл авч цааш дамжуулах, санах ойгоос програм ажиллуулах гэх мэт үйлдлийг хийнэ.
 3.Бусад Tool буюу хэрэгслүүд-Үйлдлийн системд хэрэг болох хэрэгслүүд буюу бусад программууд.
Unix-ийг дотор нь хоёр ангилж үздэг. Boot  хийх үедээ системийн хаанаас программуудаа унших вэ? Яаж унших вэ? гэдгээр нь ангилал болгон авч үздэг. Өөрөөр хэлбэл ‘’Init’’ хийх төрлөөр нь ангилдаг.
 1.System V
 2.BSD (Berkely Software Distribution)

Unix (албан ёсны худалдааны тэмдэг нь UNIX, заримдаа Unix гэж бичдэг) нь 1969 онд AT&T (ЭиТи᠋᠋'анд'Ти) компанийн Кен Томпсон, Деннис Ритчи, Брайан Керниган, Дуглас Макилрой, Майкл Леск, Жои Оссанна гэх мэт хэсэг ажилчид Беллийн Лабораторид (бас Bell Labs гэдэг) давхар үйлдэлт, олон хэрэглэгчид үйлдлийн системийг бүтээжээ. Анх ассемблер хэлээр хийгдсэн ч 1973 онд цаашдын хөгжүүлэлт болон олон төрлийн төхөөрөмжид хялбар суурьшуулах зорилгоор бараг бүгдийг нь Си хэл уруу хөрвүүлжээ. 1974 онд UNIX-н хамгийн анхны лицензийг Иллиноисийн Их Сургуульд Грег Чессон, Доналд Б.Гиллис нар авчээ. Өнөөдөр Unix системийг AT&T-ээс гадна олон худалдааны байгууллага, их сургууль (жишээ нь: Калифорнийн Их Сургуулийн BSD), ашгийн бус байгууллагууд тус тусдаа хөгжүүлж байна. Одоогоор UNIX-н худалдааны тэмдгийг Нээлттэй Бүлэг гэдэг үйлдвэрлэлийн стандартын консорциум эзэмшиж байгаа. "Нээлттэй Бүлэг"-ийн UNIX системийн шаардлагыг хангасан системүүд уг худалдааны тэмдгийг ашиглах эрхтэй бөгөөд бусад системүүдийг нь Unix төст систем гэдэг. Гэхдээ худалдааны эрх авсан системтэй төстэй системүүд албан бусаар Unix гэдэг нэр томьёог ашиглах нь түгээмэл байдаг. 1970-аад оны сүүлч, 1980-аад оны эхээр Unix нь судалгаа, сургуулийн хүрээнээс хальж томоохон хэмжээний Unix (ялангуяа Калифорнийн Их Сургуулиас гаргасан BSD хувилбар)-үүд худалдаанд гарч эхлэв. Эд нараас дурдвал: Xenix, Sequent, HP-UX, Solaris, AIX, сүүлдээ Apple-н OS X, iOS болсон Darwin. Өнөө үед албан ёсны Unix системүүдээс гадна MINIX, Linux, BSD-н салбарууд (FreeBSD, NetBSD, OpenBSD, DragonFly BSD) гэх мэт Unix төст үйлдлийн системүүд түгээмэл дэлгэрч байгаа. Уламжлалт Unix гэдэг нэр томьёо нь Хувилбар 7 Unix юм уу UNIX System V-н шинж чанарыг агуулж буй үйлдлийн системийг тодорхойлж болно.

Unix нь анхандаа олон системд ажилладаг програмыг хөгжүүлэхэд хэрэглэгддэг програмистын ажиллах орчин байсан. Сургалт, судалгааны хүрээнд өргөн тархаж хэрэглэгчид системд зориулж өөрсдийн хэрэгслүүдийг нэмж, өөр хоорондоо хуваалцсанаар уг систем улам томорсоор байв. Unix нь давхар үйлдэлт, олон хэрэглэгчид, олон системд хөрвөх чадвартай байхаар бүтээгдсэн. Unix систем нь олон төрлийн үзэл ухагдахууныг агуулсан байдаг. Үүнд: өгөгдөл хадгалахдаа ердийн бичвэр (текст) ашигладаг байх, үечилсэн файлын системтэй байх, олон төхөөрөмжийг дэмждэг бөгөөд файлаар мэдээллээ солилцдог байх, олон тооны програм хэрэгсэлтэй байх, команд мөрөнд дамжуулах тэмдэгт ашиглан хэд хэдэн жижиг програмуудыг цугт нь хэрэглэж болдог байх, ижил функцүүдийг агуулсан ганц цул програм байхын эсрэг байх. Эдгээр ойлголтуудыг цугт нь Unix-н философи гэдэг. Керниган, Роб Пайк хоёр Unix-н Програмчлалын Орчин дахь Unix-н философийг "системийн чадал нь програмууд хоорондын уялдаа холбоо, харилцаанаас үүсдэг гэсэн санаа" хэмээн дүгнэжээ. Unix үйлдлийн системүүд нь сервер, үйлчилгээний тооцоолуур, зөөврийн төхөөрөмжүүдэд өргөн хэрэглэгддэг. Unix-н орчин, хэрэглэгч–үйлчлэгч програмын загвар хоёр нь интернетийн хөгжүүлэлт болон сүлжээний тооцооллыг бүрэлдэн бий болгоход хамгийн чухал хүчин зүйлүүд болсон юм. Unix, Си програмчлалын хэл хоёуланг нь AT&T хөгжүүлж засгийн газар, сургуулиуд уруу тарааснаар энэ хоёр бусад үйлдлийн системтэй харьцангуй олон төрлийн машин уруу хөрвүүлэгдсэн. Үр дүнд нь Unix бараг нээлттэй систем болсон. Unix үйлдлийн систем нь дээд удирдах програм буюу цөмийг оролцуулаад олон хэрэгслүүдээс тогтдог. Цөм нь програмыг эхлүүлэх болон зогсоох, файлын систем болон "доод түвшний" ажлуудыг зохицуулах, програмууд нэг нөөц уруу юм уу нэг төхөөрөмж уруу зэрэг хандахад үүсэх зөрчлийг зохицуулах үүрэгтэй. Бичил цөм хэмээх ойлголт нь том цөмүүдийг багасгах зорилгоор гарсан буюу ихэнх ажлуудыг жижиг жижиг хэрэгслүүдээр биелүүлэхийг зорьдог. Тухайн үед ерийн компьютер нь өгөгдөл хадгалах хатуу диск, оролт гаралтын терминалтай, Unix-н файлын загвар нь алдаагүй, оролт гаралт нь шугаман байсан. Гэсэн ч орчин үеийн систем нь сүлжээгээр холбогддог, олон шинэ төхөөрөмжүүдтэй болсон. График интерфейс хөгжиж файлын загвар нь давхар ажлыг боловсруулж чадахгүй болох нь харагдав. Сүлжээний протоколуудтай хамаатай функцүүд цөмөөс хасагдсан.

1960-аад онд Массачусетсийн Технологийн Сургууль, AT&T Беллийн Лаборатори, General Electric (Женерал Электрик)нар GE-645 тооцоолуурт Multics (Мултикс) гэдэг зэрэг тооцоолол хийдэг үйлдлийн системийг анх хөгжүүлсэн. Мултикс нь олон шинэлэг санааг дэвшүүлсэн ч бүтэлгүйтсэн юм. Мултикс нь дэндүү цогц, нүсэр байснаар зорилгодоо хүрэлгүй Белл Лаборатори аажмаар уг төслөөс гарсан юм. Мултиксыг хөгжүүлж байсан сүүлчийн судлаачид болох Кен Томпсон, Деннис Ритчи, Дуглас Макилрои, Жои Оссанна нар маш цомхон, жижиг байхаар Мултиксыг дахин хийхээр шийдэв. Тэр үед Ритчи: "Бид зөвхөн програмчлахад сайн систем бүтээхээсээ илүүтэй системтэй харьцах бусад зүйлс нь зөв бүтэц зохион байгуулалттай байхыг зорьсон юм…" гэжээ.

Кен Томпсон Мултикс дээрээ ажиллаж байхдаа файл, хуудаслалтын шинэ системийн загварчлалыг бичсэн. Мөн тэрээр Оддын Аялал (Space Travel) гэдэг тоглоомыг програмчилсан боловч тоглоом ажиллахад бага өртөгтэй, өндөр хүчин чадалтай машин шаардагдаж Белл Лабораториосоо нээх их хэрэглэгдээгүй PDP-7 гэдэг машиныг олов. 1969 онд PDP-7 дээрээ Томпсон, Ритчи, Руд Канадей нар Белл Лабораторийн судалгааны багийг удирдаж үечилсэн файлын систем, компьютерын процесс, төхөөрөмжийн файлын үндэс, команд мөрийн хөрвүүлэгч, хэд хэдэн жижиг хэрэгслүүдийг хөгжүүлжээ. 1970-аад он 1970 онд Петер Нейман Multics (Multiplexed Information and Computer Service) гэдэг нэрийг егөөдөж төслийн нэрийг Unics (UNinplexed Information and Computer Sercice) гэж нэрлэв. Unics нь мөн зэрэг олон хэрэглэгчидтэй ажиллаж чаддаг бөгөөд нэрээ Unix (Юникс) болгон өөрчлөв. Энэ үе хүртэл Белл Лабораториос ямар ч санхүүгийн дэмжлэг байхгүй байв. Компьютерын Ухааны Судалгааны Бүлгэм (Computer Science Research Group) PDP-7-оос том машинд Unix-г хэрэглэхийг хүсэхэд Томпсон, Ритчи хоёр PDP-11/20 машинд зориулж, мөн Unix-тээ бичвэр боловсруулалтыг нэмж оруулахаар тохиролцож арилжаалахаар болжээ. Ингээд санхүү орж ирэв. 1970 онд анх удаа Unix үйлдлийн систем албан ёсны нэрээ авч PDP-11/20 машинд ажилладаг байхаар гарав. Бичвэр хэлбэржүүлэх "roff" гэдэг програм, бичвэр засварлагч нар орсон байв. Unix-н хамгийн анхны худалдааны хувилбарыг 1972 оны эхээр Нью-Йорк Телефон компанийн Системийн Хөгжүүлэлтийн Төвд Дан Гиеланы удирдлага дор суулгав. "Үйлдлийн систем мэтийн цогц системийг заавал ассемблер хэлээр програмчлах ёстой" гэгддэг үед Unix нь 1972 онд Си хэлээр дахин бичигдэв. Ассемблераас дээш түвшний хэл болох Си уруу хөрвөснөөр илүү авсаархан болж, багахан хэмжээний машинаас хамаарах кодыг өөрчлөөд бусад системүүд уруу суулгах боломжтой болов. Unix системийн хувилбар нь гарын авлагынхаа хэвлэлийн дугаараар тодорхойлогддог байв. Жишээ нь "5 дахь хэвлэл UNIX", "UNIX Хувилбар 5" хоёр нь нэг хувилбарыг илэрхийлж байгаа юм. 1975 онд хөгжүүлэгдсээр Хувилбар 4, 5, 6 гарав. Эдгээр хувилбаруудад дамжуулах тэмдэгтийн үндэс нэмэгдэж хөгжүүлэлтийг илүү хурдан, цэгцтэй болгож өгсөн. Хувилбар 5, ялангуяа Хувилбар 6-аас Белл Лабораторийн дотор болон гадна Unix-н олон ялгаатай хувилбарууд үүсэв. Үүнд: PWB/UNIX, анхны худалдааны Unix болох IS/1 гэх мэт. Unix Си хэлээр бичигдсэнээр хөрвөх чадвар нь өсөв. Уоллонгоны Их Сургуулийн баг Unix-г Interdata 7/32 уруу хөрвүүлсэн. Белл Лаборатори судалгааны болоод AT&T-н дотоод хэрэглээнд зориулж хэд хэдэн хөрвүүлэлт хийсэн. Үүнд: Intel 8086 суурьтай компьютер (MMU нэмж хийсэн), UNIVAC 1100 нар орно.

1975 оны 5-р сард ARPA RFC-681 машин дахь ARPA сүлжээний жижиг хостод Unix давхар ажиллагаатай систем нь "олон сонирхолтой чадавхуудтай" гэж уг системийн сайн талуудыг тэмдэглэсэн байдаг. 1978 онд UNIX/32V DEC-үүдэд гарч дараа нь шинэ VAX систем болсон. Тухайн үед 600-аад машин Unix-н ямар нэгэн хувилбаруудаар ажиллаж байлаа. Судалгааны Unix-н хамгийн өргөн тархсан сүүлийн хувилбар болох Хувилбар 7 Unix нь 1979 онд гарав. 1980-аад онд гарсан Хувилбар 8, 9, 10 нь хэдхэн их сургуульд тараагдсан ч шинэ ажил гарч ирэв. Уг судалгаа нь Белл Лабораторийн 9-р Төлөвлөгөө (Plan 9) буюу шинэ шилжимтгэй тархай системийн (portable distributed system) хөгжүүлэлт уруу аваачив. 2000-аад он 2005 онд Sun Microsystems (Сана Микросистемс) компани Solaris (Соларис) системийн (UNIX System V Цуврал 4-д суурилсан) ихэнх кодоо OpenSolaris (Опен Соларис) гэдэг нээлттэй эхийн төсөл болгов. Шинэ Sun OS технологиуд (ялангуяа ZFS файлын систем) нь OpenSolaris төслөөрөө анх гарсан. Удалгүй OpenSolaris-ийн Sun компанийн бус тархацууд гарсан. 2010 онд Oracle (Оракел) компани Sun-ийг өөрийн болгоход OpenSolaris төсөл зогссон боловч бусад тархацууд нь хөгжигдсөөр байгаа. 2038 он Unix нь системийн цагийг "Unix-н Эрин" (Unix Epoch) буюу 1970 оны 1-р сарын 1-ны 00:00 цагаас эхлэн секундээр тоологдох "signed long" буюу тэмдэгтэй урт бүхэл тоон төрлөөр тодорхойлогдсон time_t төрлийн хувьсагчид хадгалдаг. 2038 оны 1-р сарын 19-нд 32 бит Unix системийн цаг нь 0-ийн хойноос 31 нэг (0x7FFFFFFF) байснаас 1-ийн хойноос 31 тэг (0x80000000) болох буюу тэмдгийн битийг өөрчилснөөр он нь 1901 юм уу 1970 болно. 1970-н оноос өмнөх цагийг цөөн хэрэглэгдэнэ гэж үзвэл time_t төрлийг "тэмдэггүй 32 бит бүхэл тоо"-н төрлөөр өөрчилж болно. Гэхдээ дээрх алдааг зөвхөн 2106 оны 2-р сарын 7 хүртэл л хойшлуулахаас хэтрэхгүй бөгөөд програмуудын цагийн форматын зөрөөнөөс янз бүрийн алдаа гарч болно. Зарим Unix-ийн хувилбарууд уг алдааг тооцсон байдаг. Жишээ нь 64 битийн Solaris, Linux хоёр time_t-г 64 битийн урт бүхэл тоогоор тодорхойлсон байдаг нь үйлдлийн систем болон 64 битийн програмууд нь 292 тэрбум жилийг зөв илэрхийлж чадах юм. 32 бит time_t-г хэрэглэдэг 32 битийн програмууд нь 64 бит Solaris системд хэвийн ажиллах ч 2038 оны алдаа нь хэвээрээ байна.

1980-аад оны эхээр, одоогийн POSIX гэгддэг нээлттэй үйлдлийн систем нь стандартчилагдан нь хүчин чармайлт бүхий үйлдлийн системүүдэд нийтлэг суурь болж өгсөн; IEEE 1988 онд анх POSIX стандартыг хэвлэн нийтэлсэн ба Unix системийн гол өрсөлдөгч төрлүүдтэй нийтлэг бүтэц эргэн тойронд POSIX үүсгэсэн. 1990 оны эхээр тусдаа боловч маш төстэй хүчин чармайлт бүхий салбарын консорциум эхэлсэн ба эцэст нь Open Group-удирдан зохион байгуулдаг Single UNIX-ийн тодорхойлолтыг Нийтлэг Нээлттэй програм хангамжийн орчин (COSE) санаачилгалсан. 1998 оноос эхлэн, Open Group болон IEEE POSIX болон UNIX-ийн нэг техникийн нийтлэг тодорхойлолт өгөх, Остин Групп эхэлжээ. 1999 онд нийцтэй хандах хүчин чармайлт, хэд хэдэн Unix системийн хоёртын үйлдвэрлэгчид болон объект код файлуудад зориулсан стандарт болгон SVR4-ын Executable болон Linkable Format (ELF) дээр тохиролцсон. Нийтлэг хэлбэр нь ижил CPU-ийн архитектур дээр үйл ажиллагаа явуулж байгаа Unix системийн дунд ихээхэн хоёртын хэлбэртэй нийцтэй ажиллах боломжийг олгодог. Файлын системийн шатлал стандартыг Unix төст үйлдлийн системүүдэд зориулсан лавлах зохион хангахын тулд бий болгосон бөгөөд үүнийг ихэвчлэн Linux ашиглаж байна.

Бүрэлдэхүүн хэсэг

[засварлах | кодоор засварлах]

Unix систем нь хэд хэдэн хэсгээс бүрдэх ба үүнийг энгийнээр хамтад нь савласан байдаг. Нэмэлт үйлдлийн системд байгаль орчин, номын сан, баримт бичиг, мөн эдгээр өөрчлөх бүрэлдэхүүн хэсгийн бүх зөөврийн эх код нь цөм руу нэмж, Unix бие даасан програм хангамжийн систем байсан юм. Энэ нь заах болон сурах маш чухал арга хэрэгсэл болон гарч, ийм их нөлөө үзүүлсэн гол шалтгаануудын нэг байсан юм. Эх код болон баримт бичгийн хөрвүүлэгдсэн бүх нэмсэн бүх хувь нь 10-аас доош MB эзэлж бүрдсэн анхны V7 UNIX-ийн тархалт - Энэ бүрэлдэхүүн хэсэг их хэмжээний системийг хийж чадахгүй байсан ба 9 зам нь соронзон хальсны дээр ирсэн байна. Онлайн эх сурвалжаас бэлтгэх хэвлэсэн баримт, хоёр боть багтсан байна. Нэр, Unix бүрэлдэхүүн хэсэг нь файлын системийн байршил системийн түүхэн даяар ихээхэн өөрчлөгдсөн байна. Гэсэн хэдий ч, V7 хэрэгжүүлэх Дүрмийн дагуу ийм эрт бүтэц байх нь олон үзэж байна: Цөмийн - хэд хэдэн дэд хэсгээс бүрдэнэ / usr / систем нь эх код: • CONF - ачаалах кодын хамт тохиргоо болон машин хамааралтай эд анги, • Dev - тоног төхөөрөмжийн хяналтын төхөөрөмжийн драйверууд (зарим псевдо-техник хангамж) • Sys - "цөм" үйлдлийн системийн санах ойн менежмент, үйл явцын хуваарь, системийн дуудлага гэх мэт харьцах • h - толгой файлууд, тогтолцоо, чухал ач холбогдолтой системийн тусгайлсан invariables дотор гол бүтцийг тодорхойлох Хөгжлийн орчин - Unix-ийн эхний хувилбар нь эх код нь бүхэл системийг дахин үүсгэх хангалттай хөгжлийн орчин агуулсан: • CC - С хэлний хөрвүүлэгч (эхний V3 Unix-д ирсэн) машин машинаар хэл ассемблер • LD - Linker, обьект файлуудыг нэгтгэх • Либ - объект код сангууд (/ Либ эсвэл / usr / Либийн суурилуулсан). libc, C ажиллах үеийн дэмжлэгтэйгээр систем нь номын сан, үндсэн номын сан байсан ч үргэлж математикийн үйл ажиллагаа (libm) болон өгөгдлийн сангийн авах зэрэг зүйлсийг нэмэлт сангууд байхгүй байна. V7 Unix системийн номын сангийн хүрээнд орчин үеийн "Стандарт I / O" номын stdio эхний хувилбарыг танилцуулсан. Дараа нь шийдлүүд ихээхэн номын сангийн тоо нэмэгдсэн байна. • хийх - бүтээх менежер нь бүтээх үйл явцыг автоматжуулах нь (PWB / UNIX-д танилцуулсан) • орох - програм хангамж хөгжүүлэх толгой файл, стандарт интерфэйсүүд болон системийн invariants тодорхойлох • Бусад хэл - V7 Unix нь FORTRAN-77 эмхэтгэгч нь програмчлагдсан дурын нарийн тооцоолуурыг (BC, DC), болон awk скрипт хэл, болон түүнээс хойшхи хувилбаруудын болон шийдлүүд бусад олон хэл дээр хөрвүүлэгчээс хамаарахгүй хөрвүүлэхийг болон toolsets агуулсан орсон. Эрт BSD хувилбарууд Pascal хэрэгсэл орсон бөгөөд орчин үеийн олон Unix систем нь GNU Compiler цуглуулгыг оруулах, түүнчлэн, эсвэл оронд нь өмчийн хөрвүүлэгч систем. • Бусад хэрэгсэл - обьект-код архив менежер (Ar), тэмдэг ширээний Lister (нм), хөрвүүлэгч-хөгжүүлэх хэрэгсэл (жишээ нь, Lex & yacc) болон дибаг хийх хэрэгслүүд гэх мэт. Тушаалууд - Unix бага зэрэг системийн үйл ажиллагаа, засвар үйлчилгээ (жишээ нь cron), ерөнхий хэрэгсэл (жишээ нь, grep) -ийн тушаалын тушаалууд (хэрэглэгчийн түвшний програмууд) хоорондын ялгаа болон текст загварчлах, болон хэвлэлийн эх бэлтгэх багц болгон илүү ерөнхий зориулалттай програмуудыг болгож байна. Гэсэн хэдий ч зарим томоохон ангилал нь: Ш - "бүрхүүл" программаар тушаалын мөрийн хэлмэрч, (а "тушаал цонх" дотор) анхдагч хэрэглэгчийн цонх систем гарч өмнө Unix дээрх интерфэйсийг, тэр ч байтугай дараа. Хэрэгслүүд - ТБХ, LS, grep зэрэг Unix-ийн тушаалын цуглуулгыг гол арга хэрэгсэл олж болон бусад олон. Дэд ангилал дахь сануулга нь: • системийн хэрэгслүүд - Ийм mkfs, дээр ажиллах, болон бусад олон удирдлагын хэрэгслүүд. • хэрэглэгчийн багажууд - Ийм passwd, алж, болон бусад байгаль орчны удирдлагын арга хэрэгсэл. • баримт бичиг форматлах - Unix системийн баримт бичиг бэлтгэх, хэвлэлийн эх бэлтгэх системийн хувьд эхнээс нь хэрэглэдэг бөгөөд ийм nroff, troff, tbl, eqn, хандана уу, Pic зэрэг олон холбогдох хөтөлбөрүүдийг оруулсан байна. Зарим нь орчин үеийн Unix систем нь ийм TeX болон Ghostscript зэрэг багц орно. • Graphics - талбай дэд систем зэрэг файлуудыг харуулах Төхөөрөмжтэй холбоотой хэлмэрчдийн нь, төхөөрөмжийн хувьд хамааралгүй хэлбэрээр энгийн вектор талбайг үйлдвэрлэх үйлчилгээ үзүүлж байв. Орчин үеийн Unix систем нь ерөнхийдөө стандарт цонхот систем эхлэлтэй, олон дэмжлэг OpenGL гэж X11-г орно. • Харилцаа холбоо - эхээр Unix системүүд ямар ч систем хоорондох холбоог агуулсан, харин хоорондын хэрэглэгчийн харилцаа холбооны хөтөлбөр захидал бичиж, бичсэн байдаг. V7 эрт систем хоорондох харилцаа холбооны систем нь UUCP танилцуулсан бөгөөд BSD хувилбар 4.1c эхэлсэн систем TCP / IP хэрэгслүүдийг багтаасан. Бичиг баримттай - Unix машинаар уншигдах хэлбэрт онлайн түүний бичиг баримт бүх оруулах анхны үйлдлийн систем юм. Бичиг баримт нь: • хүмүүн –төрөл бүрийн тушаал, номын сангийн бүрэлдэхүүн хэсэг, системийн дуудлага, толгой файл гэх мэт гарын авлагын хуудаснуудаас • хаалттай - Ийм C хэл, troff зэрэг томоохон дэд системүүд, нарийвчлан урт баримт бичиг

Unix систем нь өөр үйлдлийн систем дээр их хэмжээний нөлөө үзүүлсэн. Энэ нь: • Шууд харилцан. • Боловсролын ашиглах нэрлэсэн төлбөр нь програм хангамжийг хангах. • хямд тоног төхөөрөмж дээр ажиллаж байгаа. • дасан зохицож, өөр өөр машинууд уруу шилжих хялбар байх.

Энэ нь өндөр түвшний хэл дээр биш, харин (эрт компьютер дээр тогтолцоог хэрэгжүүлэх шаардлагатай гэж бодож байсан) Ассемблер хэл дээр бичигдсэн байна. Энэ Multics болон Р. нь хар тугалга дараа ч энэ санааг дэлгэрүүлж гэж Unix байсан юм.

Энгийн байт массивт гэх мэт бүх төрлийн файлуудыг эмчлэх: Unix маш олон орчин үеийн үйлдлийн системүүдэд харьцуулахад эрс хялбаршуулсан файлын загвар байсан юм. Файлын систем нь нэгдсэн интерфэйсийг хангах, (тухайлбал, принтер, терминал, эсвэл диск хөтчүүдийн гэх мэт) машины үйлчилгээ, төхөөрөмжүүд багтсан ч, ийм байхгүй байсан тоног төхөөрөмжийн боломжуудад хандаж ioctl болон горимын туг шиг заримдаа шаардлагатай нэмэлт механизмыг зардлаар энгийн "урсгалын байт" загварыг тохирсон. Plan 9 үйлдлийн систем нь цаашид ч энэ загварыг түлхэж, нэмэлт механизм шаардаж бууруулсан.

Unix нь анх Multics танилцуулсан дур мэдэн багтсан дэд сангуудад бүхий шаталсан файлын системийг дэлгэрүүлсэн. Тухайн үеийн бусад нийтлэг үйлдлийн системүүд нь олон сангууд юм уу эсвэл хэсэг болгон хадгалах төхөөрөмж хуваах арга замыг байсан, гэвч тэд түвшин нь тогтмол тоо, ихэвчлэн нэг л түвшин юм. Хэд хэдэн томоохон хувийн үйлдлийн системүүд нь эцэстээ тухайн Multics маягаар рекурсив дэд сан чадвар нэмэгдсэн. DEC-ын RSX-11 сая-ийн "групп, хэрэглэгч" шатлал VMS сангуудын хөгжсөн, CP / M-ийн хэмжээ нь MS-DOS 2.0+ дэд сангууд хөгжсөн бөгөөд HP-ийн хамгийн их зөвшөөрөгдөх алдаа group.account шатлал болон IBM-ийн SSP болон OS / 400 номын сангийн систем нь өргөн POSIX файл руу атираат систем.

Бие даасан хөтөлбөр байдлаар нэмэлт тушаалаар тушаалын тайлбарлагч нь энгийн хэрэглэгчийн түвшний программ хийх, Unix-ээс дэлгэрүүлж өөр Multics шинэлэг зүйл байсан. Unix дүн интерактив скриптээр хийх зэрэг тушаалууд адил хэлийг ашигладаг (бүрхүүлийн орчны скриптэд - IBM-JCL шиг ямар ч тус тусад нь ажлын хяналт хэл байсан). Бүрхүүл болон OS тушаал "өөр нэг хөтөлбөр" байсан тул хэрэглэгч өөрийн бүрхүүл сонгох (эсвэл бичих) болох юм. Шинэ тушаалууд бүрхүүл нь өөрчлөх ямар ч нэмж болох юм. Үйлдвэрлэгч-хэрэглэгч үйл явц (хоолой) нь модуль сүлжээ бий болгох Unix-ийн шинэ санаачлага тушаалын мөрийн синтакс хүчирхэг програмчлалын парадигм (coroutines) өргөн боломжтой. Олон дараа нь тушаалын мөрийн хэлмэрч Unix бүрхүүлээс урамшуулсан юм. Зарим хүмүүст Linux, Unix, GNU энэ тэрийн тухай өөрийн мэддэгийг хуваалцъя гэж бодлоо. 1960 аад оны сүүлчээр Unix үйлдлийн системийг анхлан Кен Томпсон 1969 онд АТ&Т Bell лабораторид PDP-7 машин дээр бичжээ. Тэрээр хожим нь C программчлалын хэлний үндэс болсон B хэлийг зохиожээ. Улмаар 1970 онд Дэннис Ритчиегийн хамтаар АТ&Т Bell лабораторид PDP-11 дээр UNIX үйлдлийн системээ гаргажээ. Хожим нь Дэннис Ритчие C программийн хэл зохиосныг бид мэдэх билээ. Unix үйлдлийн систем нь анхлан компьютерийг програм зохиогчдод нэг зэрэг ашиглах нөхцөлийг бүрдүүлэх зорилгоор бүтээгджээ. Тухайн үедээ хэд хэдэн чухал чанарыг агуулж байжээ. Жишээ нь multitasking, multiuser capability гэх мэт. Unix-ийн үндсэн хялбаршуулах таамаглал бараг бүх файл төрлүүдээс шинэ мөр таслагдсан текст дээр нь анхаарч байсан юм. Тэнд Unix-ийн анхны хувилбар нь байхгүй харин зөвхөн "хоёртын" редактор байсан – Энэ нь бүхэл бүтэн системыг нийтлэг текстэн бичгийн хэв ашиглан тохируулж болно. I / O системийн нийтлэг танигч нь байт байсан юм - "рекорд тулгуурласан" файлын системүүд адилгүй юм. Бараг бүх илэрхийлэлдээ текст дээр анхаарсан ба Unix хоолой нь ялангуяа ихээхэн хэрэгцээтэй болсон мөн илүү төвөгтэй амархан түр зуурын ажлыг гүйцэтгэхэд түүнийг нэгтгэж болох энгийн, ерөнхий хэрэгсэл хөгжлийг дэмжинэ. UNIX-ын онцгой шинжүүд: UNIX-ийг эхнээс нь л шилдэгт тооцуулсан шинжүүд нь: • Multitasking – Мультитаскинг буюу олон бодлогот горимд ажиллах чадвар • Multiuser – буюу олон хэрэглэгчийн горимд хэрэглэх боломж • Portability- зөөгдөх буюу суурилагдах чадвар • UNIX-ийн програмууд • Library – буюу програм хангамжуудын сан. Unix-ийн үйлдлийн систем нь доорх хэсгээс тогтоно. 1. Kernel – бүх process, scheduling энэ тэрийг зохицуулна. Hardware энэ тэртэй шууд харицана. 2. Шэлл – хэрэглэгчээс мэдээлэл авч цааш дамжуулах, санах ойгоос програм ажиллуулах гэх мэтийг хийнэ. 3. Бусад tool буюу хэрэгслүүд – Үйлдлийн системд хэрэг болох хэрэгслүүд буюу бусад программууд Зарим хүмүүст Linux, Unix, GNU энэ тэрийн тухай өөрийн мэддэгийг хуваалцъя гэж бодлоо. 1960 аад оны сүүлчээр Unix үйлдлийн системийг анхлан Кен Томпсон 1969 онд АТ&Т Bell лабораторид PDP-7 машин дээр бичжээ. Тэрээр хожим нь C программчлалын хэлний үндэс болсон B хэлийг зохиожээ. Unix нь дотроо 2 төрлийн байх юм. Юугаар төрөлж ангилваа гэхээр boot хийх үедээ системийн хаанаас программуудаа унших вэ яаж унших вэ гэдгээр. Өөрөөр хэлбэл “init” хийх төрлөөр нь ангилдаг. Тэр хоёр төрөл нь: 1. SystemV 2. BSD (Berkeley Software Distribution) Берклигийн их сургуульд АТ&Т-ийн Unix-ийг 1970-аад онд суулгаснаар BSD Unix үүсэх эхлэл тавигдаж. System V төрөл нь init хийхдээ /etc/rc.d/init.d/ дотроос программуудаа (daemons бую services-ийн startup script-ууд) ачаалах ба энэ директор нь цааш хэд хэдэн ч директор руу симболик линк хийгдсэн байж болно. Single user уу multi user-уу энэ тэрээсээ хамаарч өөр өөр директориос даэмон-уудаа ачаална. Одоо байгаа системүүдээс Solaris, Redhat, Debian, Mandrake эд нар энэ төрлийг ашигладаг.