Java dalam sistem tertanam

Artikel ini akan melihat Java dalam industri Real Time dari sudut pandang Bisnis dan Teknologi. Penjelasan yang lebih teknis tentang beberapa masalah, tinjauan singkat tentang apa yang ada di JavaOS dan applet kontrol jalan raya kecil yang menunjukkan beberapa persyaratan yang harus dipenuhi JavaOS dari perspektif waktu nyata di masa mendatang dibahas dalam artikel ini. Wawancara berikut dilakukan secara elektronik dengan Bernard Mushinsky ([email protected]), Presiden IPI, pada 12 Juni 1996. Saya mengajukan beberapa pertanyaan kepada Bernie karena mengira Jawa akan berdampak negatif pada bisnisnya dan menemukan Java menciptakan peluang di pasar yang berpotensi menggantikan beberapa teknologi yang berkembang dengan baik.

Juga, saya melontarkan beberapa pertanyaan ke Dr. David Ripps ([email protected]), Wakil Presiden Riset di IPI.

Kami melengkapi artikel dengan diskusi singkat tentang JavaOS yang baru diumumkan dari Sun Microsystems dan beberapa petunjuk ke situs lain dengan URL yang menarik. JavaSoft juga telah mengumumkan rencana untuk api yang disematkan dan pengembang yang serius harus memeriksa status umum semua API.

Sekarang, untuk wawancara ...

Rinaldo: Apa itu IPI dan apa fungsinya di industri real-time?

Bernard: MTOS IPI adalah keluarga sistem operasi waktu nyata yang banyak digunakan dalam aplikasi tertanam. Ada lebih dari dua ribu pemegang lisensi dan ribuan produk berbasis MTOS telah dikembangkan. Ada jutaan salinan MTOS tersemat yang sedang beraksi di dunia nyata.

Port MTOS tersedia untuk kelompok 80x86 dan 68xxx, MIPS R3000 / R4000, dan PowerPC. Banyak paket dukungan papan telah dikembangkan dan tersedia untuk pihak yang berkepentingan. Diantaranya adalah sistem yang sangat terintegrasi untuk PC berbasis 80x86. Sistem ini mengambil alih PC, dan menyertakan sistem file dan driver yang kompatibel dengan DOS untuk semua periferal PC standar. Bagian dari paket standar mencakup dukungan ekstensif untuk pengembangan pihak ketiga dan perangkat lunak debugging, serta Debugger / Resource Reporter IPI sendiri.

Aplikasi MTOS berkisar dari perangkat untuk mencampur minuman hingga AWACS dan produk kelas atas lainnya. Beberapa area produk utama dan beberapa pelanggan tipikal diberikan di bawah ini:

Sistem komunikasi Alcatel, Ericsson, Fujitsu, GPT, GTE, Motorola, NTT, Philips, Tellabs
Pengendalian proses ABB, Bristol Babcock, Bailey, GE, Honeywell, Measurex, Toshiba
Otomasi Pabrik GE, GM, Mitsubishi, Philips, Sony, Toyota
Peralatan medis Ciba / Corning, Cobe, Gambro, GEC, Johnson & Johnson, Nova Biomedical, Puritan Bennett, Siemens
Grafik & Pencitraan Produk Data, Genicom, IBM, Kodak, Philips, Printronix

Rinaldo: Apa pengaruh Java terhadap bisnis IPI? Menurut Anda, bagaimana chip Picojava, Microjava, dan Ultrajava akan mempengaruhi industri Anda?

Bernard: Untuk menjawab pertanyaan ini, perlu diasumsikan bahwa Java akan berkembang pesat menjadi sistem yang dapat memenuhi kebutuhan pasar sistem tertanam. Saya katakan cepat karena, jika evolusinya terlalu lambat, Java benar-benar tidak akan sampai di sana sama sekali. Selain itu, meskipun Java, seperti yang saat ini dibentuk, dapat digunakan dalam aplikasi tertanam non-kritis tertentu, Java perlu diperkuat dengan cara yang signifikan. Ini harus lebih efisien, lebih kuat, dan lebih mampu dengan cara yang relevan untuk aplikasi yang disematkan. Salah satu hal yang benar-benar tidak diinginkan yang harus dihindari di hampir semua biaya adalah perkembangan solusi berpemilik. Sungguh, Sun harus menghadapi masalah ini dan, mungkin dengan bekerja sama dengan perusahaan seperti IPI, menemukan jalan ke depan.

Setelah membuat pernyataan ini sebagai pengantar jawaban saya, sekarang saya akan mengapungkan prediksi bahwa Java sebenarnya akan meningkat dengan cara yang ada dalam pikiran kita. Dengan asumsi bahwa, Java ditakdirkan untuk memiliki dampak yang sangat luas, yang sebagian besar tidak dapat diramalkan saat ini. Berikut adalah beberapa konsekuensi yang terlihat:

  • Leveling dari lapangan bermain. Ini akan terjadi karena, karena teknologi Java menggantikan aspek kepemilikan produk RTOS yang bersaing, rangkaian fitur RTOS berpemilik akan dikurangi penekanannya. Teknologi Java akan menggantikan banyak model penugasan.

  • Penekanan yang lebih besar pada jaringan, yang melekat di lingkungan Java. Pengaturan pihak ketiga yang sekarang kami pertahankan untuk menyediakan TCP / IP dan paket komunikasi lainnya kemungkinan besar kurang penting.

  • Akan lebih mudah bagi IPI untuk menawarkan solusi lengkap kepada lebih banyak jenis pelanggan.

Rinaldo: Mengingat fakta bahwa Java mulai dipertimbangkan secara serius untuk digunakan dalam bisnis real-time, perubahan apa yang akan Anda lakukan pada lini produk Anda saat ini?

Bernard: IPI sekarang mengintegrasikan MTOS dengan Java. Produk MTOS akan didesain ulang untuk mendukung thread Java dan berbagai fasilitas yang dibutuhkan Java agar dapat berfungsi dalam lingkungan tertanam. Selain itu, fitur MTOS tertentu yang berharga akan dipertahankan. Yang paling utama adalah dukungan untuk banyak prosesor. Fitur ini transparan untuk aplikasi dan juga transparan untuk Java.

Rinaldo: Adakah ide tentang ukuran segmen real-time pasar Java nantinya?

Bernard: Ini bukanlah pertanyaan yang mudah, terutama karena ketersediaan Java itu sendiri kemungkinan besar akan berdampak signifikan pada seluruh pasar waktu nyata.

Pasar secara keseluruhan memiliki berbagai macam komponen yang ditawarkan oleh pemasok yang lebih beragam. Perkiraan ukuran pasar saat ini adalah:

  • Vendor produk RTOS: 50.000.000
  • Vendor kompiler, debugger, dan alat lainnya: 50.000.000
  • Penyedia RTOS internal dan alat lainnya: Tidak diketahui (Ukuran segmen "internal" diperkirakan memiliki nilai setidaknya sebesar nilai produk yang diberikan oleh "vendor".)

Dapatkah Java menangkap sebagian besar pasar. Mungkin iya; jelas kita tidak akan tahu pasti sampai kita memiliki lebih banyak pengalaman yang menjadi dasar prediksi kita.

Rinaldo: Anda berpendapat bahwa Java kemungkinan akan memainkan peran utama dalam sistem tertanam. Bisakah Anda membenarkan klaim itu?

Bernard: Pertanyaan itu paling baik dijawab oleh Dr. David Ripps, Wakil Presiden IPI untuk bidang teknik. Makalahnya menjelaskan beberapa pekerjaan yang saat ini sedang berlangsung di IPI untuk menyediakan platform yang mengintegrasikan produk real-time Legacy dengan Java.

David: Saya mendasarkan prediksi saya pada beberapa observasi.

Pertama, karena pentingnya Web, banyak pemrogram akan dipaksa untuk mempelajari Java. Pada akhirnya, universitas akan beralih dari C ke Java dalam kursus Pengantar bahasa tingkat tinggi. Setelah programmer menjadi fasih dalam Java, mereka secara alami ingin menerapkan bahasa tersebut ke area di luar Web - ke sistem tertanam (real-time), misalnya.

Kedua, perusahaan yang mengembangkan sistem real-time menginginkan fleksibilitas untuk beralih ke perangkat keras selain yang menjadi target sistem semula. Ini mengharuskan program menjadi portabel di seluruh platform perangkat keras dan bahkan arsitektur set instruksi. C menyediakan beberapa portabilitas. Namun, program yang disematkan harus disusun sebagai rangkaian utas atau tugas yang dapat dijalankan secara independen. C tidak memiliki unit eksekusi seperti itu sebagai bagian inheren dari bahasa tersebut. Juga tidak ada saling pengecualian atau metode lain apa pun untuk melindungi data bersama. Pemrogram harus mendapatkan layanan threading, perlindungan, koordinasi, dan komunikasi dari OS berpemilik. Beberapa OS, seperti MTOS-UX, membuat semua layanan tersedia untuk berbagai macam CPU; banyak OS tidak. Dengan membangun threading dan perlindungan data langsung ke dalam bahasa,Anda dapat mem-port program Java ke platform (mendukung Java) apa pun, dan program tersebut bekerja dengan cara yang sama. Setidaknya secara prinsip.

Rinaldo: Anda berbicara tentang program tertanam atau real-time. Apa definisi Anda tentang real-time?

David: Sistem waktu nyata adalah sistem di mana batasan waktu yang diberlakukan oleh dunia di luar komputer memainkan peran penting dalam desain dan implementasi sistem. Area umum untuk sistem tertanam adalah mesin dan kontrol proses, instrumen medis, telepon, dan akuisisi data.

Rinaldo: Java tampaknya merupakan hal yang alami untuk sistem tertanam.

David: Java memang menarik sebagai alternatif C yang ditambah oleh OS real-time. Namun, Anda membayar harga. Java tidak memiliki kumpulan primitif koordinasi yang kaya. Pemrogram dipaksa untuk membangun objek koordinasi umum seperti kotak surat dan grup bendera peristiwa multi-bit pada tingkat utas dari beberapa fasilitas bawaan. Ini menghasilkan kode yang secara signifikan dijalankan lebih lambat daripada layanan yang disediakan di tingkat kernel.

Rinaldo: Seberapa yakin Anda bahwa Java akan memenuhi harapannya?

David: Kebutuhan akan standar pemrograman universal telah ada sejak zaman Fortran. Tetapi industri telah dibakar sebelumnya oleh janji-janji akan bahasa universal yang mampu secara real-time. Saya sedang memikirkan Ada. Meskipun harapan tinggi dan mandat pemerintah, Ada tidak pernah menggantikan C untuk sistem tertanam. Masih terlalu dini untuk benar-benar yakin bahwa Java akan menjadi kekuatan di luar pemrograman jaringan.

Rinaldo: Seberapa cepat Java dapat menyerang pasar tertanam.

David: Ada banyak sekali embedded system yang saat ini ditulis dalam C. Beberapa perusahaan akan membuang investasi itu dan menulis ulang semuanya di Java. Akan ada percobaan yang hati-hati dalam menggunakan Java untuk produk baru yang tidak memiliki jadwal pengiriman kritis. Jika proyek-proyek ini bekerja dengan baik, kita mungkin melihat sistem hibrida mulai digunakan: campuran kode C lama dan komponen Java. Akhirnya, sistem baru akan menjadi Java murni.

Rinaldo: Bisakah Anda mencampur C dan Java pada target yang disematkan?

David: Ya, tetapi hanya jika kernel atau OS Anda dirancang dengan dukungan seperti itu. Misalnya, jika komponen Java membuat utas baru dan komponen C membuat utas baru lainnya, OS harus siap untuk menangani kedua utas dengan cara yang kompatibel. Jika tidak, kode Java dan kode C akan saling bertarung untuk mendapatkan kontrol, dan sistem akan menjadi berantakan.

Ringkasan

Saya masih memiliki banyak pertanyaan yang tidak dapat dieksplorasi karena beberapa informasi penting tentang JavaOS tidak lengkap sampai tulisan ini dibuat. Dalam artikel mendatang, saya akan mencoba membuat tokoh industri lain berbicara dan mendemonstrasikan beberapa topik berikut:

  • Perbandingan melakukan tugas kritis waktu nyata dengan Java, Ada, dan C / C ++.

  • Pelajaran yang bisa dipelajari dari ACVC (Ada Compiler Validation Suite).

  • Masalah terkait penerimaan Java sebagai opsi untuk sistem yang mengancam jiwa. Ini jelas lebih aman daripada C ++ / C (mengabaikan runtime), tetapi bagaimana cara menangani head to head bake dengan Ada (yang mendefinisikan runtime). Akankah implementasi referensi menentukan runtime secara lebih rinci atau akankah utas Solaris, utas Windows 95, utas Windows NT, dan utas JavaOS menghasilkan lima hasil yang berbeda?

  • Apakah kurangnya kontrol dengan pengumpul sampah merupakan masalah besar bagi pengembang waktu nyata? Saya memahami Microsoft telah menulis ulang pengumpul sampah untuk produknya di Internet Explorer. Apakah akan ada kesempatan untuk kelas Java yang menggantikan kelas standar? Lagi pula, dalam sistem waktu nyata Anda tidak mungkin menjalankan aplikasi produktivitas, bukan? Saya kira pertanyaan sebenarnya adalah akankah berbagai implementasi yang berpotensi terspesialisasi memengaruhi portabilitas?

  • Bagaimana komunitas Java menghadapi masalah-masalah berat seperti:

    • inversi prioritas
    • penjadwal kuantum
    • lembut waktu nyata
    • sulit waktu nyata

Dunia real-time bisa jauh lebih berbahaya daripada dunia Web, Kerugian finansial adalah satu hal, kehilangan nyawa adalah hal lain dan kita semua harus menyadari bahwa Java tidak dirancang untuk lingkungan misi-kritis secara real-time, namun memiliki banyak janji untuk menjadi standar di bidang ini.

JavaOS. Apa itu?

JavaOS adalah versi Java VM yang dapat di-porting ke sistem target tanpa sistem operasi. Versi Java sebelumnya mungkin mengandalkan sistem windowing atau driver jaringan yang disediakan oleh, katakanlah, Solaris atau Win95. JavaOS menyediakan implementasinya sendiri dari perpustakaan jaringan dan jendela. JavaOS bukanlah OS tradisional melainkan OS yang menjalankan program utama Java dan applet Java saja. JavaOS sangat ideal untuk perusahaan dan individu yang tertarik untuk memporting Java ke platform baru dengan membawa semua bagasi dari OS tradisional. Ada banyak detail teknis tentang JavaOS dalam whitepaper berikut dan beberapa slide luar biasa dari JavaOne dalam format Acrobat.

Rinaldo S. DiGiorgio bekerja untuk Sun Microsystems sebagai Insinyur Sistem di kantor New York City dan sering mendemonstrasikan Teknologi Java. DiGiorgio saat ini sedang mengerjakan integrasi banyak teknologi ke dalam HotJava / Java. Beberapa dari teknologi ini adalah konektivitas database, manajemen portofolio, video berbiaya rendah, dan aplikasi analitik di pasar keuangan dan genetika yang sedang berkembang. DiGiorgio telah menggunakan sistem operasi berbasis Unix sejak 1979, ketika dia menerapkan solusi Unix di pabrik kertas. Dia melihat HotJava / Java sebagai teknologi untuk meminimalkan dua faktor biaya besar dalam industri komputer: distribusi dan pengembangan kode.

Pelajari lebih lanjut tentang topik ini

  • Upaya TRON bisa menjadi model yang baik untuk Jawa di tingkat nasional. TRON adalah upaya mulia Jepang untuk melakukan standarisasi pada OS. //tron.is.su-tokyo.ac.jp/TRON/
  • Presentasi Mitsubishi (dalam format Adobe PDF) di konferensi JavaOne cukup menarik. //www.javasoft.com/java.sun.com/javaone/pres/Mitsu.pdf
  • Beberapa informasi diungkapkan pada konferensi JavaOne tentang Java dan sistem tertanam (dalam format Adobe PDF). //www.javasoft.com/java.sun.com/javaone/pres/Embed.pdf
  • Pengumuman vendor yang mendukung chip baru dari Sun Microsystems. //www.sun.com/sparc/newsreleases/nr96-059.html

Cerita ini, "Java dalam sistem tertanam" pada awalnya diterbitkan oleh JavaWorld.