CS/운영체제
![[ETL] Context Switching](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbCTX50%2FbtrCNMQRtAe%2FAAAAAAAAAAAAAAAAAAAAAEAEaQehCr75enxxqz3hwUdqRyFFLuFG6X_8KJX-Kuzm%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DjjpKCv1e2DH78Ocgu92aA7A2C%252Bs%253D)
[ETL] Context Switching
출처 : SNUON / 운영체제의 기초: 쉽게 배우는 운영체제 원리 / 서울대 홍성수 교수님 Context switching 현재 수행중인 process의 context를 save 다음에 수행할 process의 context를 load Context Saving HW context, memory context, kernel context 중에서 뭘 저장할까? cpu registers(HW context) - 다음 프로세스가 수행될 때 덮어 씌워지므로 당연히 저장한다 - 일반적으로 데이터를 대피시킬 땐 계층 구조상 한 단계 아래에 있는 저장 장치로 대피시킨다 - 즉, cpu registers는 메인 메모리로 대피시킨다 memory context - 필요한 경우에만 부분적으로 저장한다 - 과거에는 저장을 아..
![[ETL] Processes and Threads - Process Scheduling](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbxohuD%2FbtrCjEAaAAn%2FAAAAAAAAAAAAAAAAAAAAANeRIyV88puQJALUaefQ9ypbFpliiK1vG-_2YjGhc-gA%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DSVFVeD9WLieZtzpY1%252BHpqoaF8aM%253D)
[ETL] Processes and Threads - Process Scheduling
출처 : SNUON / 운영체제의 기초: 쉽게 배우는 운영체제 원리 / 서울대 홍성수 교수님 Process scheduling - 각 프로세스가 CPU를 잘 공유할 수 있도록 다음에 수행할 process를 선택하는 일 - 제약 조건: fair scheduling, protection Fair scheduling - fairness는 상대적인 개념 - 예를 들어, 원자력 발전소에서는 일반 프로세스보다 원자력 관련 프로세스가 우선 - 하지만, 우리가 다루는 OS는 일반적인 목적의 OS $\rightarrow$ 각 프로세스가 언젠가 수행할 기회를 얻는다 Protection - 한 프로세스가 다른 프로세스에 문제를 일으켜서는 안된다 비유 - 자동차를 운전해서 부산에 갈 수 있는 방법은 많다 - 상황에 따라 영동..
![[ETL] Processes and Threads - Process Concept](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc32l1S%2FbtrCibrwppd%2FAAAAAAAAAAAAAAAAAAAAAGRlH2dgcpHqRhcqurffqh-ephjatJCbLb2mjwmJ_hQ1%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dnq7RWjlB1t6BjUulXjshdeiE9hM%253D)
[ETL] Processes and Threads - Process Concept
출처 : SNUON / 운영체제의 기초: 쉽게 배우는 운영체제 원리 / 서울대 홍성수 교수님 현대의 SW는 너무 복잡해서 분석하기 위해 abstaction, decomposition 필요 decomposition : 복잡한 문제를 단순한 여러 개의 문제로 나누는 방법론 그리고 process가 이 decomposition의 단위가 된다 program in execution - 프로그램은 disk에 저장된 수동적인 데이터에 불과하다. - 프로그램을 실행하면 비로소 process가 되고 I/O 등의 작업들(execution stream)을 수행하게 된다. process state (= context) - 프로그램이 수행되는데 영향을 주거나 프로그램의 수행으로 인해 영향을 받을 수 있는 모든 것들 - ex) m..
![[ETL] Computer Hardware](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FciMdxz%2FbtrB6vceire%2FAAAAAAAAAAAAAAAAAAAAAC2EvqpWLL8k3dhK8BPJnKdMaUIcpW99SV4jlg9V5Xlx%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DXQFfvoGiB%252FfNWtCzg%252BeWu5udYLE%253D)
[ETL] Computer Hardware
출처 : SNUON / 운영체제의 기초: 쉽게 배우는 운영체제 원리 / 서울대 홍성수 교수님 I. Computer Systems Architecture System bus - 각 장치 사이의 데이터 전송을 담당하는 회로 - data bus : 실제 데이터를 주고받는 bus - address bus : address (data의 source, destination)를 주고받는 bus Bus master - bus transaction을 시작할 수 있는 장치 - ex) CPU, I/O device controller, DMA controller 등 Bus slave - bus master의 명령을 받고 수행하는 장치 - bus slave는 데이터를 저장하기 때문에 address를 가지고 있어야 한다 - ex..