Anda mengalirkan musik, mengunduh file, dan membuat kode di latar belakang. Rasanya serentak. Tidak.
CPU Anda menangani tugas-tugas ini dengan sangat presisi, beralih di antara tugas-tugas tersebut ribuan kali per detik. Trik sulap ini disebut pengalihan konteks. Tanpanya, komputer Anda akan terhenti hingga satu tugas selesai. Anda akan menunggu halaman dimuat bahkan sebelum Anda dapat memeriksa email Anda.
Peralihan konteks adalah mekanisme yang memungkinkan sistem operasi mengelola banyak proses tanpa memerlukan perangkat keras tambahan. Ini menjaga ilusi paralelisme tetap hidup dengan membagi waktu ke dalam interval mikroskopis.
Mekanisme Pengalihan Konteks
Pada intinya, peralihan konteks adalah tentang menyimpan dan memulihkan keadaan.
Saat CPU beralih dari Tugas A ke Tugas B, CPU harus mengingat di mana Tugas A tinggalkan. Jika tidak, ketika ia kembali, ia tidak akan tahu instruksi apa yang harus dijalankan selanjutnya. Keadaan yang disimpan ini adalah “konteks”.
Dua register utama menyimpan data penting:
- Penghitung Program: Ini menunjuk ke alamat memori yang tepat dari instruksi berikutnya yang akan dijalankan. Simpan ini, dan Anda tahu ke mana harus melanjutkan.
- The Registers: Ini menyimpan data sementara dan perintah saat ini. Mereka menangkap gambaran kondisi mental CPU pada saat itu juga.
Pada PC lama, hal ini sering kali merupakan operasi tingkat perangkat keras. Sirkuit fisik menangani pertukaran. Saat ini, sebagian besar CPU modern menggunakan sakelar konteks berbasis perangkat lunak. Fleksibilitas ini memungkinkan satu prosesor melakukan ratusan peralihan ini per detik. Hasilnya? Anda melihat beberapa aplikasi berjalan secara paralel, meskipun CPU secara teknis bergantian di antara aplikasi-aplikasi tersebut dengan kecepatan sangat tinggi.
Mengapa Peralihan Konteks Penting
Mengapa OS Anda memerlukan kompleksitas ini?
Karena sumber daya terbatas. Anda tidak memiliki prosesor khusus untuk setiap proses latar belakang. Sebaliknya, Anda memiliki satu (atau beberapa) inti yang berbagi beban kerja. Peralihan konteks memungkinkan multitasking pada perangkat keras terbatas.
Ini bukan hanya tentang menjalankan banyak aplikasi. Ini penting untuk stabilitas dan daya tanggap sistem.
Pertimbangkan skenario berikut:
Tuntutan Multitasking
Saat Anda berpindah tab di browser, CPU akan menghentikan sementara proses saat ini, menyimpan statusnya, dan memuat status proses baru. Tanpa ini, berpindah jendela harus menunggu hingga aplikasi saat ini ditutup.
Kernel/Mode Pengguna Beralih
Aplikasi Anda berjalan dalam “mode pengguna” demi keamanan. Tugas tingkat sistem dijalankan dalam “mode kernel”. Saat aplikasi meminta sesuatu dari OS (seperti mengakses file), CPU harus berpindah mode. Transisi ini sering kali melibatkan peralihan konteks untuk memastikan kernel memiliki data yang benar dan aplikasi dapat dilanjutkan dengan benar setelahnya.
Menangani Interupsi
Pembacaan disk tidak terjadi secara instan. Saat CPU Anda meminta data dari hard drive, CPU tidak akan diam. Ini beralih ke tugas lain sambil menunggu. Setelah data tiba, interupsi memberi sinyal pada CPU untuk beralih kembali, mengembalikan keadaan sebelumnya, dan memproses byte yang masuk.
Biaya Tersembunyi
Peralihan konteks tidak gratis.
Setiap kali CPU menukar konteks, siklus penyimpanan dan pemuatan data terbuang sia-sia. Ini juga menghapus cache CPU, yang dapat memperlambat kinerja jika dilakukan terlalu sering. Jika sistem Anda terlalu sering berpindah konteks, Anda akan merasakan kelambatan. CPU sibuk mengelola tugas alih-alih menjalankannya.
Inilah sebabnya mengapa penjadwalan yang efisien itu penting. Semakin baik OS mengelola sakelar ini, semakin lancar pengalaman Anda.
Jadi, jika lain kali komputer Anda tampaknya menangani semuanya sekaligus, ingatlah: ini bukan keajaiban. Ini adalah serangkaian pertukaran, penyimpanan, dan pemulihan yang cepat. CPU tidak pernah benar-benar melakukan multitasking. Ini sangat bagus dalam beralih.
Dan itu masih berjalan.






























