Saya mempertahankan sebagian besar kode warisan, ditulis dalam C. Kode ini awalnya ditulis untuk dikompilasi dengan Windows 3 untuk Workgroups, dan kemudian versi untuk NT dibuat. Aplikasi warisan ini masih digunakan sampai sekarang, dengan gembira berjalan bersama pada 3.11 dan workstation NT dari awal 90-an. Ini berfungsi dan melakukan apa yang seharusnya dilakukan, dan alasan mereka masih hidup adalah karena driver untuk beberapa perangkat keras khusus milik solusi tidak kompatibel dengan Windows yang lebih baru.
Ada juga aplikasi berbeda yang saya pertahankan bahwa untuk alasan yang sama hanya berfungsi pada Win2k.
Namun, seiring berjalannya waktu, semakin sulit untuk menjalankan lingkungan warisan ini. Saat ini saya menyimpan mesin fisik dengan perangkat lunak pengembangan yang diinstal, sehingga saya dapat bekerja pada perangkat keras asli. Tapi ini bisa mati kapan saja (mereka berusia 25 tahun setelah semua).
Jadi pertanyaan saya adalah, mengingat ini adalah 2016, apa saja pilihan saya untuk menjaga lingkungan kuno ini dengan cara yang lebih stabil? Bisakah Anda memindahkan 3,11 ke hosting awan?
Saya mencoba virtualisasi, tetapi karena sifat khusus dari pengaturan, saya tidak bisa membuatnya bekerja dengan driver perangkat, jadi saya berpikir bahwa orang mungkin perlu membuat gambar penuh OS seperti apa adanya dan kemudian menjalankannya dalam VM untuk mengembangkan perangkat lunak? Apakah hal seperti itu mungkin untuk versi OS tamu setua Win3 dan NT?
Adakah pengalaman dalam menjaga platform lama seperti ini agar tetap hidup untuk pengembangan, tetapi dengan cara yang lebih modern dan aman, yang bisa saya gunakan?
Tujuan saya adalah untuk menyingkirkan mesin fisik lama, dan beralih ke virtualisasi.
Jawaban:
Inilah inti masalahnya. Anda dapat mengkompilasi ulang program legacy C Anda dengan Visual Studio yang lebih baru, memperbaiki semua peringatan dan kesalahan kompiler, dan umumnya mengubah sistem lama menjadi yang identik yang berjalan pada Windows 7 (atau lebih baru jika Anda harus) tetapi jika driver tidak bekerja maka peluangnya bekerja bahkan tervirtualisasi tipis.
Kecuali jika Anda dapat memperbarui atau mengganti driver / perangkat keras, saya tidak akan mulai mempertimbangkannya.
sumber
Saya pikir ini lebih merupakan masalah tentang mendapatkan virtualbox atau vmware untuk memberikan akses ke port serial host daripada tentang virtualisasi OS atau bahkan OS tamu. Saya akan mulai dengan sistem host yang menjalankan OS modern (win 7/8/10 atau Linux distro) dengan USB ke port serial adaptor yang didasarkan pada implementasi rs-232 nyata, seperti pl2303 yang produktif.
Gunakan OS modern sebagai tuan rumah, instal virtualbox, dan buat VM tamu dan instal OS apa pun yang kompatibel. Kuncinya adalah mendapatkan port RS-232 pada OS tamu yang diteruskan ke VM tamu. Gunakan modem nol dan program terminal untuk memastikan port RS-232 bekerja pada OS host lokal.
Jika host adalah Linux, ada beberapa izin yang diperlukan untuk memvirtualisasi perangkat keras lokal, dan dalam kebanyakan kasus memasukkan akun login Anda ke grup vboxusers akan mengatasinya.
sumber
Ini keputusan manajemen. Manajemen Anda harus berada dalam posisi untuk menentukan berapa banyak uang yang mereka hasilkan dengan mendukung Windows 3.11. Jika mereka memiliki otak, mereka akan menyadari bahwa pelanggan yang mengeluh jika Anda tidak mendukung mereka secara gratis tidak benar-benar menghasilkan uang bagi Anda. Anda dapat mendukung mereka dengan memberi tahu mereka berapa biaya untuk mendukung versi lama. Bukan hanya dalam hal pekerjaan yang sebenarnya, tetapi juga dalam hal tidak dapat menggunakan teknologi yang lebih baru.
Waktu paling terbaru ketika Anda harus mendukung mesin adalah ketika Anda tidak dapat membeli penggantian di eBay.
sumber