본문 바로가기
반응형

cs 기초16

프로세스 생성과 복사 프로세스 관련 함수Win32 APIUNIXCreateProcess();fork();  exec();ExitProcess();exit();WaitForSingleObject();wait();   새로운 프로세스 생성OS는 프로세스 마다 가상메모리 공간을 할당한다.새로운 프로세스가 정상 작동하기 위해 가상 메모리 공간이 준비되어야 한다.Process + PCB + VMS(가상 메모리 공간)새로운 프로세스 생성 시 부모 프로세스(기존)와 자식 프로세스(새로운)로 관계가 형성된다.  fork와 exec의 차이fork(): 새로운 프로세스를 위해 메모리를 할당한다, 기존 프로세스를 복사한다.exec(): 새로운 프로세스를 위해 메모리를 할당 하지 않고, exec()에 의해 호출된 프로세스만 메모리에 남게된다.fo.. 2024. 8. 17.
프로세스와 스레드 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.
인터럽트와 DirectX 인터럽트란?사전적 의미로는 '끼어들다', '중단시키다' 정도의 의미를 가진 말로 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 후 다시 실행중인 작업으로 복귀하는 것을 말한다. 인터럽트의 종류인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트전원 이상 인터럽트(Power fall interrupt): 말 그대로 정전, 파워 이상 등기계 착오 인터럽트(Machine check Interrupt): CPU의 기능적인 오류외부 신호 인터럽트(External Interrupt)- 타이머에 의한 인터럽트: Preemptive 개념을 생각하면 된다. 자원이 할당된 시간이 다 끝난 경우- 키보드로 인터럽.. 2024. 8. 11.
반응형