sistem posix. Hirarki file dalam sistem POSIX

sistem posix. Hirarki file dalam sistem POSIX

POSIX dan RT OS: upaya sistematisasi

Sergey Zolotarev, Nikolay Gorbunov

Tujuan artikel ini adalah upaya untuk memberikan kejelasan tentang sejarah perkembangan standar POSIX dalam kaitannya dengan sistem operasi waktu nyata (RTOS).

Sebagai pengantar: mengapa standarisasi antarmuka perangkat lunak diperlukan?

Salah satu sifat terpenting dari standar POSIX adalah ia mendefinisikan “antarmuka pemrograman standar” yang harus dipatuhi oleh pengembang sistem perangkat keras dan perangkat lunak yang kompleks. Pencipta sistem ini terpaksa menghadapi persyaratan seperti waktu pemasaran yang singkat (karena persaingan yang ketat), meminimalkan biaya dan mempercepat laba atas investasi. Pada saat yang sama, bagian terbesar dari biaya yang disebabkan oleh lambatnya proses pengembangan disebabkan oleh kenyataan bahwa pemrogram harus “menemukan kembali roda”, berulang kali mengimplementasikan fungsionalitas yang telah tersedia sejak lama. Namun hal ini sebenarnya bisa dihindari dengan:

  • menggunakan kembali kode dari proyek sebelumnya dan proyek paralel;
  • mentransfer kode dari sistem operasi lain;
  • menarik pengembang dari proyek lain (termasuk menggunakan sistem operasi lain).

Semua ini dimungkinkan berkat penggunaan OS dengan API standar. Selain itu, jika dalam kasus pertama organisasi cukup memiliki semacam standar internal (yang khususnya khas untuk sistem operasi berpemilik), maka dua kasus kedua memerlukan adanya standar yang diakui secara umum - misalnya, POSIX.

Jadi, dengan menggunakan OS yang kompatibel dengan POSIX sebagai platform untuk proyeknya, pengembang memiliki kesempatan untuk mentransfer kode yang sudah jadi di tingkat sumber baik dari proyek sebelumnya atau paralel, dan dari proyek pihak ketiga. Hal ini tidak hanya mengurangi waktu pengembangan perangkat lunak secara signifikan, namun juga meningkatkan kualitasnya, karena kode yang diuji selalu mengandung lebih sedikit kesalahan.

Siapa Siapa dalam Pengembangan POSIX

Dan kita tidak akan memulai dengan standar POSIX itu sendiri, namun dengan menyederhanakan peran organisasi yang terlibat dalam pengerjaannya.

Peserta pertama adalah IEEE(Institut Insinyur Listrik dan Elektronika), asosiasi profesional nirlaba publik. IEEE berdiri sejak tahun 1884 (secara resmi sejak tahun 1963), menyatukan 380.000 anggota individu dari 150 negara, menerbitkan sepertiga literatur teknis yang berkaitan dengan penerapan komputer, kontrol, kelistrikan dan teknologi informasi, serta lebih dari 100 jurnal, populer di kalangan profesional; Selain itu, asosiasi ini mengadakan lebih dari 300 konferensi besar setiap tahunnya. IEEE telah berpartisipasi dalam pengembangan lebih dari 900 standar saat ini (www.ieee.ru/ieee.htm). Saat ini lembaga ini terlibat dalam persiapan, koordinasi, persetujuan, dan publikasi standar, namun karena status formalnya, lembaga ini tidak memiliki kewenangan untuk mengadopsi dokumen seperti standar internasional atau nasional. Oleh karena itu, istilah “standar” dalam pengertian IEEE sebaiknya dipahami sebagai “spesifikasi”, yang lebih sesuai dengan status dokumen yang diterima oleh asosiasi. Sesuai dengan IEEE, berpartisipasi dalam program sejumlah organisasi internasional dan regional - IEC, ISO, ITU (International Telecommunication Union), ETSI (European Telecommunications Standards Institute), CENELEC (European Committee for Electrotechnical Standardization) dan dalam program nasional, misalnya dalam program organisasi seperti ANSI.

IEEE mencakup PASC (Portable Application Standards Committee), sebuah komite asosiasi yang mengembangkan keluarga standar POSIX (www.pasc.org/). PASC sebelumnya dikenal sebagai Komite Teknis Sistem Operasi.

Peserta kedua dalam pekerjaan - ANSI(American National Standards Institute) adalah organisasi nirlaba swasta yang mengelola dan mengoordinasikan kegiatan standardisasi di Amerika Serikat. Perusahaan ini hanya mempekerjakan 75 orang, namun anggota ANSI mencakup lebih dari 1.000 perusahaan, organisasi, lembaga dan lembaga pemerintah (www.ansi.org). ANSI mewakili Amerika Serikat di dua organisasi standar internasional utama, ISO dan IEC.

Peserta ketiga - ISO(Organisasi Internasional untuk Standardisasi, Organisasi Internasional untuk Standardisasi). Ini dibentuk pada tahun 1946 berdasarkan keputusan Komite Koordinasi Standar dan Majelis Umum PBB dan secara resmi mulai bekerja pada tanggal 23 Februari 1947 (www.iso.org). ISO merupakan jaringan lembaga standardisasi nasional dari 146 negara (satu negara – satu anggota ISO) dengan sekretariat pusat di Jenewa (Swiss). Standar ISO dikembangkan dalam komite teknis, yang hasil pertamanya adalah Draft International Standard (DIS), yang setelah beberapa kali mendapat persetujuan, berubah menjadi Final Draft International Standard (FDIS). Setelah itu, masalah persetujuan dokumen ini dilakukan pemungutan suara; jika hasilnya positif maka menjadi standar internasional.

Dan akhirnya - IEC(Komisi Elektroteknik Internasional, Komisi Elektroteknik Internasional - IEC), didirikan pada tahun 1906. IEC menyiapkan dan menerbitkan standar internasional untuk semua teknologi kelistrikan, elektronik, dan terkait (www.iec.ch/). Pada tanggal 1 November 2004, komite nasional dari 64 negara menjadi anggota aktif komisi ini. IEC juga mengeluarkan rekomendasi, yang diterbitkan dalam bahasa Inggris dan Perancis dan berstatus standar internasional. Atas dasar mereka, standar regional dan nasional dikembangkan. Untuk penyusunan standar di berbagai bidang Komite teknis (TC) bertanggung jawab atas kegiatan IEC, yang pekerjaannya juga diikuti oleh komite nasional yang tertarik dengan kegiatan TC tertentu.

IEC adalah organisasi kunci dalam penyusunan standar internasional untuk teknologi Informasi. Di bidang ini terdapat komite teknis gabungan teknologi informasi, JTC 1, yang dibentuk pada tahun 1987 sesuai dengan kesepakatan antara IEC dan ISO. JTC1 memiliki 17 subkomite yang mengawasi semua perkembangan - mulai dari perangkat lunak untuk bahasa pemrograman, grafik komputer dan pengeditan gambar, interkoneksi perangkat keras dan teknik keamanan.

Penyusunan standar IEC baru meliputi beberapa tahap (pendahuluan, proposal, persiapan, panitia teknis, permintaan, persetujuan, publikasi). Jika dokumen IEC dimaksudkan hanya menjadi spesifikasi teknis dan bukan standar internasional, versi revisi dokumen tersebut dikirimkan ke kantor pusat untuk publikasi. Empat bulan dialokasikan untuk pengembangan rancangan akhir standar internasional (FDIS). Jika disetujui oleh seluruh anggota panitia teknis, maka dikirim ke kantor pusat untuk dipublikasikan tanpa tahap persetujuan FDIS. FDIS kemudian diserahkan ke komite nasional, yang harus menyetujuinya dalam waktu dua bulan. FDIS dianggap disetujui jika lebih dari dua pertiga komite nasional memilihnya, dan jumlah suara negatif tidak melebihi 25%. Jika suatu dokumen tidak disetujui, dokumen tersebut dikirim ke komite teknis dan subkomite untuk ditinjau. Standar tersebut harus dipublikasikan selambat-lambatnya dua bulan setelah persetujuan FDIS.

Beberapa organisasi lain terlibat dalam pengembangan dan penerapan standar POSIX.

Grup Terbuka adalah organisasi standar perangkat lunak internasional yang menyatukan hampir 200 produsen dan komunitas pengguna yang bekerja di bidang teknologi informasi (www.opengroup.org/). Open Group didirikan pada tahun 1995 dengan menggabungkan dua pendahulunya: X/Open dan Open Software Foundation (OSF). Open Group berspesialisasi dalam pengembangan metodologi sertifikasi perangkat lunak dan pengujian kepatuhan terhadap persyaratan tertentu. Secara khusus, Grup Terbuka terlibat dalam sertifikasi untuk bidang-bidang seperti Platform COE, CORBA, LDAP, Basis Standar Linux, Kerangka Kerja Interoperabilitas Sekolah (SIF), Gerbang S/MIME, Spesifikasi UNIX Tunggal, Spesifikasi Protokol Aplikasi Nirkabel (WAP) dan, terakhir, rangkaian standar POSIX (www.opengroup.org/certification/).

Grup Revisi Standar Umum Austin (CSRG)– kelompok kerja teknis gabungan yang dibentuk pada tahun 2002 oleh ISO, IEC dan Open Group untuk membuat dan memelihara versi terbaru standar 1003.1, yang akan didasarkan pada ISO/IEC 9945-1-1996, ISO/IEC 9945-2-1993, IEEE Std 1003.1-1996, IEEE Std 1003.2-1992 dan Spesifikasi UNIX Tunggal (www.opengroup.org/press/ 14nov02.htm).

Institut Standar dan Teknologi Nasional (NIST) adalah badan federal dalam Administrasi Teknologi Departemen Perdagangan (www.nist.gov/public_affairs/general2.htm), yang didirikan di AS pada tahun 1901. Misi NIST adalah mengembangkan dan mempromosikan standar dan teknologi untuk meningkatkan kualitas produk. NIST mencakup Laboratorium Teknologi Informasi (ITL), salah satu hasilnya adalah Standar Pemrosesan Informasi Federal (FIPS, www.opengroup.org/testing/fips/general_info.html). NIST/ITL mengusulkan rangkaian pengujian awal untuk sertifikasi POSIX pada tahun 1991 berdasarkan FIPS PUB 151-1 1990.

Apa itu POSIX?

Secara formal istilah tersebut POSIX diusulkan oleh Richard Stallman sebagai singkatan dari P meja HAI melakukan S antarmuka sistem untuk un IX(antarmuka portabel sistem operasi untuk Unix). POSIX dikembangkan untuk sistem operasi mirip UNIX (versi pertamanya dimulai pada awal tahun 1970-an) dengan tujuan memastikan portabilitas aplikasi pada tingkat sumber.

Deskripsi awal antarmuka diterbitkan pada tahun 1986, kemudian disebut IEEE-IX (UNIX versi IEEE). Namun, namanya dengan cepat berubah menjadi POSIX, dan pada publikasi berikutnya (pada tahun 1986) versi baru ini adalah versi baru. digunakan Untuk beberapa waktu, POSIX dipahami sebagai referensi (atau sinonim) untuk kelompok dokumen terkait IEEE 1003.1-1988 dan bagian dari ISO/IEC 9945, dan sebagai standar internasional yang lengkap dan disetujui, ISO/IEC 9945.1:1990 POSIX adalah diadopsi pada tahun 1990. Spesifikasi POSIX menentukan mekanisme interaksi standar program aplikasi dan OS dan saat ini mencakup lebih dari 30 standar di bawah payung IEEE, ISO, IEC dan ANSI.

POSIX telah mengalami banyak kemajuan sepanjang sejarahnya, dengan banyak perubahan pada penetapan spesifikasi, konten spesifiknya, prosedur dan logistik untuk pengujiannya. Seiring berjalannya waktu, beberapa edisi standar POSIX telah dirilis di berbagai organisasi internasional.

Sejarah perkembangan standar POSIX

Versi pertama dari spesifikasi IEEE Std 1003.1 diterbitkan pada tahun 1988. Selanjutnya, banyak edisi IEEE Std 1003.1 telah diadopsi sebagai standar internasional.

Tahapan pengembangan POSIX:

1990

Edisi yang diterbitkan pada tahun 1988 ini direvisi dan menjadi dasar untuk edisi dan penambahan selanjutnya. Ini telah disetujui sebagai standar internasional oleh ISO/IEC 9945-1:1990.

1993

Revisi 1003.1b-1993 dirilis.

1996

IEEE Std 1003.1b-1993, IEEE Std 1003.1c-1995, dan 1003.1i-1995 telah diubah, namun isi dokumen tetap tidak berubah. IEEE Std 1003.1 edisi tahun 1996 juga diadopsi sebagai standar internasional oleh ISO/IEC 9945-1:1996.

1998

Standar pertama untuk "waktu nyata" muncul - IEEE Std 1003.13-1998. Ini merupakan perpanjangan dari standar POSIX untuk aplikasi real-time yang tertanam.

1999

Diputuskan untuk membuat perubahan signifikan pertama dalam 10 tahun terakhir pada teks utama standar, termasuk integrasi dengan standar 1003.2 (Shell dan utilitas), karena pada saat itu merupakan standar yang terpisah. PASC memutuskan untuk menyelesaikan perubahan teks dasar setelah standar IEEE 1003.1a, 1003.1d, 1003.1g, 1003.1j, 1003.1q, dan 1003.2b diselesaikan.

2004

Revisi terbaru standar 1003.1 hingga saat ini diterbitkan pada tanggal 30 April dan dirilis di bawah naungan Austin Common Standards Revision Group. Standar ini diubah dengan standar edisi 2001. Secara formal, edisi 2004 dikenal sebagai IEEE Std 1003.1, Edisi 2004, Spesifikasi Basis Standar Teknis Grup Terbuka, Edisi 6 dan mencakup IEEE Std 1003.1-2001, IEEE Std 1003.1-2001/ Kor 1-2002 dan IEEE Std 1003.1-2001/Kor 2-2004.

Standar POSIX paling penting untuk RT OS

Untuk sistem operasi real-time, tujuh spesifikasi standar adalah yang paling penting (1003.1a, 1003.1b, 1003.1c, 1003.1d, 1003.1j, 1003.21), namun hanya tiga yang mendapat dukungan luas dalam sistem operasi komersial:

  • 1003.1a (Definisi OS) mendefinisikan antarmuka OS utama, kontrol pekerjaan, sinyal, fungsi sistem file dan bekerja dengan perangkat, kelompok pengguna, saluran pipa, buffer FIFO;
  • 1003.1b (Ekstensi Waktu Nyata) menjelaskan ekstensi waktu nyata seperti sinyal waktu nyata, penjadwalan prioritas, pengatur waktu, sinkron dan I/O asinkron, semaphore, memori bersama, pesan. Awalnya (sampai 1993) standar ini diberi nama POSIX.4.
  • 1003.1c (Utas) mendefinisikan fungsi untuk mendukung utas (utas) - manajemen utas, atribut utas, mutex, pengiriman. Awalnya ditunjuk POSIX.4a.

Selain standar-standar ini, standar-standar berikut ini penting untuk RT OS, yang diterapkan sebagai bagian dari pekerjaan proyek Std 1003.1-2001:

  • IEEE 1003.1d-1999. Ekstensi waktu nyata tambahan. Awalnya ditetapkan sebagai POSIX.4b;
  • IEEE 1003.1j-2000. Ekstensi real-time yang ditingkatkan (lanjutan);
  • IEEE 1003.1q-2000. Jejak.

Prosedur sertifikasi

Untuk mematuhi standar POSIX, sistem operasi harus disertifikasi berdasarkan hasil rangkaian pengujian yang sesuai. Sejak diperkenalkannya POSIX, rangkaian pengujian telah mengalami perubahan formal dan faktual.

Pada tahun 1991, NIST mengembangkan program pengujian POSIX di bawah FIPS 151-1 (http://standards.ieee.org/regauth/posix/POSIX-A.FM5.pdf). Opsi pengujian ini didasarkan pada IEEE 1003.3 "Standar Metode Uji untuk Mengukur Kesesuaian dengan POSIX" Draft 10, 3 Mei 1989. Pada tahun 1993, NIST menyelesaikan Program Pengujian POSIX untuk FIPS 151-1 dan memulai program untuk FIPS 151 -2 (www.itl.nist.gov/fipspubs/fip151-2.htm). FIPS 151-2 mengadaptasi "Teknologi Informasi – Antarmuka Sistem Operasi Portabel (POSIX) – Bagian 1: Antarmuka Program Aplikasi Sistem (API)," yang merupakan standar ISO/IEC 9945-1:1990. Rangkaian pengujian untuk FIPS 151-2 didasarkan pada IEEE 2003.1-1992 "Standar Metode Uji untuk Mengukur Kesesuaian dengan POSIX".

NIST membedakan dua metodologi sertifikasi: sertifikasi mandiri dan sertifikasi oleh Laboratorium Pengujian POSIX Terakreditasi IEEE (APTL). Dalam kasus pertama, perusahaan melakukan pengujian secara independen, namun sesuai dengan rencana yang disetujui oleh NIST. Dalam kasus kedua, pengujian dilakukan oleh laboratorium independen menggunakan alat uji otomatis. Secara total, dua laboratorium APTL diakreditasi: Mindcraft (www.mindcraft.com) dan Perennial (www.peren.com).

Pada tahun 1997, NIST/ITL mengumumkan niatnya untuk menghentikan sertifikasi FIPS 151-2 pada akhir tahun tahun ini(resmi 31 Desember 1997), pada saat yang sama, Open Group mengumumkan akan mengambil alih layanan sertifikasi FIPS 151-2 berdasarkan program NIST/ITL mulai 1 Oktober tahun yang sama. Fungsi yang sama diambil alih oleh IEEE Standards Association (IEEE-SA) pada tanggal 1 Januari 1998, juga berdasarkan FIPS 151-2.

Pada tahun 2003, IEEE-SA dan Open Group mengumumkan dimulainya program bersama baru untuk mensertifikasi versi terbaru POSIX, dimulai dengan IEEE 1003.1™ 2001. Open Group sekarang memiliki beberapa rangkaian pengujian yang mencakup IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, IEEE Std 1003.1-2003 dan IEEE Std 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Suatu produk dianggap bersertifikat POSIX jika telah lulus prosedur sertifikasi penuh, memenuhi semua persyaratan berdasarkan hasil pengujian, dan termasuk dalam daftar resmi produk bersertifikat.

Rangkaian pengujian meliputi:

  • VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) – serangkaian uji kesesuaian untuk antarmuka sistem IEEE Std 1003.1-1990;
  • VSPSE54 (www.opengroup.org/testing/testsuites/VSPSE54.htm) – serangkaian uji kesesuaian untuk Profil IEEE Std 1003.13-1998 PSE54 (waktu nyata multiguna);
  • VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) – serangkaian uji kesesuaian untuk antarmuka sistem IEEE Std 1003.1-2003 (hanya bagian wajib);
  • VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscpcts2003.htm) – serangkaian uji kesesuaian untuk IEEE Std 1003.1-2003 (shell dan utilitas – hanya bagian wajib).

Selain itu, Open Group telah mengembangkan pengujian untuk standar POSIX Realtime dan profil standar POSIX Tertanam. Rangkaian pengujian POSIX Realtime (www.opengroup.org/testing/testsuites/realtime.html) mencakup pengujian berikut:

  • IEEE POSIX 1003.1b-1993/1003.1i-1995 Ekstensi realtime dan Edisi IEEE POSIX 1003.1,2003;
  • Ekstensi IEEE Std POSIX 1003.1c-1995 Threads (pthreads) dan Edisi IEEE POSIX 1003.1,2003;
  • IEEE POSIX 1003.1d-1999 Ekstensi Realtime Tambahan dan Edisi IEEE POSIX 1003.1,2003;
  • IEEE POSIX 1003.1j-2000 Advanced Realtime Extension dan IEEE POSIX 1003.1, Edisi 2003;
  • IEEE POSIX 1003.1q-2000 Trace dan IEEE POSIX 1003.1,2003 Edition dan IEEE POSIX 1003.1,2003 Edition;

Rangkaian pengujian profil standar POSIX Tertanam (www.opengroup.org/testing/testsuites/embedded.html) mencakup pengujian berikut:

  • IEEE POSIX 1003.1-1990 (5310 tes);
  • IEEE POSIX 1003.1b-1993/1003.1i-1995 Ekstensi waktu nyata (1430 tes);
  • Ekstensi IEEE Std POSIX 1003.1c-1995 Threads (pthreads) (1232 tes);
  • Profil IEEE POSIX 1003.13-1998 52.

Sedikit tentang kebingungan dalam terminologi

Sehubungan dengan kelompok standar POSIX di Bahasa inggris Bukan hanya satu, tapi tiga istilah yang sering digunakan. Sayangnya, keduanya memiliki arti yang serupa dan sering kali diterjemahkan dengan cara yang sama, sehingga menimbulkan kebingungan. Istilah-istilah tersebut adalah:

  • kompatibilitas (secara harfiah berarti “kompatibilitas”);
  • kepatuhan (harfiah “kepatuhan”);
  • kesesuaian (harfiah “konsistensi”).

Istilah pertama, sebagaimana diterapkan pada POSIX, tidak didefinisikan secara formal. Yang kedua berarti bahwa organisasi yang memproduksi produk perangkat lunak secara independen menyatakan bahwa produk ini (sepenuhnya atau sebagian) mematuhi standar NIST-PCTS yang tercantum. Istilah ketiga menyiratkan hal itu produk perangkat lunak telah lulus sistem pengujian yang ditetapkan baik dengan bantuan laboratorium terakreditasi atau dalam Grup Terbuka dan terdapat bukti dokumenter untuk hal ini (yang disebut Pernyataan Kesesuaian). Selanjutnya dalam teks artikel, istilah asli akan diberikan di mana-mana untuk menghilangkan ambiguitas.

OS RV bersertifikat

Jika kita mematuhi aturan ketat yang mengharuskan data pada RT OS bersertifikat dipublikasikan dalam register resmi dan pengujian dilakukan pada tingkat kesesuaian, maka saat ini hanya ada dua RT OS bersertifikat (data diberikan dalam urutan kronologis):

LynxOS v.3(produk Lynx Real-Time Systems, sekarang disebut LynuxWorks, Inc., www.lynuxworks.com) ditujukan untuk pengembangan perangkat lunak untuk sistem tertanam yang beroperasi secara hard real time oleh OEM dan produsen peralatan telekomunikasi, khususnya produsen peralatan udara sistem untuk aplikasi militer. Pengembangan dapat dilakukan baik pada sistem target itu sendiri (self-hosted) maupun pada komputer instrumental (host), perangkat lunak yang sudah jadi dirancang untuk bekerja pada sistem target (target). LynxOS v.3 disertifikasi untuk kesesuaian dengan standar POSIX pada platform Intel dan PowerPC. Informasi mengenai hal ini dapat ditemukan di situs web IEEE http://standards.ieee.org/regauth/posix/posix2.html. LynxOS disertifikasi ke POSIX 1003.1-1996 oleh Mindcraft, Laboratorium Pengujian POSIX Terakreditasi IEEE POSIX terhadap NIST FIPS 151-2 Conformance Test Suite. Nomor dokumen sertifikasi: File Referensi: IP-2LYX002, File Referensi: IP-2LYX001.

INTEGRITAS v.5(produk Perangkat Lunak Green Hills, www.ghs.com) disertifikasi kesesuaiannya dengan POSIX 1003.1-2003, Antarmuka Sistem untuk arsitektur PowerPC pada Juli 2004 (http://get.posixcertified.ieee.org/select_product.tpl) . Rangkaian pengujian VSX-PCTS 2003.

POSIX dan sistem operasi QNX

QNX v.4.20 (dikembangkan oleh QNX Software Systems, www.qnx.com) disertifikasi untuk mematuhi POSIX 1003.1-1988 untuk platform perusahaan Intel DataFocus Digabungkan. Pengujian dilakukan pada 13 September 1993, dan dokumen diterbitkan pada 1 November 1993. NIST PCTS 151-1 Test Suite, Versi 1.1.

QNX Neutrino (versi 6.3) mematuhi standar keluarga POSIX berikut (www.qnx.com/download/download/8660/portability.pdf):

  • POSIX.1 (IEEE 1003.1);
  • POSIX.1a (IEEE 1003.1a);
  • POSIX.2 (IEEE 1003.2);
  • POSIX.4 (IEEE 1003.1b);
  • POSIX.4a (IEEE 1003.1c);
  • POSIX.1b (IEEE 1003.1d), IEEE 1003.1j;
  • POSIX.12 (IEEE 1003.1g).

QNX Software Systems, pencipta QNX Neutrino, juga berencana untuk menyesuaikan QNX Neutrino dengan beberapa standar berikut; pekerjaan direncanakan untuk tahun 2005 (www.qnx.com/news/pr_959_1.html).

Literatur

  1. Manual Operasi Asosiasi Standar IEEE. IEEE, Oktober 2004.
  2. Kevin M.Obeland.
  3. POSIX dalam Real-Time, Pemrograman Sistem Tertanam, 2001.
  4. Standar IEEE/ANSI 1003.1: Teknologi Informasi - (POSIX) - Bagian1: Aplikasi Sistem: Antarmuka Program (API). Gallmeister, B.O. Pemrograman untuk Dunia Nyata, POSIX.4
  5. Sebastopol, CA: O'Reilly & Associates, 1995.
  6. Institut Standar dan Teknologi Nasional, PCTS:151-2, Rangkaian Tes POSIX. POSIX: Disertifikasi oleh IEEE dan The Open Group.

Kebijakan Bersertifikat. Grup Terbuka, 21 Oktober 2003, Revisi 1.1. Kursus ini mencakup standar untuk antarmuka seluler sistem operasi (POSIX), serta teknik dan metode pemrograman aplikasi berdasarkan, diilustrasikan dengan banyak contoh. Masalah pemrograman sistem multiproses dan interaksi aplikasi dalam konfigurasi terdistribusi telah diatasi. Memastikan mobilitas (portabilitas) perangkat lunak adalah tugas yang sangat penting dan rumit; di zaman kita, keadaan ini hampir tidak memerlukan pembenaran yang luas. Salah satu cara yang diterima secara umum untuk meningkatkan portabilitas perangkat lunak adalah dengan menstandarisasi lingkungan aplikasi: antarmuka perangkat lunak yang disediakan, utilitas, dll. Pada tingkat layanan sistem, lingkungan seperti itu dijelaskan oleh standar POSIX (Portable Operating System Interface - antarmuka sistem operasi seluler); Nama tersebut disarankan oleh spesialis terkenal, pendiri Free Software Foundation, Richard Stallman.

Kursus ini membahas versi paling modern, sebagaimana diubah pada tahun 2003, yang dapat disebut “standar rangkap tiga”, yaitu: standar IEEE Std 1003.1, Standar teknis Open Group dan yang terpenting bagi kami, standar internasional ISO/IEC 9945. Tujuan utama kursus ini adalah untuk memahami teknik dan metode penggunaan standar utilitas dan fungsi. Tujuannya bukan untuk menceritakan kembali standar, menyoroti semua seluk-beluk implementasi OS, semua kemungkinan kode kesalahan, dll. Hal utama, menurut kami, adalah merasakan semangat standar dan belajar menggunakan kemampuan yang melekat di dalamnya secara mobile. Dengan asumsi bahwa pembaca berbicara bahasa C, kami tidak mempertimbangkan sintaksis atau fungsi perpustakaan buku teksnya. Adapun bahasa perintah standar dan penerjemahnya, topik ini disajikan secara rinci, meskipun banyak pemrogram yang berlatih lebih suka menggunakan penerjemah lain. Tempat penting - baik dalam volume maupun peran - dikhususkan untuk contoh program. Banyak ketentuan standar (terkait, misalnya, dengan penanganan situasi kesalahan) tidak ditetapkan dalam teks utama, tetapi dalam contoh terkait, bila memungkinkan, dikompilasi dan dijalankan pada beberapa platform perangkat keras dan perangkat lunak yang, menjadi satu derajat atau lainnya, mengklaim mematuhi standar POSIX. Namun, kekeliruan tentu saja mungkin terjadi. Kami akan berterima kasih atas semua komentar dan saran terkait kursus secara keseluruhan dan contoh program individual.

Sejarah pembuatan dan status standar POSIX saat ini.

Memastikan mobilitas (portabilitas) perangkat lunak adalah tugas yang sangat penting dan rumit; di zaman kita, keadaan ini hampir tidak memerlukan pembenaran yang luas. Salah satu cara yang diterima secara umum untuk meningkatkan portabilitas perangkat lunak adalah dengan menstandarisasi lingkungan aplikasi: menyediakan antarmuka perangkat lunak, utilitas, dll. Pada tingkat layanan sistem, lingkungan seperti itu dijelaskan oleh standar POSIX (Portable Operating System Interface - antarmuka sistem operasi seluler); Nama tersebut diusulkan oleh spesialis terkenal, pendiri Free Software Foundation, Richard Stallman.

Halaman judul.
Data keluaran.
Kuliah 1. Konsep dasar dan ide standar POSIX.
Kuliah 2. Bahasa shell.
Kuliah 3. Utilitas dan fungsi yang melayani konsep "pengguna".
Kuliah 4. Organisasi sistem file.
Kuliah 5. Input/output file.
Kuliah 6. Alat untuk mengolah data terstruktur.
Kuliah 7. Proses.
Kuliah 8. Alat komunikasi antarproses.
Kuliah 9. Antarmuka terminal umum.
Kuliah 10. Survei karakteristik host dan penggunaannya dalam aplikasi.
Kuliah 11. Alat jaringan.
Kuliah 12. Waktu dan cara mengatasinya.
Kuliah 13. Lingkungan linguistik dan budaya.
Kuliah 14. Kesimpulan.
Referensi.


Unduhan gratis buku elektronik dalam format yang nyaman, tonton dan baca:
Unduh buku Pemrograman dalam standar POSIX, bagian 1, Galatenko V.A., 2016 - fileskachat.com, unduh cepat dan gratis.

STANDAR

Sergei Zolotarev,

Tujuan artikel ini adalah upaya untuk memberikan kejelasan tentang sejarah perkembangan standar POSIX dalam kaitannya dengan sistem operasi waktu nyata (RTOS).

Sebagai pengantar: mengapa standarisasi antarmuka perangkat lunak diperlukan?

Salah satu sifat terpenting dari standar POSIX adalah ia mendefinisikan “antarmuka pemrograman standar” yang harus dipatuhi oleh pengembang sistem perangkat keras dan perangkat lunak yang kompleks. Pencipta sistem ini terpaksa menghadapi persyaratan seperti waktu pemasaran yang singkat (karena persaingan yang ketat), meminimalkan biaya dan mempercepat laba atas investasi. Pada saat yang sama, bagian terbesar dari biaya yang disebabkan oleh lambatnya proses pengembangan disebabkan oleh kenyataan bahwa pemrogram harus “menemukan kembali roda”, berulang kali mengimplementasikan fungsionalitas yang telah tersedia sejak lama. Namun hal ini sebenarnya bisa dihindari dengan:

Menggunakan kembali kode dari proyek sebelumnya dan proyek paralel;

Mentransfer kode dari sistem operasi lain;

Menarik pengembang dari proyek lain (termasuk yang menggunakan sistem operasi lain).

Semua ini dimungkinkan berkat penggunaan OS dengan API standar. Selain itu, jika dalam kasus pertama organisasi cukup memiliki semacam standar internal (yang khususnya khas untuk sistem operasi berpemilik), maka dua kasus kedua memerlukan adanya standar yang diakui secara umum - misalnya, POSIX.

Jadi, dengan menggunakan OS yang kompatibel dengan POSIX sebagai platform untuk proyeknya, pengembang memiliki kesempatan untuk mentransfer kode yang sudah jadi di tingkat sumber baik dari proyek sebelumnya atau paralel, dan dari proyek pihak ketiga. Hal ini tidak hanya mengurangi waktu pengembangan perangkat lunak secara signifikan, namun juga meningkatkan kualitasnya, karena kode yang diuji selalu mengandung lebih sedikit kesalahan.

Siapa Siapa dalam Pengembangan POSIX

Dan kita tidak akan memulai dengan standar POSIX itu sendiri, namun dengan menyederhanakan peran organisasi yang terlibat dalam pengerjaannya.

Peserta pertama adalah IEEE(Institut Insinyur Listrik dan Elektronika), asosiasi profesional nirlaba publik. IEEE menelusuri sejarahnya kembali ke tahun 1884 (secara resmi sejak tahun 1963), menyatukan 380.000 anggota individu dari 150 negara, menerbitkan sepertiga literatur teknis yang berkaitan dengan penerapan komputer, kontrol, kelistrikan dan teknologi informasi, serta lebih dari 100 jurnal, populer di kalangan profesional; Selain itu, asosiasi ini mengadakan lebih dari 300 konferensi besar setiap tahunnya. IEEE telah berpartisipasi dalam pengembangan lebih dari 900 standar saat ini (www.ieee.ru/ieee.htm). Saat ini lembaga ini terlibat dalam persiapan, koordinasi, persetujuan, dan publikasi standar, namun karena status formalnya, lembaga ini tidak memiliki kewenangan untuk mengadopsi dokumen seperti standar internasional atau nasional. Oleh karena itu, istilah “standar” dalam pengertian IEEE lebih berarti “spesifikasi”, yang lebih sesuai dengan status dokumen yang diadopsi oleh asosiasi. Sesuai dengan IEEE, berpartisipasi dalam program sejumlah organisasi internasional dan regional - IEC, ISO, ITU (International Telecommunication Union), ETSI (European Telecommunications Standards Institute), CENELEC (European Committee for Electrotechnical Standardization) dan dalam program nasional, misalnya dalam program organisasi seperti ANSI.

IEEE mencakup PASC (Portable Application Standards Committee; www.pasc.org/), sebuah komite asosiasi yang mengembangkan rangkaian standar POSIX. PASC sebelumnya dikenal sebagai Komite Teknis Sistem Operasi.

Peserta kedua dalam pekerjaan ini adalah ANSI (American National Standards Institute, American National Standards Institute; www.ansi.org) - sebuah organisasi nirlaba swasta yang mengelola dan mengoordinasikan kegiatan standardisasi di Amerika Serikat. Ini hanya mempekerjakan 75 orang, tetapi anggota ANSI mencakup lebih dari 1.000 perusahaan, organisasi, lembaga dan lembaga pemerintah. ANSI mewakili Amerika Serikat di dua organisasi standar internasional utama, ISO dan IEC.

Peserta ketiga - ISO(Organisasi Internasional untuk Standardisasi, Organisasi Internasional untuk Standardisasi; www.iso.org). Didirikan pada tahun 1946 berdasarkan keputusan Komite Koordinasi Standar dan Majelis Umum PBB dan secara resmi mulai bekerja pada tanggal 23 Februari 1947. ISO adalah jaringan lembaga standardisasi nasional dari 146 negara (satu negara - satu anggota ISO) dengan sekretariat pusat di Jenewa (Swiss). Standar ISO dikembangkan dalam komite teknis, yang hasil pertamanya adalah Draft International Standard (DIS), yang setelah beberapa kali mendapat persetujuan, berubah menjadi Final Draft International Standard (FDIS). Setelah itu, masalah persetujuan dokumen ini dilakukan pemungutan suara; jika hasilnya positif maka menjadi standar internasional.

Dan akhirnya - IEC(Komisi Elektroteknik Internasional, Komisi Elektroteknik Internasional - IEC; www.iec.ch/), didirikan pada tahun 1906, IEC mempersiapkan dan menerbitkan standar internasional untuk semua teknologi kelistrikan, elektronik, dan terkait. Pada tanggal 1 November 2004, komite nasional dari 64 negara menjadi anggota aktif komisi ini. IEC juga mengeluarkan rekomendasi yang diterbitkan dalam bahasa Inggris dan Perancis dan berstatus standar internasional. Atas dasar mereka, standar regional dan nasional dikembangkan. Komite teknis (TC) bertanggung jawab atas persiapan standar di berbagai bidang kegiatan IEC, yang pekerjaannya juga diikuti oleh komite nasional yang tertarik dengan kegiatan TC tertentu.

IEC- organisasi kunci dalam penyusunan standar internasional untuk teknologi informasi. Di bidang ini terdapat komite teknis gabungan teknologi informasi, JTC 1, yang dibentuk pada tahun 1987 sesuai dengan kesepakatan antara IEC dan ISO. JTC1 memiliki 17 subkomite yang mengawasi segala hal mulai dari perangkat lunak hingga bahasa pemrograman, grafis komputer dan pengeditan gambar, interkoneksi perangkat keras, dan teknik keamanan.

Penyusunan standar IEC baru meliputi beberapa tahap (pendahuluan, proposal, persiapan, panitia teknis, permintaan, persetujuan, publikasi). Jika dokumen IEC dimaksudkan hanya menjadi spesifikasi teknis dan bukan standar internasional, versi revisi dokumen tersebut dikirim ke kantor pusat untuk dipublikasikan. Empat bulan dialokasikan untuk pengembangan rancangan akhir standar internasional (FDIS). Jika disetujui oleh seluruh anggota panitia teknis, maka dikirim ke kantor pusat untuk dipublikasikan tanpa tahap persetujuan FDIS. FDIS kemudian diserahkan kepada komite nasional, yang harus menyetujuinya dalam waktu dua bulan. FDIS dianggap disetujui jika lebih dari dua pertiga komite nasional memilihnya, dan jumlah suara negatif tidak melebihi 25%. Jika suatu dokumen tidak disetujui, dokumen tersebut dikirim ke komite teknis dan subkomite untuk ditinjau. Standar tersebut harus dipublikasikan selambat-lambatnya dua bulan setelah persetujuan FDIS.

Beberapa organisasi lain terlibat dalam pengembangan dan penerapan standar POSIX.

Grup Terbuka adalah organisasi standar perangkat lunak internasional yang menyatukan hampir 200 vendor dan komunitas pengguna yang bekerja di bidang teknologi informasi (www.opengroup.org/). OpenGroup didirikan pada tahun 1995 dengan menggabungkan dua pendahulunya: X/Open dan Open Software Foundation (OSF). Open Group berspesialisasi dalam pengembangan metodologi sertifikasi perangkat lunak dan pengujian kepatuhan terhadap persyaratan tertentu. Secara khusus, Grup Terbuka terlibat dalam sertifikasi untuk bidang-bidang seperti Platform COE, CORBA, LDAP, Basis Standar Linux, Kerangka Kerja Interoperabilitas Sekolah (SIF), Gerbang S/MIME, Spesifikasi UNIX Tunggal, Spesifikasi Protokol Aplikasi Nirkabel (WAP) dan, terakhir, rangkaian standar POSIX (www.opengroup.org/certification/).

AustinCommonStandardsRevisionGroup (CSRG)- kelompok kerja teknis gabungan yang dibentuk pada tahun 2002 oleh ISO, IEC dan Open Group untuk membuat dan memelihara versi terbaru standar 1003.1, yang akan dibentuk berdasarkan ISO/IEC 9945-1-1996, ISO/IEC 9945- 2-1993, IEEE Std 1003.1-1996, IEEE Std 1003.2-1992 dan Spesifikasi UNIX Tunggal (www.opengroup.org/press/14nov02.htm).

Institut Standar dan Teknologi Nasional (NIST) adalah badan federal dalam Administrasi Teknologi Departemen Perdagangan (www.nist.gov/public_affairs/general2.htm), yang didirikan di AS pada tahun 1901. Misi NIST adalah mengembangkan dan mempromosikan standar dan teknologi untuk meningkatkan kualitas produk. NIST mencakup laboratorium teknologi informasi (Laboratorium Teknologi Informasi - ITL), salah satu hasilnya adalah Standar Pemrosesan Informasi Federal (FIPS, www.opengroup.org/testing/fips/general_info.html). NIST/ITL mengusulkan serangkaian pengujian awal untuk sertifikasi POSIX pada tahun 1991 di bawah FIPS PUB 151- 1 tahun 1990.

Apa itu POSIX?

Secara formal istilah tersebut POSIX diusulkan oleh Richard Stallman sebagai singkatan dari P meja HAI melakukan S antarmuka sistem untuk un IX(antarmuka sistem operasi portabel untuk Unix). POSIX dikembangkan untuk sistem operasi mirip UNIX (versi pertamanya dimulai pada awal tahun 1970-an) dengan tujuan memastikan portabilitas aplikasi pada tingkat sumber.

Deskripsi awal antarmuka diterbitkan pada tahun 1986, kemudian disebut IEEE-IX (UNIX versi IEEE). Namun, namanya dengan cepat berubah menjadi POSIX, dan publikasi berikutnya (pada tahun 1986) menggunakan varian baru ini. Untuk beberapa waktu, POSIX dipahami sebagai referensi (atau sinonim) untuk kelompok dokumen terkait IEEE 1003.1-1988 dan bagian dari ISO/IEC 9945, dan sebagai standar internasional yang lengkap dan disetujui, ISO/IEC 9945.1:1990 POSIX diadopsi pada tahun 1990. Spesifikasi POSIX mendefinisikan mekanisme standar untuk interaksi antara program aplikasi dan OS dan saat ini mencakup lebih dari 30 standar di bawah naungan IEEE, ISO, IEC dan ANSI.

POSIX telah mengalami banyak kemajuan sepanjang sejarahnya, dengan banyak perubahan pada penetapan spesifikasi, konten spesifiknya, prosedur dan logistik untuk pengujiannya. Seiring berjalannya waktu, beberapa edisi standar POSIX telah dirilis di berbagai organisasi internasional.

Sejarah perkembangan standar POSIX

Versi pertama dari spesifikasi IEEE Std 1003.1 diterbitkan pada tahun 1988. Selanjutnya, banyak edisi IEEE Std 1003.1 telah diadopsi sebagai standar internasional. Tahapan pengembangan POSIX:

- 1990 Edisi yang dikeluarkan pada tahun 1988 ini direvisi dan menjadi dasar untuk edisi dan penambahan selanjutnya. Telah disetujui sebagai standar internasional oleh ISO/IEC 9945-1:1990.

- 1993 Revisi 1003.1b-1993 dirilis.

- 1996 IEEE Std 1003.1b-1993, IEEE Std 1003.1c-1995, dan 1003.1i-1995 telah diubah, namun isi dokumen tetap tidak berubah. IEEE Std 1003.1 edisi tahun 1996 juga diadopsi sebagai standar internasional oleh ISO/IEC 9945-1:1996.

- 1998 Standar pertama untuk "waktu nyata" muncul - IEEE Std 1003.13-1998. Ini merupakan perpanjangan dari standar POSIX untuk aplikasi real-time yang tertanam.

- 1999 Diputuskan untuk membuat perubahan signifikan pertama dalam 10 tahun terakhir pada teks utama standar, termasuk penggabungan dengan standar 1003.2 (Shell dan utilitas), karena pada saat itu keduanya merupakan standar yang terpisah. PASC memutuskan untuk menyelesaikan perubahan teks dasar setelah standar IEEE 1003.1a, 1003.1d, 1003.1g, 1003.1j, 1003.1q, dan 1003.2b diselesaikan.

- 2004 Revisi terbaru standar 1003.1 hingga saat ini diterbitkan pada tanggal 30 April dan dirilis di bawah naungan Austin Common Standards Revision Group. Standar ini diubah dengan standar edisi 2001. Secara formal, edisi 2004 dikenal sebagai IEEE Std 1003.1, Edisi 2004, Spesifikasi Basis Standar Teknis Grup Terbuka, Edisi 6 dan mencakup IEEE Std 1003.1-2001, IEEE Std 1003.1-2001/ Kor 1-2002 dan IEEE Std 1003.1-2001/Kor 2-2004.

Standar POSIX paling penting untuk RT OS

Untuk sistem operasi real-time, tujuh spesifikasi standar adalah yang paling penting, namun hanya tiga yang mendapat dukungan luas dalam sistem operasi komersial:

1003.1a (Definisi OS) mendefinisikan antarmuka OS utama, kontrol pekerjaan, sinyal, sistem file dan fungsi perangkat, grup pengguna, saluran pipa, buffer FIFO;

1003.1b (Ekstensi Waktu Nyata) menjelaskan ekstensi waktu nyata seperti sinyal waktu nyata, penjadwalan prioritas, pengatur waktu, I/O sinkron dan asinkron, semafor, memori bersama, pesan. Standar ini awalnya (sampai 1993) disebut POSIX.4;

1003.1c (Threads) mendefinisikan fungsi dukungan untuk thread (utas) - manajemen thread, atribut thread, mutex, pengiriman. Awalnya ditunjuk sebagai POSIX.4a.

Selain standar-standar ini, standar-standar berikut ini penting untuk RT OS, yang diterapkan sebagai bagian dari pekerjaan proyek Std 1003.1-2001:

IEEE 1003.1d-1999. Ekstensi waktu nyata tambahan. Awalnya ditetapkan sebagai POSIX.4b;

IEEE 1003.1j-2000. Ekstensi real-time yang ditingkatkan (lanjutan);

IEEE 1003.1q-2000. Jejak.

Prosedur sertifikasi

Untuk mematuhi standar POSIX, sistem operasi harus disertifikasi berdasarkan hasil rangkaian pengujian yang sesuai. Sejak diperkenalkannya POSIX, rangkaian pengujian telah mengalami perubahan formal dan faktual.

Pada tahun 1991, NIST mengembangkan program pengujian POSIX sebagai bagian dari FIPS 151-1 (http://standards.ieee.org/regauth/posix/POSIX-A.FM5.pdf). Opsi pengujian ini didasarkan pada IEEE 1003.3 "Standar Metode Uji untuk Mengukur Kesesuaian dengan POSIX" Draft 10, 3 Mei 1989. Pada tahun 1993, NIST menyelesaikan Program Pengujian POSIX untuk FIPS 151-1 dan memulai program untuk FIPS 151 -2 (www.itl.nist.gov/fipspubs/fip151-2.htm).FIPS 151-2 mengadaptasi "Teknologi Informasi - Antarmuka Sistem Operasi Portabel (POSIX) - Bagian 1: Antarmuka Program Aplikasi Sistem (API)," yang ISO/ Standar IEC 9945-1:1990. Rangkaian pengujian untuk FIPS 151-2 didasarkan pada IEEE 2003.1-1992 "Standar Metode Uji untuk Mengukur Kesesuaian dengan POSIX".

NIST membedakan dua metodologi sertifikasi: sertifikasi mandiri dan sertifikasi oleh Laboratorium Pengujian POSIX Terakreditasi IEEE (APTL). Dalam kasus pertama, perusahaan melakukan pengujian secara independen, namun sesuai dengan rencana yang disetujui oleh NIST. Dalam kasus kedua, pengujian dilakukan oleh laboratorium independen menggunakan alat uji otomatis. Secara total, dua laboratorium APTL diakreditasi: Mindcraft (www.mindcraft.com) dan Perennial (www.peren.com).

Pada tahun 1997, NIST/ITL mengumumkan niatnya untuk menghentikan sertifikasi FIPS 151-2 pada akhir tahun berjalan (resmi pada tanggal 31 Desember 1997), sedangkan Open Group mengumumkan bahwa mereka bermaksud untuk mengambil alih sertifikasi tersebut pada tanggal 1 Oktober 1997. . pada tahun yang sama, layanan sertifikasi sesuai dengan FIPS 151-2, berdasarkan program NIST/ITL. Fungsi yang sama diambil alih oleh IEEE Standards Association (IEEE-SA) pada tanggal 1 Januari 1998, juga berdasarkan FIPS 151-2.

Pada tahun 2003, IEEE-SA dan Open Group mengumumkan dimulainya program bersama baru untuk mensertifikasi versi terbaru POSIX, dimulai dengan IEEE 1003.1(tm) 2001. Open Group sekarang memiliki beberapa rangkaian pengujian yang mencakup IEEE Std 1003.1-1996 , IEEE Std 1003 .

2-1992, IEEE Std 1003.1-2003 dan IEEE Std 1003.13-1998 (www.opengroup.org/testing/testsuites/posix.html). Suatu produk dianggap bersertifikat POSIX jika telah lulus prosedur sertifikasi penuh, memenuhi semua persyaratan berdasarkan hasil pengujian, dan termasuk dalam daftar resmi produk bersertifikat.

Rangkaian pengujian meliputi:

VSX-PCTS1990 (www.opengroup.org/testing/testsuites/vsxpcts1990.htm) - serangkaian uji kesesuaian untuk antarmuka sistem IEEE Std 1003.1-1990;

VSPSE54 (www.opengroup.org/testing/testsuites/VSPSE54.htm) - serangkaian uji kesesuaian untuk Profil IEEE Std 1003.13-1998 PSE54 (waktu nyata multiguna);

VSX-PCTS2003 (www.opengroup.org/testing/testsuites/vsxpcts2003.htm) - serangkaian uji kesesuaian untuk antarmuka sistem IEEE Std 1003.1-2003 (hanya bagian wajib);

VSC-PCTS2003 (www.opengroup.org/testing/testsuites/vscpcts2003.htm) - serangkaian uji kesesuaian untuk IEEE Std 1003.1-2003 (shell dan utilitas - hanya bagian wajib).

Selain itu, Open Group telah mengembangkan pengujian untuk standar POSIX Realtime dan profil standar POSIX Tertanam. Rangkaian pengujian POSIX Realtime (www.opengroup.org/testing/testsuites/realtime.html) mencakup pengujian berikut:

IEEE POSIX 1003.1b-1993/1003.1i-1995 Ekstensi realtime dan Edisi IEEE POSIX 1003.1,2003;

Ekstensi IEEE Std POSIX 1003.1c-1995 Threads (pthreads) dan Edisi IEEE POSIX 1003.1,2003;

IEEE POSIX 1003.1d-1999 Ekstensi Realtime Tambahan dan Edisi IEEE POSIX 1003.1,2003;

IEEE POSIX 1003.1j-2000 Advanced Realtime Extension dan IEEE POSIX 1003.1, Edisi 2003;

IEEE POSIX 1003.1q-2000 Trace dan IEEE POSIX 1003.1,2003 Edition dan IEEE POSIX 1003.1,2003 Edition;

Rangkaian pengujian profil standar POSIX Tertanam (www.opengroup.org/testing/testsuites/embedded.html) mencakup pengujian berikut:

IEEE POSIX 1003.1-1990 (5310 tes);

IEEE POSIX 1003.1b-1993/1003.1i-1995 Ekstensi waktu nyata (1430 tes);

Ekstensi IEEE Std POSIX 1003.1c-1995 Threads (pthreads) (1232 tes);

Profil IEEE POSIX 1003.13-1998 52.

Sedikit tentang kebingungan dalam terminologi

Sehubungan dengan kelompok standar POSIX, bukan hanya satu, tetapi tiga istilah yang sering digunakan dalam bahasa Inggris. Sayangnya, keduanya memiliki arti yang serupa dan sering kali diterjemahkan dengan cara yang sama, sehingga menimbulkan kebingungan. Istilah-istilah tersebut adalah:

Kompatibilitas (secara harfiah - “kompatibilitas”);

Kepatuhan (secara harfiah - “kepatuhan”);

Kesesuaian (harfiah “konsistensi”).

Istilah pertama, sebagaimana diterapkan pada POSIX, tidak didefinisikan secara formal. Yang kedua berarti bahwa organisasi yang memproduksi produk perangkat lunak secara independen menyatakan bahwa produk ini (sepenuhnya atau sebagian) mematuhi standar NIST-PCTS yang tercantum. Istilah ketiga menyiratkan bahwa produk perangkat lunak telah lulus sistem pengujian yang ditetapkan baik dengan bantuan laboratorium terakreditasi atau dalam Grup Terbuka dan terdapat bukti dokumenter tentang hal ini (yang disebut Pernyataan Kesesuaian). Selanjutnya dalam teks artikel, istilah asli akan diberikan di mana-mana untuk menghilangkan ambiguitas.

OS RV bersertifikat

Jika Anda mematuhi aturan ketat yang mengharuskan data pada OS RT bersertifikat dipublikasikan di registri resmi dan pengujian dilakukan sesuai dengan levelnya kesesuaian, maka saat ini hanya ada dua RT OS yang bersertifikat (data diberikan dalam urutan kronologis):

- LynxOS v.3(produk Lynx Real-Time Systems, sekarang disebut LynuxWorks, Inc., www.lynuxworks.com) ditujukan untuk pengembangan perangkat lunak sistem tertanam real-time oleh OEM dan produsen peralatan telekomunikasi, khususnya produsen sistem lintas udara militer. Pengembangan dapat dilakukan baik pada sistem target itu sendiri (self-hosted) maupun pada komputer instrumental (host), perangkat lunak yang sudah jadi dirancang untuk bekerja pada sistem target (target). LynxOS v.3 disertifikasi untuk konsistensi (kesesuaian) Standar POSIX pada platform Intel dan PowerPC. Informasi mengenai hal ini dapat ditemukan di situs web IEEE http://standards.ieee.org/regauth/posix/posix2.html. LynxOS disertifikasi POSIX 1003.1-1996 oleh Mindcraft, Laboratorium Pengujian POSIX Terakreditasi IEEE POSIX untuk NIST FIPS 151- ruang uji. 2 Rangkaian Uji Kesesuaian. Nomor dokumen sertifikasi: File Referensi: IP-2LYX002, File Referensi: IP-2LYX001.

- INTEGRITAS v.5(produk Green Hills Software, www.ghs.com) bersertifikat konsistensi (kesesuaian) ke POSIX 1003.1-2003, Antarmuka Sistem untuk Arsitektur PowerPC pada bulan Juli 2004 (http://get.posixcertified.ieee.org/select_product.tpl). Rangkaian pengujian VSX-PCTS 2003.

POSIX dan sistem operasi QNX

QNX v.4.20(dikembangkan oleh QNX Software Systems, www.qnx.com) bersertifikat kepatuhan (kepatuhan) menurut POSIX 1003.1-1988 untuk platform Intel oleh DataFocus Incorporated. Pengujian dilakukan pada 13 September 1993, dan dokumen diterbitkan pada 1 November 1993. NIST PCTS 151-1 Test Suite, Versi 1.1.

QNX Neutrino (versi 6.3) mematuhi standar keluarga POSIX berikut (www.qnx.com/download/download/8660/portability.pdf):

POSIX.1 (IEEE 1003.1);

POSIX.1a (IEEE 1003.1a);

POSIX.2 (IEEE 1003.2);

POSIX.4 (IEEE 1003.1b);

POSIX.4a (IEEE 1003.1c);

POSIX.1b (IEEE 1003.1d), IEEE 1003.1j;

POSIX.12 (IEEE 1003.1g).

QNX Software Systems, pencipta QNX Neutrino, juga berencana untuk menyesuaikan QNX Neutrino dengan beberapa standar berikut; pekerjaan direncanakan untuk tahun 2005 (www.qnx.com/news/pr_959_1.html).

Literatur

1. Panduan Pengoperasian Asosiasi Standar IEEE. IEEE, Oktober 2004.

2. Kevin M.Obeland. POSIX dalam Real-Time, Pemrograman Sistem Tertanam, 2001.

3. Standar IEEE/ANSI 1003.1: Teknologi Informasi - (POSIX) - Part1: Aplikasi Sistem: Antarmuka Program (API).

4. Gallmeister B.O. Pemrograman untuk Dunia Nyata, POSIX.4 Sebastopol, CA: O'Reilly & Associates, 1995.

5. Institut Standar dan Teknologi Nasional, PCTS:151-2, POSIX Test Suite.

6. POSIX: Disertifikasi oleh IEEE dan The Open Group. Kebijakan Bersertifikat. Grup Terbuka, 21 Oktober 2003, Revisi 1.1.

Nama Posix berasal dari "Portable Operating System Interface", yang secara kasar berarti "antarmuka sistem operasi portabel". Ini bukan satu standar, tetapi keseluruhan standar yang dikembangkan oleh Institute for Electrical and Electronics Engineers (IEEE). Standar Posix juga telah diadopsi sebagai standar internasional oleh ISO (Organisasi Internasional untuk Standardisasi) dan IEC (International Electrotechnical Commission, atau ISO/IEC). Standar Posix telah melalui beberapa tahap pengembangan.

Standar IEEE 1003.1-1988 (317 halaman) adalah standar Posix pertama. Ini mendefinisikan antarmuka antara bahasa C dan kernel tipe Unix di area berikut: primitif untuk mengimplementasikan proses (fork, panggilan exec, sinyal dan timer), lingkungan proses (ID pengguna, grup proses), file dan direktori (semuanya Fungsi I/O), bekerja dengan terminal, database sistem (kata sandi dan file grup), format arsip tar dan cpio.

CATATAN

Standar Posix pertama dirilis dalam bentuk kerja dengan nama IEEEIX pada tahun 1986. Nama Posix disarankan oleh Richard Stallman.

Kemudian keluar standar IEEE 1003.1-1990 (356 halaman). Itu juga merupakan standar internasional ISO/IEC 9945-1:1990. Dibandingkan dengan versi 1988, perubahan pada versi 1990 sangat minim. Judulnya ditambahkan: "Bagian 1: Antarmuka Program Aplikasi Sistem (API)" ("Bagian 1: Antarmuka Program Aplikasi Sistem (API) [Bahasa C]"), yang berarti bahwa standar tersebut menggambarkan antarmuka program (API) dari bahasa C.

IEEE 1003.2-1992 diterbitkan dalam dua volume dengan total sekitar 1300 halaman, dan judulnya berisi baris “Bagian 2: Shell dan Utilitas.” Bagian ini mendefinisikan interpreter (berdasarkan shell Bourne di Unix System V) dan sekitar seratus utilitas (program biasanya dipanggil dari interpreter - dari awk dan nama dasar hingga vi dan uass). Dalam buku ini kita akan mengacu pada standar ini dengan nama Posix. 2.

IEEE 1003.1b-1993 (590 halaman) awalnya dikenal sebagai IEEE P1003.4. Standar ini merupakan tambahan pada standar 1003.1-1990 dan mencakup ekstensi waktu nyata yang dikembangkan oleh kelompok kerja P1003.4: sinkronisasi file, I/O asinkron, semafor, manajemen memori, penjadwalan, jam, pengatur waktu, dan antrian pesan.

IEEE 1003.1, edisi 1996 (743 halaman), termasuk 1003.1-1990 (Base API), 1003.1b-1993 (Real-Time Extensions), 1003.1-1995 (Pthreads - Posix Program Threads), dan 1003.1i-1995 (Perubahan Teknis pada 1003.1b). Standar ini juga disebut ISO/IEC 9945-1: 1996. Standar ini menambahkan tiga bab tentang thread dan bagian tambahan tentang sinkronisasi thread (variabel mutual dan kondisi), penjadwalan thread, penjadwalan sinkronisasi. Dalam buku ini kami menyebutnya standar Posix.1.

CATATAN

Lebih dari seperempat dari 743 halaman standar tersebut merupakan lampiran berjudul "Dasar Pemikiran dan Catatan". Dasar pemikiran ini memberikan informasi historis dan penjelasan tentang alasan mengapa fitur tertentu dimasukkan atau tidak dimasukkan dalam standar. Seringkali dasar pemikirannya tidak kalah bermanfaatnya dengan standar itu sendiri.

Sayangnya, standar IEEE tidak tersedia secara bebas melalui Internet. Informasi di mana Anda dapat memesan buku tersebut diberikan dalam daftar pustaka di bawah link. Perhatikan bahwa semafor didefinisikan dalam standar Ekstensi Real-Time, terpisah dari mutex dan variabel kondisi (yang didefinisikan dalam standar Pthreads), yang menjelaskan beberapa perbedaan dalam API alat ini.

Terakhir, perhatikan bahwa kunci baca-tulis bukan bagian dari standar Posix. Hal ini dibahas lebih rinci di Bab 8.

Ada rencana untuk dirilis di masa depan versi baru IEEE 1003.1, yang mencakup standar P1003.1g, antarmuka jaringan (soket dan XTI), yang dijelaskan dalam volume pertama buku ini.

Kata Pengantar standar Posix.1 tahun 1996 menyatakan bahwa ISO/IEC 9945 terdiri dari bagian-bagian berikut:

1. Antarmuka pengembangan program sistem (API) (bahasa C).

2. Juru Bahasa dan Utilitas.

3. Sistem administrasi (dalam pengembangan).

Bagian 1 dan 2 inilah yang kami sebut Posix.1 dan Posix.2.

Pengerjaan standar Posix sedang berlangsung, dan penulis buku yang terkait dengan standar tersebut harus berurusan dengan penembakan pada sasaran yang bergerak. Status standar terkini dapat ditemukan di http://www.pasc.org/standing/sd11.html.

- (IPAEng|ˈpɒzɪks) atau Antarmuka Sistem Operasi Portabel mengutip web | judul = POSIX | url = http://standards.ieee.org/regauth/posix/ | pekerjaan = Standar | penerbit = IEEE] adalah nama kolektif dari keluarga standar terkait yang ditentukan oleh IEEE ... Wikipedia

POSIX- ini adalah nama keluarga standar yang ditentukan depuis 1988 oleh Institute of Electrical and Electronics Engineers dan formulir yang dirancang IEEE 1003. Standar ini muncul dalam proyek standardisasi API logika yang ditakdirkan untuk… … Wikipédia en Français

posix- ini adalah nama keluarga standar definie depuis 1988 par l IEEE et formellement désignée IEEE 1003. Standar ini muncul dalam proyek standardisasi API logika yang dirancang untuk berfungsi pada varian sistem… … Wikipédia en Français

POSIX- adalah akronim dari Antarmuka Sistem Operasi Portabel; X viene de UNIX sama seperti identitas API. Terminal ini dikontrol oleh Richard Stallman sebagai respons atas permintaan IEEE, yang menghasilkan sejumlah rekaman yang mudah. Sebuah perdagangan… Wikipedia bahasa Spanyol

POSIX- , 1986 dalam Standar 1003.1 dari IEEE yang tidak terdaftar Spesifikasinya untuk Zugriffe dan Fungsi Sistem di Unix. Sowohl Unix Sy…Universal-Lexikon

POSIX- status standar dari T sritis informatika apibrėžtis Standartų grupė, apibrėžianti operacinės sistemos sąsajas tarp joje veikiančių programų bei tarnybų. Pirmuosius standart sukūrė Elektros ir elektronikos inžinierių institutas (IEEE) Linux… … Enciklopedinis kompiuterijos žodynas

POSIX- adalah singkatan dari Portable Operating System Interface, yang mewakili X de UNIX dengan arti penting dari API (Jika diterjemahkan sebagai Sistem Operasi Portabel berbasis UNIX). Ini adalah familia de standares de llamadas al sistema… … Ensiklopedia Universal

POSIX- (Antarmuka Sistem Operasi Portabel berbasis unix) n. kumpulan standar sistem operasi yang berbasis Unix (Komputer) ... kamus bahasa inggris kontemporer

POSIX

posix- Antarmuka Sistem Operasi Portabel (POSIX [ˈpɒsɪks]) merupakan salah satu standar dari IEEE dan Open Group untuk Unix yang memiliki standar Antarmuka Pemrograman Aplikasi, yang merupakan dasar dari Aplikasi dan mereka… … Wikipedia bahasa Jerman

Buku

  • , Stephen A.Rago, W.Richard Stevens. "UNIX. Pemrograman profesional" adalah penjelasan rinci panduan referensi, yang selama 20 tahun telah membantu programmer C profesional menulis secara eksklusif...
  • UNIX. Pemrograman Profesional oleh Stevens W. Richard, Rago Steven A. Buku ini sangat populer di kalangan programmer serius di seluruh dunia karena berisi informasi paling penting dan praktis tentang pengelolaan kernel UNIX dan Linux. Tanpa ini...