본문 바로가기
반응형

Computer Science32

프로세스 생성과 복사 프로세스 관련 함수Win32 APIUNIXCreateProcess();fork();  exec();ExitProcess();exit();WaitForSingleObject();wait();   새로운 프로세스 생성OS는 프로세스 마다 가상메모리 공간을 할당한다.새로운 프로세스가 정상 작동하기 위해 가상 메모리 공간이 준비되어야 한다.Process + PCB + VMS(가상 메모리 공간)새로운 프로세스 생성 시 부모 프로세스(기존)와 자식 프로세스(새로운)로 관계가 형성된다.  fork와 exec의 차이fork(): 새로운 프로세스를 위해 메모리를 할당한다, 기존 프로세스를 복사한다.exec(): 새로운 프로세스를 위해 메모리를 할당 하지 않고, exec()에 의해 호출된 프로세스만 메모리에 남게된다.fo.. 2024. 8. 17.
프로세스 휴식, 보류 상태와 문맥(Context) 프로세스의 상태프로세스의 상태는 전이한다.생성 → 준비 → 실행 → 완료생성 → 준비 → 실행 → 대기 → 준비 → 실행 → 완료  Ready Queue (준비 상태 큐)준비 상태의 프로세스(스레드)를 Queue에 가지고 있는다.OS가 T1, T2 등의 프로세스(스레드)를 디스패치하여 끄집어내서 실행프로세스가 I/O 요청 시 Device에서 응답 받을 때 까지 기다린다. = 대기 상태 = Blocking I/O요청한 프로세스의 실행상태가 유지됨 =  기다리지 않고 비동기적으로 한다. = Non Blocking I/O   프로세스의 Sleep(휴식) 과 Suspend(보류)Sleep(휴식) → 자발적 이탈 ( '나 좀 자러 갈게' )Suspend(보류) → 외부 요인에 의해 의도치 않게 이탈 ( '너 좀 .. 2024. 8. 16.
프로세스와 스레드 Process와 Thread의 차이프로세스(Process) = 관리의 단위 = 연산할 것프로세스 = 파일로 되어 있는 프로그램의 일부가 메모리에 적재된다. (실행되고 있는 프로그램)프로세스(작업)는 최소 1개의 스레드가 존재한다.스레드(Thread) = 1개 프로세스 내 개별화된 코드의 실행 흐름멀티 스레딩(Multi Threading) = 1개 프로세스 내 개별화된 여러 개의 실행 흐름  가상메모리에 할당된 공간OS는 Virtual Memory를 프로세스에 할당한다.프로세스에 속한 모든 스레드는 프로세스의 Virtual Memory로 공간이 제약된다.스레드는 실질적 연산의 주체멀티 스레딩 → 동시성 + 동기화 이슈프로세스 = 1 가구스레드 = 1 세대원Vurtual Memory = 1 가구가 존재하는 .. 2024. 8. 15.
CPU 예측이 가져오는 문제점(멜트다운, 스펙터) CPU가 예측해서 발생한 심각한 문제(CPU 게이트)CPU = 교수, Cache Memory = 조교, RAM = 도서관조교는 교수가 다음에 사용할 책을 예상하여 도서관에서 가져온다.반대의 관점 → 조교가 시키지도 않은 일을 하여 교수의 행동이 예측됨. CPU 정보 처리 방식CPU 안에는 레지스터가 있다. CPU는 일을 할 때 임시로 숫자를 레지스터에 적어둔다.각종 프로그램들은 RAM에 자신이 필요한 정보를 적어둔다.캐시는 RAM에 비해서 매우 빠르게 정보를 넣었다 뺐다 할 수 있다.  멜트다운 간단 설명유저 프로그램이 운영체제 권한 영역을 훔쳐보는 취약점100번 방에서 숫자를 꺼낸다.100번 방에서 꺼낸 숫자를 레지스터 al에 임시로 저장한다.al에 저장된 숫자와 1000을 더한다. (여기에서는 109.. 2024. 8. 14.
CPU와 캐시 메모리 기억장치 종류와 역할CPU = 연산 장치, Core(코어)가 연산을 한다.CPU 연산 속도 ↑ = 처리량 ↑ = 성능 ↑클럭 속도 ↑ = Scale Up, 코어의 개수 ↑ = Scale Out, RAM = 연산을 하는 데이터 저장RAM은 CPU에 비해 속도가 느리므로 속도 차이를 극복하기 위해 중간에 Cache memory를 사용한다.CPU가 연산을 하면서 Cache memory에 RAM에서 가져올 다음 정보를 예측하여 복사해온다.CPU: 교수, Cache memory: 조교, RAM: 도서관 → 조교는 교수가 다음에 사용할 책을 예상하여 도서관에서 가져온다.  CPU도 당신처럼 예측하고 미리 움직인다코어가 명령 + 데이터를 L1 캐시에서 가져온다.예측은 캐시 메모리에서 발생한다.0에서 99까지 숫자를 .. 2024. 8. 13.
DMA와 고성능 소켓 DMA 정보 전달 방식기존 정보 전달 방식 = CPU → RAM 영역 1 → RAM 영역 2 → Device 영역 DMA(Direct Memory Access) = 약속된 곳에 Direct로 데이터를 Write → NIC에서 사용DMA 사용한 정보 전달 방식 = CPU → Device 영역   네트워크 상에서 정보 통신어떤 파일이 있고 그 파일은 커널의 구성요소를 추상화 한다. → 인터페이스그 파일에는 I/O Buffer가 있다. 각 영역에는 I/O Buffer가 존재, I/O Buffer는 일종의 데이터 저장소다. → RAM 메모리 일부TCP/IP 네트워크 통신에서 파일은 Socket이 된다.파일에 대해 Write 한다. = 소켓은 Send 한다.NIC은 DMA를 지원한다.DMA 사용 시 그림1과 같은.. 2024. 8. 12.
반응형