Để tạo điều kiện thuận lợi cho đa lập trình, bộ xử lý phải có khả năng chuyển từ tiến trình này sang tiến trình khác, trong khi vẫn chưa hoàn tất tiến trình hiện tại. Tên tổng quát cho tác vụ này là chuyển đổi ngữ cảnh. Nếu bộ xử lý được hỗ trợ để chuyển từ tiến trình A sang tiến trình B, chúng ta có thể nghĩ về việc nạp thanh ghi bộ đếm chương trình( PC) với địa chỉ của câu lệnh đầu tiên được thi hành trong tiến trình B. Thật vậy, nó sẽ làm chuyển đổi, nhưng chúng ta sẽ mất tất cả các giá trị tạm thời của tiến trình A nằm trong thanh ghi CPU ngay trước khi chuyển đổi. Từ khi chúng ta không lưu lại bộ đếm vị trí( LC) của tiến trình A, chúng ta sẽ không thể chuyển trở lại tiến trình A và tiếp tục thi hành nó, hơn thế nữa, chúng ta phải khởi động lại tiến trình A. Nó sẽ không làm việc tốt với tiến trình B hoặc nếu nó không phải là lần đầu nó được chọn để thi hành.
Giả sử chúng ta muốn chuyển từ tiến trình A sang tiến trình B, sáu bước sau đây phải được thực hiện theo thứ tự miễn là hành động chính xác và có hệ thống để chuyển từ tiến trình này sang tiến trình khác.
Giá trị hiện thời của thanh ghi CPU được lưu trữ và kiểm soát được chuyển giao cho hệ điều hành.
Toàn bộ dữ liệu tạm, các kết quả, và các giá trị điều khiển của tiến trình A được lưu vào trong bộ nhớ chính. Những giá trị này bao gồm, nhưng không bị hạn chế : bộ đếm vị trí, con trỏ ngăn xếp, cờ, từ trạng thái chương trình( Program Status Word – PSW), và nội dung thanh ghi tổng quát.
Trạng thái của tiến trình A được thay đổi từ chạy thành hoặc sẵn sàng hoặc chờ/bị chặn, tùy thuộc vào lý do để chuyển đổi.
Toàn bộ dữ liệu tạm, kết quả, và giá trị điều khiển của tiến trình B ngoại trừ LC của nó được nạp vào nơi thích hợp của chúng trong CPU. Nếu là lần đầu tiên tiến trình B được trao cơ hội để sử dụng CPU, một số những nơi đó sẽ được khởi tạo bởi hệ điều hành.
Trạng thái của tiến trình B được thay đổi thành chạy.
Thanh ghi PC được điền đầy với địa chỉ của các lệnh đầu tiên của tiến trình B để được thi hành tiếp theo.
Chuyển đổi tiến trình đôi khi được gọi là chuyển đổi ngữ cảnh vì các điều kiện xác định phương hướng hành động có thể thay đổi theo thứ tự đối với các câu lệnh của tiến trình mới để được thi hành tiếp theo.
Con trỏ ngăn xếp là thanh ghi trỏ vào vị trí của một vùng nhớ đặc biệt gọi là ngăn xếp. Ngăn xếp, chính nó, được tìm thấy trong bộ nhớ chính cốt để lưu trữ thông tin quản lý cho một tiến trình. Các kiểu lưu trữ thông tin trong ngăn xếp là vào trước ra sau( Last-In-Fist- Out – LIFO). Đối với kiểu ngăn xếp thông tin này là cấu trúc dữ liệu tốt nhất. Trách nhiệm của hệ điều hành là xây dựng một( hoặc nhiều) ngăn xếp cho mỗi tiến trình. Xây dựng ngăn xếp được thực hiện trong quá trình tạo ra tiến trình.
Các cờ là một tập hợp các bit giải thích tình trạng hiện tại của CPU và/hoặc tình trạng của lệnh thi hành trước đó. Không phải tất cả các câu lệnh ảnh hưởng tới cờ. Một cờ được thiết lập/thiết lập lại bởi việc thi hành một số câu lệnh sẽ luôn biểu diễn tác động của việc thi hành các câu lệnh như thế cuối cùng.
Từ trạng thái chương trình( Program Status Word – PSW) là một thanh ghi chứa chế độ thao tác hiện tại, các cờ, các bit mặt nạ, LC,.. của tiến trình đang chạy. Trong một số bộ xử lý, thanh ghi này có thể không tồn tại, nếu toàn bộ thông tin được cung cấp bởi các phương tiện khác.