강의 목표 > 운영체제의 정의와 목표를 알고 기능을 간단히 이해한다. 운영체제가 없던 시절에서 운영체제가 생겨나는 태동 과정을 앎으로써 운영체제의 발단과 역할을 이해한다. 원시 운영체제 이후 운영체제의 발전 과정을 이해한다. 다중프로그래밍의 출현이 가져온 컴퓨터 시스템
1. 컴퓨터 시스템과 하드웨어 1.1 컴퓨터 시스템의 범위 컴퓨터 시스템은 다음 3개의 요소들이 층을 이루는 구조로 구성되어 있다. > 응용소프트웨어 층 운영체제 층 컴퓨터 하드웨어 층 컴퓨터 시스템의 계층구조는 다음과 같은 중요한 특징을 보여준다 > 사용자는 응용프로그램이나 운영체제 패키지에 포함된 GUI와 도구 프로그램(툴/유틸리티 프로그램)을 통해...
강의 목표 > 프로세스는 운영체제가 만든 프로그램을 실행시키고 종료할때까지 관리하기 위해 만든 정보 체계임을 안다. 프로세스의 구성, 주소 공간, 생명 주기 등에 관해 충분히 이해한다. 커널이 어떻게 프로세스를 관리하는지 이해한다. 프로세스들 사이의 부모 자식 계층 구조를 이해한다. 프로세스의 제어에 대해 이해한다. *자식 프로세스...

강의 목표 프로세스의 문제점을 인식하고 스레드의 필요성과 개념을 이해한다. 오늘날 운영체제의 실행 단위가 스레드임을 알고 오늘날 운영체제는 스레드 단위로 스케줄함을 안다. 스레드와 프로세스의 차이, 이들의 관계에 대해 이해한다. 멀티스레드 샘플 코드를 통해 멀티스레드

강의 목표 CPU 스케줄링의 목표와 다양한 평가 기준에 대해 이해한다. CPU 스케줄링이 일어나는 상황과, 커널에서 CPU 스케줄링이 일어나는 위치에 대해 이해한다. 선점 스케줄링과 비선점 스케줄링을 구분할 수 있다. 기아와 에이징의 개념을 이해한다. 다양한 CPU 스

강의 목표 스레드 동기화의 정의와 필요 이유를 이해한다. 스레드 동기화를 위한 상호배제 임계구역에 대해 이해한다. 상호배제를 구현하는 여러 방법을 이해하고 최종적으로 원자 명령에 대해 이해한다. 응용프로그램에서 사용 가능한 멀티스레드 동기화 기법들을 안다. 뮤텍스, 스

<span style="background-color: - 컴퓨터 시스템에서의 <span style="background-color: 교착상태를 판단할 수 있는 <span style="background-color: - 교착상태가 유발 가능한 <s

강의 목표 컴퓨터 시스템에 존재하는 다양한 저장소들로 구성되는 메모리 계층 구조를 이해하고 필요성을 안다. 메모리에 대한 물리 주소와 논리 주소를 이해하고 프로그램 실행 중에 논리 주소가 물리 주소로 변환됨을 안다. 프로세스의 실행에 필요한 메모리 할당 정책에 대해