Sistem Operasi telah sangat terkait dengan arsitektur komputer. Sebuah OS menangani semua input dan output dalam sistem komputer. Ia mengelola pengguna, proses, manajemen memori, pencetakan, telekomunikasi, jaringan dll. Ia mengirimkan data ke disk, printer, layar, dan periferal lain yang terhubung ke komputer.
Sebelum pengenalan Sistem Operasi,
Apa yang digunakan dalam sistem komputer untuk membuatnya bekerja?
Konsep mana yang digunakan untuk sistem operasi dalam evolusi komputer kita?
operating-systems
Itachi Uchiha
sumber
sumber
Jawaban:
Komputer awal † menjalankan satu program pada satu waktu.
Program dimuat langsung dari (misalnya) pita kertas dengan lubang yang dilubangi.
Anda akan memprogram komputer paling awal † dengan mengatur satu set sakelar on-off yang besar.
Patung raksasa:
Atlas:
Manchester:
† Saya menggunakan kata "Komputer" yang berarti jenis perangkat yang ada saat ini dalam miliaran. Dari jumlah komputer yang sangat banyak ini, semua kecuali jumlah yang sangat kecil adalah komputer yang dapat diprogram dengan program elektronik digital. Saya yakin pertanyaan awal bukan tentang bagaimana orang dengan jabatan "Komputer" menghabiskan hari kerja mereka. Di antara kedua jenis komputer tersebut, ada perkembangan perangkat menarik yang tidak tercakup dalam jawaban ini.
sumber
Sumber: Sejarah Sistem Operasi
Sumber: http://en.wikipedia.org/wiki/History_of_operating_systems
sumber
Kembali ke awal sistem komputer Anda tidak memiliki sistem komputer tunggal, sebaliknya Anda memiliki mainframe.
Mainframe ini akan berjalan pada kartu berlubang yang berisi program Anda (dan seringkali data Anda). Orang-orang akan mendapatkan alokasi waktu pada sistem ini, membawa serta kartunya dan memasukkannya ke dalam mesin untuk diproses. Mesin akan menjalankan program sampai selesai maka pengguna berikutnya akan datang bersama dengan kaset dan kartu mereka.
Pada dasarnya begitulah cara kerjanya.
sumber
1890-1950 - Operasi yang melekat pada sistem Komputer yang paling awal memiliki yang setara dengan apa yang sekarang dilakukan oleh OS. Anda (operator) juga merupakan bagian dari sistem operasi. Anda membalik sakelar register (atau menggunakan kartu punch) dan secara fisik bertukar kabel bus (pikirkan stasiun operator telepon mode lama) dan memori dihubungkan (melalui kabel fisik) langsung dengan bola lampu (monitor hari itu) dan printer ( penyimpanan jangka panjang) sedemikian rupa sehingga output program akan menyala dan mencetak langsung ke perangkat saat ditempatkan ke dalam buffer memori output. Tidak ada pengemudi yang diperlukan untuk hal-hal ini karena (karena cara kabel fisik itu berlari) mereka 'hanya bekerja' (juga tidak ada yang disebut monitor pada hari ini. Bahkan itu masih akan menjadi beberapa dekade ke era ini sampai tampilan numerik digital akan ditemukan sehingga Anda benar-benar dapat melihat angka yang sudah Anda masukkan ke dalam register dan output sebagai angka desimal; printer memerintah seluruh era ini sampai monitor. Mereka terhubung persis seperti yang mereka butuhkan agar dapat bekerja dengan benar. Tak satu pun dari bagian ini benar-benar banyak berubah dengan beralih dari mekanik (1890-an) ke analog listrik (1910-an) ke digital (1930-an). Arsitektur 'Plug N play' ini digantikan dengan sistem interupsi selama waktu ini dan tidak akan muncul lagi sampai akhir tahun sembilan puluhan; tentu saja pada saat itu akan ada jauh lebih sedikit memasukkan Dengan interupsi, perangkat diizinkan untuk mengambil waktu CPU yang memungkinkan arsitektur yang bukan t terikat langsung dengan perangkat keras tetapi butuh beberapa generasi untuk ini benar-benar menjadi proses efisien yang kita lihat di lengkungan x86 (dan yang lebih baru); sistem awal sering mengalami kondisi balapan yang mengerikan, masalah kompatibilitas perangkat keras \ keterlambatan, dan perilaku aneh lainnya di mana interupsi terkait. Karena setiap mesin menggunakan arsitektur (percobaan) yang sangat berbeda pada periode ini; hampir semua perangkat dibuat khusus untuk mesin yang mereka kerjakan.
1950-1973 - Operasi dalam suatu sistem Era ini melihat munculnya sebagian besar fitur yang kita pikirkan ketika kita berbicara tentang sistem operasi yang benar. Debugging, bahasa pemrograman, multi-pengguna, multi-tasking, terminal, drive tipe disk, jaringan, standardisasi komponen, dll semuanya diperkenalkan di era ini. Kali ini melihat lompatan besar menuju standardisasi dari banyak hal ini yang berarti bahwa kami memiliki lebih banyak perangkat terstandardisasi, tetapi masing-masing OS dibuat dengan tangan untuk setiap mesin yang berarti bahwa fungsi OS sangat dibatasi oleh apa pun yang dirancang oleh insinyur yang merancang sistem tertentu yang mereka butuhkan. . Selama masa ini, terdapat area abu-abu yang substansial dalam suatu sistem operasi karena arsitektur yang berbeda menangani hal yang jauh berbeda dan mesin yang lebih umum akan membutuhkan lebih banyak OS daripada mesin yang mencakup perangkat keras untuk menangani pekerjaan yang sama. Faktanya adalah perangkat keras akan selalu lebih cepat daripada perangkat lunak dan secara praktis apa pun yang dilakukan dalam perangkat lunak secara teoritis dapat dilakukan dalam perangkat keras (itu adalah biaya \ fleksibilitas \ ukuran \ waktu \ dll yang membatasi kita untuk membuat versi perangkat keras yang hampir murni dari segalanya untuk ini hari). Suatu OS dibuat untuk komputer atau jenis komputer tertentu; itu tidak akan bekerja di tempat lain. Setiap desain komputer baru membutuhkan semua perangkat lunak OS tingkat rendah untuk ditulis ulang dari awal untuk bekerja dengan model mesin tertentu. Menjelang akhir waktu ini muncul sebuah OS baru yang akan segera mengubah paradigma ini, UNIX ditulis di Bell Labs oleh Ken Thompson dan Dennis Ritchie.
1973 - Operasi antar sistem Satu program mengubah semua ini tetapi itu bukan UNIX. Itu adalah kompiler C (yang terkenal dibuat di garasi oleh Ken Thompson dan Dennis Ritchie setelah Bell Labs memotongnya). Sampai saat ini, setiap kali Anda menulis kode, itu adalah kode mesin (kode yang dimengerti mesin tetapi tidak portabel) atau ditulis dalam bahasa yang mengkompilasi kode Anda ke kode byte (kode yang ditafsirkan oleh program lain seperti kode berjalan). Perbedaan besar untuk OS yang dibawa oleh C adalah kemampuan untuk melakukan apa yang dikenal sebagai kompilasi silang ke dalam kode mesin. Ini berarti bahwa kode dapat ditulis satu kali dan dikompilasi untuk dijalankan di banyak jenis mesin yang berbeda secara asli selama kompiler telah ditulis untuk mesin itu. Sistem operasi harus ditulis dalam kode mesin karena kode mesin secara harfiah satu-satunya kode yang diketahui mesin.
Saya akan mengatakan bahwa itu tidak sampai Ken dan Dennis pertama kali mengkompilasi kernel UNIX menggunakan kompiler C yang OS sejati dalam arti modern lahir. Sebelum itu, sebuah OS adalah objek fisik atau hanya sepotong ruang memori yang sudah diinisialisasi yang dirancang khusus untuk mesin tertentu. Menambahkan perangkat baru ke sistem secara harfiah mengharuskan kode 'kernel' ditulis ulang. Sekarang, OS UNIX yang telah mereka rancang untuk mesin tertentu dapat dikompilasi ulang dan dijalankan pada mesin lain tanpa menulis ulang SEMUA (selama mesin itu mampu mengkompilasi kompiler C dari lingkungan bootstrap, sisa OS dapat ditulis dalam kode C tingkat yang relatif tinggi).
sumber
Pada awalnya, program-program tersebut ditanamkan di dalam komputer, yang akan mulai menjalankan program segera dari lokasi tertentu saat bootup.
Kemudian berbagai bentuk penyimpanan offline ditemukan: kartu berlubang, kaset, drum, bahkan disk. Jauh lebih fleksibel. Namun tidak dapat diakses langsung dari CPU. Program perlu dimuat ke dalam memori sebelum dapat dijalankan. Jadi, Anda menulis sebuah program untuk memuat program Anda. Ini dikenal sebagai loader , atau bootstrap (dari ungkapan "untuk menarik diri Anda dengan tali booting Anda").
Karena sistem menjadi lebih rumit, Anda mungkin memiliki loader sederhana memuat loader yang lebih kompleks. Ini dimulai dengan mikrokomputer: loader pita normal lambat, jadi muat dekompresor dan muatkan sisa kaset dengan cepat. Atau disk speedloader yang berfungsi ganda sebagai sistem perlindungan salinan dengan melakukan hal-hal yang tidak standar dengan disk.
Atau proses boot PC pra-UEFI: prosesor mulai dijalankan di BIOS. Ini memuat sektor pertama dari disk dan melompat ke sana. Itu mencari partisi aktif dan memuat bootloader dari sana, yang memuat sistem operasi. Awalnya itu adalah COMMAND.COM untuk MSDOS; sekarang biasanya NTLDR.EXE untuk Windows.
sumber
Perlu dicatat bahwa pada perangkat keras awal (sebelum 1960), I / O jauh lebih simpel. Anda dapat membaca kartu, atau meninju kartu atau mencetak garis pada printer, masing-masing dengan instruksi tunggal: ukuran buffer diperbaiki, dan seringkali alamat buffer diperbaiki juga.
Bahkan di awal tahun 60an, dengan prosesor yang lebih canggih (mis., 7090), Anda masih bisa membaca atau meninju kartu dengan rutin kecil (sekitar 20 instruksi), yang mudah disalin ke dalam setiap program.
Karena komputer sepenuhnya didedikasikan untuk satu pekerjaan, tidak masalah jika prosesor menganggur sambil menunggu pembaca kartu siap membaca kartu berikutnya, atau agar printer baris memberi makan baris berikutnya.
Yah, itu penting, karena waktu komputasi sebenarnya mahal. Inilah sebabnya mengapa orang menemukan multi-pemrosesan, berbagi waktu, menambahkan I / O asinkron, dan menginterupsi dan driver perangkat dan sistem operasi. Antarmuka perangkat perangkat keras menjadi lebih kompleks, bagi programmer, memberikan akses ke register I / O tingkat rendah, yang membutuhkan lebih banyak kompleksitas dari driver perangkat. Biaya kompleksitas ini (memori, waktu pemrograman) diamortisasi selama beberapa program menggunakan perangkat "secara bersamaan", multiplexed oleh sistem operasi.
Masih di tahun 80-an saya menggunakan komputer berbasis prosesor mikro, meniru salah satu sistem yang lebih tua. Instruksi mesin memiliki format yang seragam lebih dari 80 bit (10 oktet), dan instruksi untuk membaca sektor pertama dari hard disk pertama dan menyimpannya ke dalam memori di alamat 0 sangat mudah: 0000000000. Jadi prosedur boot terdiri setiap pagi untuk mengetik instruksi ini pada terminal, yang menyimpannya di alamat 0 dan mengeksekusinya, yang kemudian memuat sektor boot dan melanjutkan eksekusi pada instruksi berikutnya (pada alamat 10). Sistem file terdiri dari file pemetaan nama statis "nama" untuk rentang sektor, yang dialokasikan secara manual! I / O dilakukan secara assembler ke file-file tersebut dengan langsung membaca atau menulis sektor-sektor, diimbangi dengan posisi file pada hard disk yang dipulihkan oleh "
sumber
Generasi pertama dari komputer yang dirancang untuk penggunaan pribadi yang lebih luas disebut "Monitor" dalam ROM (memori hanya baca).
Segera setelah booting, monitor menyediakan antarmuka baris perintah yang sangat terbatas, sebagian besar untuk memuat program dari penyimpanan data seperti tape recorder dan untuk memulai eksekusi (beberapa perintah lain tersedia untuk entri kode manual, sementara jarang diperlukan). Hanya satu program yang dapat berjalan pada waktu.
Berbeda dari sistem operasi, Monitor tidak memiliki dukungan sistem file apa pun. Operator manusia bertanggung jawab untuk menemukan pita yang tepat, meletakkannya di perekam dan memposisikan pada awal program yang diperlukan untuk memuat.
Monitor fungsi gabungan baik BIOS dan sistem operasi dan sudah sangat jelas perangkat lunak.
Setelah dinyalakan, sinyal "reset" pendek itu hanya memusatkan penghitung program sama dengan penghitung lain, pada saat yang sama mengganti mapper memori (jika ada) untuk memetakan alamat 0000 ke ROM Monitor. Itu umum untuk memiliki beberapa rangkaian perangkat keras untuk memetakan kembali Monitor ke ruang alamat tinggi nanti. Selain dari startup kode, tombol "Reset" juga digunakan untuk menghentikan program yang sedang berjalan sehingga yang lain dapat dimuat.
Tombol "reset" yang belum sempurna dapat ditemukan pada beberapa PC desktop bahkan di hari-hari ini.
sumber
Pendahulu yang paling langsung ke sistem operasi adalah kombinasi dari perpustakaan standar untuk berinteraksi dengan perangkat, dan sistem bootstrap loader untuk memasukkan program ke dalam memori dan mulai berjalan.
sumber