본문 바로가기

독서/CS 노트39

30. 운영체제 [PCB] 30. 운영체제 [PCB] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) PCB (Process Control Block) 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳이다 프로세스의 상태 정보를 저장하는 구조체다 PCB는 프로세스 생성시 만들어지고, 주기억장치에 유지된다 커널 스택의 가장 앞부분에서 관리가 된다 PCB의 구조 프로세스 스케줄링 상태 : ready, wait, running 등, 프로세스가 CPU에 대한 소유권을 얻은 이후의 상태 프로세스 ID : 프로세스의 고유 번호 프로세스 권한 : 컴퓨터 자원 또는 I/O 디바이스에 대한 권한 정보 프로그램 카운터 : 프로그램 카운터, 다음 실행될 명령의 포인터 CPU 레지스터 : 프로세스를 실행하기 위해 저장해야 할 레지스터에 .. 2023. 3. 17.
29. 운영체제 [프로세스, 스레드] 29. 운영체제 [프로세스, 스레드] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 프로세스와 스레드 프로세스는 메모리 상에서 실행 중인 프로그램 (컴퓨터가 어떤 일을 하고 있는 상태) 크롬도 열고, 워드를 열어서 공부를 하며 워드에 공부한 내용을 기록하는 것 스레드는 이 프로세스 안에서 실행되는 흐름 단위 (한 프로세스 내에서 여러 작업들이 동시 진행되는 것) 크롬을 열어서, 동영상을 다운로드 받으면서, 뉴스를 보고, 노래를 듣는 것 스레드는 싱글 스레드 프로세스 또는 멀티 스레드 프로세스를 가지고 있다 스레드는 실행 가능한 가장 작은 단위다 프로세스는 코드, 데이터, 스택, 힙 메모리 영역을 기반으로 작업을 한다 자신만의 고유 공간과 자원을 할당 받아 사용할 수 있다 (다른 프로세스와 통신하기.. 2023. 3. 17.
28. 운영체제 [가상메모리, 스와핑, 페이지폴트, 스레싱, 메모리 할당] 28. 운영체제 [가상메모리, 스와핑, 페이지폴트, 스레싱, 메모리 할당] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 가상 메모리 메모리 관리 기법의 하나로 기계에 실제 이용 가능한 기억 자원을 이상적으로 추상화하여 사용자들에게 매우 큰 (주) 메모리로 보이게 만드는 것이다 주로 멀티테스킹 운영 체제에서 사용되고, 주 기억 장치 (RAM) 보다 큰 메모리 영역을 제공하는 방법으로도 사용된다 가상으로 가상 주소 또는 논리 주소가 주어지고, 실제 메모리 상에는 물리 주소 또는 실 주소가 있다 여기서 가상 주소는 MMU(Memory Management Unit), 메모리 관리 장치를 통해 실제 주소로 변환된다 TLB, '페이지 테이블'을 기반으로 가상 주소에서 물리 주소로 변환이 된다 TLB는 메모.. 2023. 3. 16.
27. 운영체제 [메모리, 캐시] 27. 운영체제 [메모리, 캐시] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 메모리 계층 레지스터, 캐시는 CPU 내부에 존재한다 메인 메모리는 RAM을 가리키고, 주기억장치다 일부 하드 디스크의 메모리를 복사해서, 임시 저장 후, CPU에 빠르게 전달을 한 레지스터는 속도가 빠르지만, 용량이 적다 하드 디스크는 속도는 느리지만, 용량이 많다 이런 점들을 보완하기 위해, 메모리 계층 구조를 사용한다 캐시 데이터를 미리 저장해 놓은 임시 저장소이다 빠른 장치와 느린 장치 사이에서 속도 차이를 줄이는 역할을 하는 메모리다 예를 들어서 CPU와 메모리 속도 차이가 많이 나기 때문에, 레지스터를 캐싱 계층으로 둬서, 속도 차이에서 나타나는 병목 현상을 줄인다 메인 메모리도 캐시 메모리와 하드 디스크 .. 2023. 3. 14.
26. 운영체제 [운영체제, 컴퓨터의 요소] 26. 운영체제 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 운영체제 운영체제(OS, Operation System)는 사용자들이 컴퓨터를 더 편리하고 효율적으로 사용할 수 있도록, 컴퓨터의 하드웨어와 소프트웨어 자원을 관리해주는 시스템 소프트웨어다. 운영체제의 역할 자원 관리 : 컴퓨터 시스템 자원을 효율적으로 관리한다 CPU 스케줄링과 프로세스 관리 : CPU 소유권을 프로세스에 할당을 하는 것을 관리한다 여기서 프로세스는, 메인 메모리에 할당 되어, 실행 상태인 프로그램을 말하는 것이다 여러 프로세스가 열려있다면, 운영체제는 CPU 소유권 각각의 프로세스에게 할당을 한다 메모리 관리 : 프로세스에 메모리를 할당하는 것을 관리한다 메모리는 한정적이라서, 효율적으로 할당을 해야 한다 디스크 파.. 2023. 3. 13.
25. 대규모 트래픽 해결방법 25. 대규모 트래픽 해결방법 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 서버 과부하란? 서버에 접속하는 사람들이 폭발적으로 증가하여 트래픽이 급격하게 증가한 경우 이럴 경우 서버의 성능이 저하된다 500 번 대 에러 메세지가 뜬 모니터링 서버 과부하의 원인은 정말 많지만, 그 중에 하나가 자원의 한계점 도달이다 즉 CPU 같은 자원의 사용량이 한계점에 도달했거나, 메모리가 부족할 때 서버 과부하 상태가 된다 그래서 자원들을 모니터링 하면서, 적절하게 용량을 할당을 시켜줄 수 있다 AWS 오토스케일링 cloud watch를 통해 어플리케이션을 모니터링하고, 자동으로 자원의 용량을 조정한다 예) 메모리, GPU, CPU 증가 그 외에 서버를 모니터링 하며, 자원의 용량을 할당시켜준다 모니터링을 .. 2023. 3. 10.
24. 유선/무선 LAN 24. 유선/무선 LAN 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 유선 LAN 전이중화 통신 (Full Duplex) 송신하는 경로, 수신하는 경로가 따로 나뉘어져 데이터를 주고 받는다 현재 사용하는 통신 방법이다 IEEE 802.3이라는 프로토콜을 따른다 근거리 통신망 기술이다 CSMA/CD 반이중화 통신을 사용한다 송신 또는 수신 경로가 딱 하나 밖에 없다 즉 데이터를 주고 받을 때 데이터끼리 충돌이 일어났다 충돌이 일어나면, 데이터를 보낼 수 없다 그래서 중간에 충돌이 일어나면, 일정 시간 이후 데이터를 재전송하는 방식이다 유선 LAN을 이루는 케이블 트위스트 페어 케이블 구리선을 두 개씩 꼬아서 묶은 케이블이다 구리선을 실드 처리하면 STP, 안 하면 UTP라고 한다 흔히 LAN 케이.. 2023. 3. 9.
23. 네트워크를 이루는 장치 23. 네트워크를 이루는 장치 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 네트워크 기기는 각 계층별로 나뉠 수 있다 어플리케이션 계층 : L7 스위치 전송 계층 : L4 스위치 인터넷 계층 (네트워크 계층) : 라우터 L3 스위치 데이터 링크 계층 : L2 스위치, 브리지 물리 계층 : NIC, 리피터, AP 상위 계층을 처리하는 기기는 하위 계층도 처리할 수 있지만, 그 반대는 불가하다 어플리케이션 계층 L7 스위치 L7 스위치는 로드밸런서라고도 한다 로드밸런서는 URL, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산시킨다 그리고 바이러스나 불필요한 외부 데이터를 필터링을 한다 헬스 체크를 주기적으로 하여 정상적인 서버 또는 비정상적인 서버를 판별한다 헬스 체크는 L4 스위치에서도 한다 로드.. 2023. 3. 9.
22. HTTP [상태코드, 메서드, REST API] 22. HTTP [상태코드, 메서드, REST API] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) HTTP 상태코드 서버의 응답을 나타내는 HTTP 상태코드다 1XX (정보) 서버가 요청을 잘 받았다는 것을 의미 100 : 상태가 괜찮으며 클라이언트가 계속해서 요청하거나 요청이 완료된 경우에는 무시해도 된다는 정보를 알려줌 2XX (성공) 서버가 요청을 잘 받고, 응답까지 클라이언트에게 잘 했다는 것 200 OK : 요청이 성공적 201 Created : 요청이 성공적으로 이루어지고, 그 결과 새로운 리소스가 생성되었다는 것 3XX (리다이렉션) 서버가 클라이언트에서, 추가적인 작업을 요청하는 것 301 Moved_Permanently : 요청한 리소스의 URI가 변경되었다는 4XX (클라이언.. 2023. 3. 8.