CS/운영체제

    [ETL] Context Switching

    [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

    [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

    [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

    [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..