
1. programmed I/Oprogrammed I/O란무엇일까? 대단한말 같지만 말 그대로다 프로그래밍된 I/O라는 말이다. CPU가 I/O 장치에 일을 시킬때 해당 장치의 Device Controller에게 일을 시킨다. 이때 CPU가 Device Controller에 존재하는 register 값을 읽고 씀으로써 I/O가 이루어진다. 예시는 다음과 같다.1) CPU는 상태 레지스터를 주기적으로 읽어보며 하드 디스크의 준비 여부를 확인 2) 하드 디스크가 준비되었다면 CPU는 백업할 메모리의 정보를 데이터 레지스터에 쓰기programmed I/O에서는 Device Controller의 작업 상태를 확인하기위해 주기적으로 register값을 확인한다. 이렇게 주기적으로 확인하는 방식을 다른말로 폴링이라..

1 일괄처리컴퓨터에서 프로그램을 작성하여 실행하는 과정을 알아보자. 지금은 프로그래머가 직접 컴퓨터 앞에 앉아 모니터 화면을 보면서 키보드 입력을 통해 소스 코드를 작성한다. 이클립스 eclipse 등 통합개발환경을 사용하기 때문에 프로그램 작성도 수월하고 디버깅 지원도 받을 수 있으며 작성된 프로그램을 즉시 실행해 볼 수도 있다. 실행 결과는 모니터 화면에서 바로 볼 수 있다.그러나 옛날에는 그렇게 할 수 없었다. 키보드도 모니터도 없었기 때문이다.과정프로그래머는 코딩 시트 coding sheet 라는 종이에 연필로 소스 코드를 적고, 그것을 전산소에 제출한다.제출하면 전산소에서는 이 코드 내용을 천공카드 punched card 로 옮긴다.천공카드는 종이로 된 카드인데, 카드의 특정 위치에 구멍을 뚫음..

1.1 운영체제운영체제는 영어로 Operating System 이며 O/S 또는 OS 라는 약칭으로 표기한다.운영체제는 하드 디스크 등 보조기억장치 내에 저장되어있는 컴퓨터 프로그램의 일종이다.운영체제는 계속 메모리에 상주한다. 즉 지워지지 않는다. 운영체제 프로그램이 메모리에서 사라지는 유일한 경우는컴퓨터를 끌 때 뿐 이다. 메모리 상주는 운영체제 프로그램이 다른 프로그램과 구분되는 중요한 특징 중 하나다.1.2 운영체제의 목적컴퓨터 사용 편의운영체제가 하는 일은 사용자에게 컴퓨터 사용의 편의성을 제공해주는 것이다. 이것이 운영체제의 첫 번째 목적이다. 운영체제는 사용자가 디스크, 메모리, 프린터 등 컴퓨터 하드웨어에 대해 잘 알지 못해도 어려움 없이 컴퓨터를 사용할 수 있게 해준다.성능 향상컴퓨터 세..

프로세스가 메모리를 할당 받으면 자신만의 방법으로 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 우리는 이를 프로세스 주소 공간이라고 부른다.프로세스의 메모리 배치는 일반적으로 여러 섹션으로 구분되며 위 그림과 같다.텍스트 영역: 실행 코드데이터 영역: 전역변수힙 영역: 프로그램 실행 중에 동적으로 할당되는 메모리스택 영역: 함수를 호출할 때 임시 데이터 자장장소(함수 매개변수, 복귀 주소 및 지역 변수)스택 영역스택 영역은 함수 호출이 발생할 때마다 임시 데이터를 저장하는데 사용되는 메모리 공간이 영역은 후입선출(LIFO) 방식으로 동작하며, 함수가 호출될 때 해당 함수의 매개변수, 복귀 주소 및 지역 변수가 이곳에 저장된다.함수의 실행이 완료되면 해당 함수에 할당된 스택 프레임이 제거되..