본문 바로가기

CS14

[운영체제] 멀티 프로세스(Multi-Process)와 멀티 스레드(Multi-Thread) 프로세스(Process) 프로세스는 CPU(프로세서)에 의해 실행되는 프로그램이다. 그림으로 보면 아래와 같다. 프로그램은 application 개발자가 작성한 코드이다. 프로그램은 실행이 되지 않는다면 그냥 데이터의 집합일 뿐이다. 이 프로그램을 작동 시키려면 CPU(프로세서)에서 코드를 읽고 명령어를 실행 시켜야한다. 하지만 현대의 거의 모든 컴퓨터들은 폰노이만 구조를 하고 있기 때문에 디스크에 있는 프로그램을 바로 CPU로 전달할 수 없다. 그래서 메인 메모리에 프로그램을 올리고 메모리에서 코드들을 한줄씩 CPU에 전달하여 실행 하게된다. 이렇게 메모리에 올려저서 실행 중인 프로그램을 프로세스라고 한다. (메모리에 올라간 것 자체가 실행 준비 상태로 볼 수 있기 때문에 메모리에 올라가는 자원 할당 .. 2022. 9. 28.
[네트워크] OSI 7 Layer OSI 7 Layer OSI 7 Layer란 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 즉, 다양한 컴퓨터 간 데이터 전송을 지원할 수 있는 추상 모델을 표준화한 것이다. 그렇다면 OSI 7 계층은 왜 필요할까? 컴퓨터(네트워크) 간 통신을 하려면 생각보다 많은 과정들이 필요하다. 예를 들자면 컴퓨터 간 식별도 해야하고 어떤 방식으로 전송을 할건지, 데이터에 손상은 없는지 확인하는 작업 등을 해야한다. 필요한 각 과정들을 표준화하여 7개의 계층으로 분리하여 각 계층 간 상호 작동하는 방식을 정해 놓은 것이다. 이는 실제로 쓰이는 모델이라기보다는 네트워크 통신을 할 때 이러한 프로토콜이 필요하다고 정해놓은 스펙에 불과하다. 실제로 우.. 2022. 9. 28.