본문 바로가기
728x90

전체 글63

[WIL] 크래프톤 정글 9~10주차 - PintOS 키워드 정리 User mode vs Kernel modeUser mode- 유저(사용자)가 접근할 수 있는 영역을 제한적으로 두고, 프로그램의 자원에 함부로 접근하지 못하는 모드이다. - 이 모드에서 코드를 작성하고, 프로세스를 실행하는 등의 행동이 가능하다. - 유저 어플리케이션 코드가 유저 모드에서 실행된다고 이해하면 된다.Kernel mode- 하드웨어를 포함한 모든 자원(드라이버, 메모리, CPU 포함)에 접근, 명령할 수 있다.User mode와 Kernel mode의 전환- User mode ─> Kernel mode : 프로세스가 유저 모드에서 실행되다가 Kernel mode에서 실행해야하는 특별한 요청이 필요할 때 system call을 이용해 커널에 요청한다. - Kernel mode ─>  User.. 2024. 5. 21.
[WIL] 크래프톤 정글 8~9주차 - PintOS 키워드 정리 미완성 글입니다... 이후 내용 추가 및 수정 예정입니다.Process, ThreadProcess- 프로세스란 운영체제로부터 시스템 자원을 할당받은 작업의 단위로, 쉽게 말하면 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램이라고 할 수 있다. - 할당받는 자원의 예로는 CPU 시간, 운영되기 위해 필요한 주소 공간, Stack, Heap, Data, Code의 구조로 되어있는 독립된 메모리 영역 등이 있다.- 프로세스는 각각 독립된 메모리 영역을 할당받는다. - 기본적으로 프로세스는 각각 최소 1개의 스레드를 가지고 있다. - 기본적으로 각 프로세스는 별도의 주소 공간에서 실행되기 때문에 다른 프로세스의 데이터에 접근할 수 없다. 다른 프로세스에 접근하려면 프로세스 간의 통신(IPC, inter-p.. 2024. 5. 21.
[TIL] 크래프톤 정글 7주차 - 프록시(Proxy) 프록시(proxy)란?- 프록시(Proxy)는 클라이언트와 서버 사이에 존재하며, 중계기로서 대리로 통신을 수행하는 것이다. 해당 중계 기능을 하는 주체를 프록시 서버(Proxy Server)라고 한다. - 프록시를 사용하는 이유는 보안 상의 이류로 직접 통신할 수 없는 두 점 사이에서 대리로 통신을 수행하며 보안성, 성능, 안정성을 향상시키기 위해서이다. - 프록시 서버는 웹페이지를 가져올 때 자신의 DB에 최근 데이터를 저장하는데, 이를 Cache라 한다. 같은 요청이 들어왔을 때 Cache 자원을 반환하여 서비스의 속도를 높이고 대역폭도 줄일 수 있다.프록시의 종류- 프록시는 포워드 프록시와 리버스 프록시로 나뉘게 되는데, 기본적으로 포워드 프록시는 클라이언트 쪽을, 리버스 프록시는 서버 쪽의 설정.. 2024. 5. 7.
[TIL] 크래프톤 정글 7주차 - CS:app 11장(네트워크 프로그래밍) 11.1 클라이언트 - 서버 프로그래밍 모델- 모든 네트워크 응용 프로그램은 클라리언트-서버 모델에 기초하고 있다.11.4 소켓 인터페이스- 소켓은 네트워크 상에서 서로 다른 시스템 간에 데이터를 교환할 수 있게 해주는 엔드 포인트이다. - 주로 TCP / IP 프로토콜을 사용하여 통신한다.11.4.1 소켓 주소 구조체 - 인터넷 소켓 주소는 위 그림과 같이 sockaddr_in 타입의 16바이트 구조체에 저장된다. 인터넷 응용에 대해 sin_family 필드는 AF_INET이다. sin_port 필드는 16비트 포트 번호이다. sin_addr 필드는 32비트 IP 주소이다. IP 주소와 포트 번호는 항상 네트워크 바이트 순서(big-endian)로 저장된다.AF_INET이란?- AF_INET은 소켓이 .. 2024. 5. 6.
[TIL] 크래프톤 정글 7주차 - OSI 7 layer(TCP / IP layer) 미완성 글입니다(이후 수정 예정)OSI 7 layer란?- OSI 7계층이란 네트워크 통신이 일어나는 과정을 7단계로 나눈 네트워크 표준 모델이다. - 총 7개의 계층이 존재하게 되는데 각 계층을 지날 때마다 Header가 붙게 되고, 수신하는 쪽은 역순으로 각 계층에서 붙은 Header가 떨어지게 된다.  - 실제 인터넷에서 사용되는 TCP / IP 는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화한 것이다.네트워크 통신 과정 분리 이유- 각 계층을 분리함으로써 개발 및 유지보수가 용이해진다. 문제 발생시, 문제가 발생한 계층에서 해결이 가능해지기 때문이다. 이는 문제를 진단하고 해결하는데 시간을 단축시키고, 전체 시스템의 안정성과 신뢰성을 높일 수 있다. - 계층적인 구조.. 2024. 5. 6.
[TIL] 크래프톤 정글 7주차 - Socket이란? Socket- 소켓은 프로세스들이 서로 통신할 수 있게 하는 창구 역할을 한다고 볼 수 있다. - 네트워크에 연결하기 위한 소켓은 정해진 프로토콜에 맞게 만들어져야 한다. 주로 OSI 7 layer의 네 번째 계층인 Transport Layer 상에서 동작하는 소켓을 사용하는데, TCP 상에서 동작하는 소켓은 TCP socket(또는 stream socket), UDP 상에서 동작하는 소켓은 UDP socket(또는 datagram socket)이라 부른다.Datagram Socket (UDP socket)- UDP(User Datagram Protocol)를 사용한다. - 비연결성(connectionless)를 지향한다 : 연결을 맺지 않고 데이터를 전송한다. 데이터를 보내기 전에 수신자와의 연결을 설.. 2024. 5. 6.
728x90