컴퓨터 공학 37

24.CPU 스케줄링

1.CPU 스케줄링 1)정의 및 개요 -운영체제가 프로세스들에게 공정적이고 합리적으로 CPU 자원을 배분하는 것. -프로세스마다 우선순위를 가지고 있고 높은 프로세스에는 입출력 작업이 많은 프로세스가 있다. -우선순위는 PCB에 명시되고 적한 순위가 높은 것을 선택하여 처리할 프로세스를 결정한다. -프로세스는 실행 상대와 대기상태를 반복하여 실행된다. 2)입출력 집중 프로세스(I/O bound process) -비디오 재생이나 디스크 백업 작업등 입출력 작업이 많은 프로세스 3)CPU 집중 프로세스(CPU bound process) -복잡한 수학연산,컴파일,그래픽 처리 작업을 담당하는 CPU작업 프로세스. 2.스케줄링 큐(Scheduling queue) 1)정의 및 개요 -PCB에 우선순위가 있어도 CP..

23.스레드

1.스레드 1)정의: 프로세스를 구성하는 흐름의 단위. -스레드를 이용하여 프로세스에서 여러 부분을 동시에 실행가능. 2.프로세스와 스레드 1)단일 스레드 프로세스: 실행흐름이 하나인 프로세스. 2)멀티 스레드 프로세스 : 실행 흐름이 여러 개인 프로세스. -예전부터 프로세스는 한번에 하나의 일만 처리했다. -하지만 스레드라는 개념을 통해 하나의 프로세스에서 여러 개의 일을 동시에 처리할수 있게 되었다. -스레드는 프로세스 내의 각기 다른 스레드ID,프로그램 카운터 값을 포함한 레지스터 값, 스택으로 구성된다. -스레드들은 프로세스내에 실행에 필요한 자원을 공유한다. 3.멀티프로세서와 멀티 스레드 1)멀티 프로세서 :여러 프로세스를 동시에 실행 하는 것. 2)멀티 스레드 : 여러 스레드를 프로세스 내에 ..

22.프로세스 상태와 계층 구조

1.프로세스 상태 1)정의 : 말 그대로 프로세스의 현재 상태. 2)생성상태(new): 메모리에 적재되어 PCB를 할당받은 상태. 3)준비상태(ready): CPU의 자원을 할당받아 실행하기 전 대기상태. 4)실행상태(running): CPU를 할당받아 실행중인 상태. 5)대기상태(blocked): 입출력 장치의 작업을 기다리는 상태. 6)종료상태(terminated): 프로세스가 종료된 상태. 2.프로세스 계층 구조 1)정의 및 개요 -프로세스는 실행 도중 시스템 호출을 통해 다른 프로세스를 생성할 수있다. -이 때 생성한 프로세스를 부모 프로세스 생성된 프로세스는 자식 프로세스라고 한다. - 여러 프로세스간의 이어진 연결을 나타낸 것이 프로세스 계층 구조이다. *자식과 부모는 다른 PID를 가지고 있..

21.프로세스

1.프로세스 1)정의 보조기억장치를 메모리에 적재되어 실행중인 프로그램. *프로세스 확인하기 2)포그라운드 프로세스(foreground process) -사용자가 가시적으로 확인하고 실행되는 프로세스 3)백그라운드 프로세스(background process) -사용자가 확인하지 못하는 프로세스. 유닉스에선 데몬(daemon) 윈도우에선 서비스(service)라고 한다. 2.프로세스 제어 블록(PCB: Procees Control Block) 1)정의 및 개요 - CPU 자원은 한정 되있고 모든 프로세스를 가동할 수 없다. 그래서 프로세스는 한정된 시간만큼 CPU를 이용하고 다른 프로세스 이용하고 다시 자신의 차례가 올 때까지 대기한다. -프로세스가 여태까지 작업을 백업하고 다시 작업에 복귀하는데 쓰이는 ..

20.운영체제의 큰 그림

1.운영체제 1)정의: 사용자가 실행하는 프로그램을 위한 프로그램 2)커널(Kernel): 운영 체제의 일부로써 하드웨어와 프로세스의 운용을 위한 소프트웨어. 3)사용자 인터테이스: 사용자가 컴퓨터와 상호작용할 수 있는 통로. *그래픽 유저 인터페이스 :그래픽 기반으로 하는 사용자 인터페이스 *커맨드라인 인터페이스 :명령어를 기반으로하는 사용자 인터페이스. 2.이중모드와 시스템 호출 1)개요 -운영체제는 사용자가 사용하는 응용프로그램이 하드웨어 자원에 직접 접근을 방지하여(보호) 운영체제를 통해서만 접근하도록 한다. -응용프로그램은 하드웨어에 데이터를 저장하려고 한다면 운영체제에 신호를 보내게 된다. 2)이중모드 -이중모드(dual mode)란 CPU가 명령어를 실행하는 모드를 사용자모드와 커널모드로 나..

19.운영체제를 알아야 하는 이유

1.운영체제 1)정의: 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행하도록 돕는 프로그램. 2)커널영역: 운영체제 프로그램이 적재되는 메모리공간. 3)사용자영역: 사용자가 이용하는 응용프로그램을 적재하는 메모리공간. 4)운영체제를 알아야하는 이유 -사용자가 사용하는 프로그램은 하드웨어를 조작하는 운영체제를 바탕으로 돌아간다. 운영체제와는 사용자와 메시지를 통해 대화할 수 있고 운영체제를 알면 문제해결능력이 상승한다.

18.다양한 입출력

1.프로그램 입출력(programmed I/O) 1)정의: 프로그램 속 명령어로 입출력장치를 제어하는 방법. 2)과정 -첫째. CPU가 하드디스크 컨트롤러의 제어 레지스터에 쓰기 명령을 보냅니다. -둘째.하드디스크 컨트롤러는 하드 디스크 상태를 확인합니다. 하드 디스크가 준비된 상태라면 하드디스크는 상태 레지스터에 준비완료 상태를 저장합니다. -셋째. CPU는 상태 레지스터를 지속적으로 읽으며 하드디스크의 준비여부를 확인. 하드디스크가 준비됐음을 CPU가 알게 되면 백업할 메모리의 정보를 데이터 레지스터에 씁니다. 작업이 완료될 때까지 지금까지의 과정을 반복합니다. -CPU는 상대적으로 먼 장치 컨트롤 간의 명령어를 다 알고 있지 않다. 그래서 명령어를 저장하는 방식 중 메모리 맵 입출력 및 고립형 입출..

17.장치 컨트롤러와 장치 드라이버

1.입출력장치 1)정의:-컴퓨터와 사용자 간의 정보를 교환하게하는 장치. 2)입출력 장치의 특징 -입출력장치는 CPU와 메모리보다 사용하기 까다롭다. -첫번째 이유로 입출력의 장치는 종류가 많고장치마다 주고받는 속도,데이터 전송 형식이 다앙하여 주고받는 방식을 규격화하기 어렵다. -두번째로 CPU와 메모리보다 전송률이 낮기 때문이다. -전송률이 낮기 때문에 주고받는 통신이 힘들다. *전송률:데이터를 얼마나 빠르게 교환할 수 있는 수치. 2.장치 컨트롤러(device controller) 1)정의: 입출력장치와 컴퓨터(CPU)간의 중계를 해주는 장치 2)역할 -입출력장치와 컴퓨터(CPU)간의 중계 및 오류검출 -데이터 버퍼링. 3)입출력장치와 컴퓨터(CPU)간의 중계 -입출력장치에서 받은 데이터를 오류를 ..

16.RAID의 정의와 종류

1.RAID(Redundant Array of Independence Disks) 1)정의 : 데이터의 안전성 높은 성능을 위해 여러 개의 물리적 보조장치를 하나의 논리적 보조기억장치처럼 사용하는 기술. -1개에 보조기억장치에서 읽고 쓰는 것보다 4개를 동시에 읽고 쓰는 것이 휠씬 속도가 빠르다. -스트라입(stripe): 줄무늬 처럼 분산되어 저장된 데이터. -스트라이핑(striping): 데이터를 분산히여 저장하는것. 2.RAID의 종류 1)RAID 레벨: RAID의 구성방법 2)RAID0 -여러 개의 보조장치에 데이터를 단순히 나누어 저장하는 방식. -단점:1개의 저장장치가 문제가 생기면 다른 디스크에서도 정보를 읽는데 문제가 생길 수 있다. 3)RAID1 -원본 데이터에 완전한 복사본을 만들어 저..

15.다양한 보조기억장치

1.보조기억장치 1)정의: 전원이 꺼져도 저장(비휘발성)하고 용량이 큰 저장장치가 보조기억장치이다. 2.하드디스크(HDD: Hard Disk Drive) 1)정의: 자기적인 방식으로 데이터를 저장하는 보조기억장치 중 하나이다.. 2)플래터(plater) -원형의 판으로 하드디스크에서 실질적으로 데이터가 저장되는 공간. -수많은 N극 S극이 있고 0과1에 대응하여 데이터를 저장한다. 3)스핀들(spindle) -플래터를 회전시키는 부품 -돌리는 속도는 RPM으로 나타낸다. 4)헤드(head) -플래터에서 데이터를 읽고 쓰는 부품. -뾰족한 바늘같이 생긴 형태로 플레터 위에 떠 있다. 5)디스크 암(disk arm) -헤드의 위치를 이동시키는 부품. -하드디스크는 여러 겹의 플래터가 있고 양면으로 데이터를 ..