1. OS란 무엇일까? 1) OS란 하드웨어 자원을 이용하기 위한 소프트웨어 프로그램이라고 생각할 수 있다.. 메모리, 디스크, CPU, 그리고 그들을 이어주는 각종 버스들을 관리하고 제어하여 사용자 프로그램을 효율적으로 구동할 수 있도록 합니다. 간단히 말하면 응용 프로그램과 하드웨어 사이의 인터페이스라 할 수 있다. 응용 프로그램이 하드웨어 자원을 사용할 때 OS의 커널코드가 동작하도록 하는 시스템 콜을 사용할 수 있다.. 2) 커널 코드란 많고많은 ~ OS코드(수천만줄 단위)중, 핵심적인 역할을 수행하는 OS 코드 컴퓨터 하드웨어가 작동하기 위해 꼭 실행중이어야 하기 때문에, 상시로 메모리에 올라와있는 OS 프로세스 코드를 말합니다 2. 시스템 콜이란? 1) 유저모드와 커널모드 유저모드는 응용 프로..
서버 성능 개선을 위한 캐시 사용과, 분산 서버 환경에서 세션 인증 정보 유실 문제를 대응하며 Redis를 사용했습니다. Redis가 무엇인지, 어떤 구조이며 왜 사용했는지 간단하게는 설명했지만 조금 더 구조적으로 정리하진 않은 것 같아 새로운 글에 적당히 정리해보도록 하겠습니다. 1. 캐시의 필요성 사용자의 모든 리소스 요청에 대해 DB 쿼리를 날린다면 서버의 성능이 크게 저하됩니다. DB 연결은 IO bound task이기 때문에 웹 서버 안에서 끝날 수 있는 작업에 비해 오래 걸리고, DB 커넥션을 얻기 위해 웹서버 스레드가 대기 상태에 들어가 서버 자원을 온전히 사용하지 못하게 될 수도 있기 때문입니다.(이를 Blocking-IO라고 합니다) 따라서 어플리케이션을 구성할 때, DB 서버로 요청을 ..