{"id":436,"date":"2025-02-14T02:25:01","date_gmt":"2025-02-13T19:25:01","guid":{"rendered":"https:\/\/www.linuxid.net\/istilah\/?p=436"},"modified":"2025-02-14T02:25:02","modified_gmt":"2025-02-13T19:25:02","slug":"context-switch","status":"publish","type":"post","link":"https:\/\/www.linuxid.net\/istilah\/context-switch\/","title":{"rendered":"context switch"},"content":{"rendered":"<h2>Apa itu Context Switch?<\/h2>\n<p>Context switch adalah sebuah <a href=\"https:\/\/www.linuxid.net\/istilah\/operation\/\">operasi<\/a> yang dilakukan oleh unit pemrosesan pusat (<a href=\"https:\/\/www.linuxid.net\/istilah\/processor\/\">CPU<\/a>) ketika berpindah antara <a href=\"https:\/\/www.linuxid.net\/istilah\/process\/\">proses<\/a> atau <a href=\"https:\/\/www.linuxid.net\/istilah\/thread\/\">thread<\/a> sambil memastikan bahwa proses-proses tersebut tidak saling bertabrakan. Context switching yang efektif memungkinkan sistem untuk mendukung lingkungan multitasking.<\/p>\n<p>Setiap kali CPU melakukan perpindahan, sistem sementara menghentikan tugas yang sedang berjalan, menyimpan statusnya (konteks) ke dalam process control block (PCB), lalu menjalankan tugas berikutnya dalam antrean. Jika tugas tersebut sudah pernah dimulai sebelumnya, CPU akan mengambil kembali statusnya agar dapat melanjutkan eksekusi dari titik terakhir. Operasi ini terus berulang saat CPU berputar di antara proses-proses dalam antrean.<\/p>\n<p>Kemampuan context switching untuk berpindah dengan cepat antar tugas adalah fitur utama sistem operasi multitasking (<a href=\"https:\/\/www.linuxid.net\/istilah\/operating-system-OS\/\">OS<\/a>) seperti Windows, <a href=\"https:\/\/www.linuxid.net\/istilah\/Linux-operating-system\/\">Linux<\/a>, atau <a href=\"https:\/\/www.linuxid.net\/istilah\/Mac-OS\/\">macOS<\/a>. Context switching memungkinkan beberapa proses berbagi satu CPU, sehingga seolah-olah CPU menjalankan beberapa proses secara bersamaan. Hal inilah yang memungkinkan pengguna berpindah dengan mulus di antara aplikasi-aplikasi yang terbuka di <a href=\"https:\/\/www.linuxid.net\/istilah\/desktop\/\">desktop<\/a> mereka.<\/p>\n<h2>Bagaimana Cara Kerja Context Switch?<\/h2>\n<p>Setiap kali CPU beralih ke proses yang berbeda, ia menyimpan data status ke PCB yang telah ditetapkan untuk proses tersebut. Data yang disimpan dapat bervariasi antara sistem, tetapi umumnya mencakup pointer, <a href=\"https:\/\/www.linuxid.net\/istilah\/program-counter\/\">program counter<\/a>, <a href=\"https:\/\/www.linuxid.net\/istilah\/register\/\">register<\/a>, dan informasi lain yang terkait dengan proses.<\/p>\n<p>Process Control Block (PCB) adalah sebuah <a href=\"https:\/\/www.linuxid.net\/istilah\/data-structure\/\">struktur data<\/a> yang dibuat untuk setiap proses. Selain data status, PCB juga menyimpan status eksekusi proses, nomor proses, serta informasi <a href=\"https:\/\/www.linuxid.net\/istilah\/memory-management\/\">manajemen memori<\/a>.<\/p>\n<p>Context switching umumnya terjadi karena salah satu dari tiga pemicu berikut:<\/p>\n<ul class=\"default-list\/\">\n<li><b>Operasi multitasking.<\/b> Context switching terjadi ketika satu proses memberikan giliran kepada proses lain untuk dieksekusi. Dalam beberapa kasus, ini terjadi karena sebuah proses hanya mendapatkan alokasi waktu CPU tertentu. Namun, context switching juga dapat terjadi jika suatu proses harus menyerahkan CPU kepada proses dengan prioritas lebih tinggi, atau jika proses itu sendiri secara sukarela menyerahkan CPU, misalnya saat menunggu operasi <a href=\"https:\/\/www.linuxid.net\/istilah\/input-output-I-O\/\">input\/output<\/a>.<\/li>\n<li><b>Interrupt.<\/b> Context switching dapat terjadi akibat adanya <a href=\"https:\/\/www.linuxid.net\/istilah\/interrupt\/\">interupsi<\/a> sistem dari perangkat keras atau perangkat lunak. Misalnya, sebuah keyboard dapat mengeluarkan interupsi saat pengguna menekan tombol, atau sebuah aplikasi dapat meminta interupsi saat membutuhkan masukan dari pengguna. Sistem operasi biasanya memiliki interrupt handler untuk memproses dan memprioritaskan permintaan ini.<\/li>\n<li><b>Peralihan user\/kernel.<\/b> Dalam beberapa kasus, context switching terjadi ketika sistem operasi beralih antara mode pengguna (user mode) dan <a href=\"https:\/\/www.linuxid.net\/istilah\/kernel\/\">kernel mode<\/a>. Misalnya, sebuah proses mungkin perlu beralih ke kernel mode untuk mengakses sumber daya sistem, yang dapat memerlukan context switch untuk menyesuaikan tingkat hak akses yang berbeda.<\/li>\n<\/ul>\n<p>Ketika CPU menghadapi salah satu pemicu ini, ia akan menjalankan serangkaian langkah yang mengatur eksekusi proses. Ilustrasi berikut memberikan gambaran umum tentang bagaimana context switching dapat terjadi antara dua proses. Pendekatan pasti terhadap context switching bergantung pada sistem operasi dan variabel lainnya. Namun, secara konseptual, sebagian besar sistem mengikuti pola yang serupa.<\/p>\n<p>Ilustrasi ini menunjukkan bagaimana CPU bergantian antara Proses 1 dan Proses 2, beralih antara status eksekusi dan status idle. Berikut adalah urutan dasar peristiwa saat berpindah antar proses:<\/p>\n<ol class=\"default-list\/\">\n<li>CPU menjalankan Proses 1.<\/li>\n<li>Sebuah peristiwa pemicu terjadi, seperti interupsi atau sistem call.<\/li>\n<li>Sistem menghentikan sementara Proses 1 dan menyimpan statusnya ke PCB 1.<\/li>\n<li>Sistem memilih Proses 2 dari antrean dan memuat statusnya dari PCB 2.<\/li>\n<li>CPU menjalankan Proses 2, melanjutkan dari titik terakhir (jika proses sudah pernah berjalan sebelumnya).<\/li>\n<li>Ketika peristiwa pemicu berikutnya terjadi, sistem menghentikan sementara Proses 2 dan menyimpan statusnya ke PCB 2.<\/li>\n<li>Status Proses 1 dimuat kembali, dan CPU menjalankannya kembali dari titik terakhir. Proses 2 tetap dalam keadaan idle hingga dipanggil lagi.<\/li>\n<\/ol>\n<p>Semakin banyak jumlah proses yang aktif, semakin kompleks operasi ini, terutama karena proses terus dimulai dan dihentikan. Meskipun demikian, CPU tetap hanya dapat mengeksekusi satu proses dalam satu waktu, berapa pun jumlah proses dalam antrean. Context switching juga memerlukan waktu karena sistem harus menyimpan dan mengambil data status untuk setiap transisi. Semakin sering terjadi switching, semakin banyak waktu yang dibutuhkan untuk beralih bolak-balik. Jika overhead terlalu besar, performa sistem dapat menurun.<\/p>\n<p>Context switching dapat dilakukan sepenuhnya dalam perangkat keras, meskipun pendekatan ini umumnya terbatas pada CPU lama seperti seri <a href=\"https:\/\/www.linuxid.net\/istilah\/x86-64\/\">x86<\/a> awal. Saat ini, context switching berbasis perangkat lunak dan biasanya ditangani di dalam kernel, yang lebih cepat dan efisien dibandingkan dengan context switching berbasis perangkat keras. Sistem modern dapat melakukan ratusan context switch per detik. Meskipun komputer tampak menjalankan beberapa tugas secara <a href=\"https:\/\/www.linuxid.net\/istilah\/parallel-processing\/\">paralel<\/a>, sebenarnya CPU hanya bergantian antara operasi dengan kecepatan sangat tinggi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apa itu Context Switch? Context switch adalah sebuah operasi yang dilakukan oleh unit pemrosesan pusat (CPU) ketika berpindah antara proses atau thread sambil memastikan bahwa proses-proses tersebut tidak saling bertabrakan. Context switching yang efektif memungkinkan sistem untuk mendukung lingkungan multitasking. Setiap kali CPU melakukan perpindahan, sistem sementara menghentikan tugas yang sedang berjalan, menyimpan statusnya (konteks) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67],"tags":[81],"class_list":["post-436","post","type-post","status-publish","format-standard","hentry","category-computer-science","tag-microprocessors"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apa itu context switch? - Istilah Komputer<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.linuxid.net\/istilah\/context-switch\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apa itu context switch? - Istilah Komputer\" \/>\n<meta property=\"og:description\" content=\"Apa itu Context Switch? Context switch adalah sebuah operasi yang dilakukan oleh unit pemrosesan pusat (CPU) ketika berpindah antara proses atau thread sambil memastikan bahwa proses-proses tersebut tidak saling bertabrakan. Context switching yang efektif memungkinkan sistem untuk mendukung lingkungan multitasking. Setiap kali CPU melakukan perpindahan, sistem sementara menghentikan tugas yang sedang berjalan, menyimpan statusnya (konteks) [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.linuxid.net\/istilah\/context-switch\/\" \/>\n<meta property=\"og:site_name\" content=\"Istilah Komputer\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-13T19:25:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-13T19:25:02+00:00\" \/>\n<meta name=\"author\" content=\"adhit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"adhit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/context-switch\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/context-switch\/\",\"name\":\"Apa itu context switch? - Istilah Komputer\",\"isPartOf\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\"},\"datePublished\":\"2025-02-13T19:25:01+00:00\",\"dateModified\":\"2025-02-13T19:25:02+00:00\",\"author\":{\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.linuxid.net\/istilah\/context-switch\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.linuxid.net\/istilah\/context-switch\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.linuxid.net\/istilah\/context-switch\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/linuxid.net\/istilah\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"context switch\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#website\",\"url\":\"https:\/\/linuxid.net\/istilah\/\",\"name\":\"Istilah Komputer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/linuxid.net\/istilah\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d\",\"name\":\"adhit\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168\",\"contentUrl\":\"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168\",\"caption\":\"adhit\"},\"sameAs\":[\"https:\/\/linuxid.net\/istilah\"],\"url\":\"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apa itu context switch? - Istilah Komputer","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.linuxid.net\/istilah\/context-switch\/","og_locale":"id_ID","og_type":"article","og_title":"Apa itu context switch? - Istilah Komputer","og_description":"Apa itu Context Switch? Context switch adalah sebuah operasi yang dilakukan oleh unit pemrosesan pusat (CPU) ketika berpindah antara proses atau thread sambil memastikan bahwa proses-proses tersebut tidak saling bertabrakan. Context switching yang efektif memungkinkan sistem untuk mendukung lingkungan multitasking. Setiap kali CPU melakukan perpindahan, sistem sementara menghentikan tugas yang sedang berjalan, menyimpan statusnya (konteks) [&hellip;]","og_url":"https:\/\/www.linuxid.net\/istilah\/context-switch\/","og_site_name":"Istilah Komputer","article_published_time":"2025-02-13T19:25:01+00:00","article_modified_time":"2025-02-13T19:25:02+00:00","author":"adhit","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"adhit","Estimasi waktu membaca":"3 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.linuxid.net\/istilah\/context-switch\/","url":"https:\/\/www.linuxid.net\/istilah\/context-switch\/","name":"Apa itu context switch? - Istilah Komputer","isPartOf":{"@id":"https:\/\/linuxid.net\/istilah\/#website"},"datePublished":"2025-02-13T19:25:01+00:00","dateModified":"2025-02-13T19:25:02+00:00","author":{"@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d"},"breadcrumb":{"@id":"https:\/\/www.linuxid.net\/istilah\/context-switch\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.linuxid.net\/istilah\/context-switch\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.linuxid.net\/istilah\/context-switch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/linuxid.net\/istilah\/"},{"@type":"ListItem","position":2,"name":"context switch"}]},{"@type":"WebSite","@id":"https:\/\/linuxid.net\/istilah\/#website","url":"https:\/\/linuxid.net\/istilah\/","name":"Istilah Komputer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/linuxid.net\/istilah\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/ec7c6c711087fb70886ff5a4fe68e83d","name":"adhit","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/linuxid.net\/istilah\/#\/schema\/person\/image\/","url":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168","contentUrl":"https:\/\/www.linuxid.net\/istilah\/wp-content\/litespeed\/avatar\/808829c8eb1b70c161b392916104c2ba.jpg?ver=1782032168","caption":"adhit"},"sameAs":["https:\/\/linuxid.net\/istilah"],"url":"https:\/\/www.linuxid.net\/istilah\/author\/xsandradietsax\/"}]}},"_links":{"self":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/comments?post=436"}],"version-history":[{"count":0,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/posts\/436\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/media?parent=436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/categories?post=436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxid.net\/istilah\/wp-json\/wp\/v2\/tags?post=436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}