목록전체 글 (51)

운영체제란? 운영체제는 컴퓨터의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하며, 이를 위해 사용자와 하드웨어 간의 인터페이스로서 동작한다. 운영체제는 응용 프로그램이 실행될 때 필요한 자원을 할당하고, 다른 응용 프로그램이 원활하게 실행될 수 있는 환경을 제공한다. 운영체제 또한 프로그램이기 때문에 메모리에 적재되어야 한다. 다만, 운영체제는 다른 프로그램들이 원활하게 실행될 수 있도록 돕는 특별한 프로그램이기 때문에 컴퓨터가 부팅될 때 메모리 내부의 커널 영역에 적재된다. 참고로 커널 영역을 제외한 다른 프로그램들이 적재되는 메모리 공간을 사용자 영역이라고 한다. CPU 모드 CPU는 사용자 애플리케이션이 시스템을 손상시키는 것을 방지하기 위해 사용..

Thread Safe 란? 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없는 것을 의미한다. 이는 하나의 메소드가 한 스레드로부터 호출되어 실행중일 때, 다른 스레드가 그 메소드를 호출하여 동시에 함께 실행되더라도 각 스레드에서의 메소드 수행 결과가 올바르게 나오는 것으로 정의한다. Thread Safe 는 여러가지 형태로 구현할 수 있다. Re-Entrancy: 재진입성 어떤 메소드가 한 스레드에 의해 호출되어 실행중일 때, 다른 스레드가 그 메소드를 호출하더라도 그 결과가 각 스레드에게 올바른 형태로 반환되어야 한다. Mutual Exclusion: 상호 배제 공유자원을 꼭 사용해야 할 경우 해당 자원의 접근..

인덱스란? 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조다. 보통 책의 색인과 비슷한 기능을 한다. 색인은 책의 저자들이 책의 맨 앞 또는 맨 뒤에 특정 내용의 페이지를 적어둔 것이다. 인덱스 또한 데이터베이스의 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조다. 데이터베이스에서 인덱스를 사용하면, 데이터를 검색할 때 인덱스를 사용하요 검색 대상 레코드의 범위를 줄일 수 있다. 대량의 데이터를 다루는 경우 데이터 검색 속도를 크게 향상시킨다. 인덱스를 활용하면 조회 쿼리 이외에도 수정 및 삭제 쿼리의 성능 또한 함께 향상된다. 만약 인덱스를 사용하지 않은 컬럼을 조회해야 한다면 톄이블의 데이터를 모..