전체 글33 [Interview] 시스템 콜에 대해 설명해주세요. 시스템 콜, System Call기본적으로 운영체제에서 사용자 프로그램은 하드웨어 자원에 직접 접근하지 못하도록 합니다. 사용자 프로그램의 자원 조작이 시스템 전체에 문제를 불러오는 것을 방지하기 위해서입니다. 따라서, 자원에 대한 접근 혹은 조작을 위해서는 운영체제에게 조작을 대신해서 요청해야 합니다. 운영체제는 자원에 대한 접근을 2가지 모드로 제어합니다.사용자 모드: 사용자 프로그램이 실행되는 모드로 하드웨어 자원에 접근하지 못합니다.커널 모드: 운영체제 코드 혹은 기능이 실행되는 모드로 하드웨어 자원에 접근 가능합니다.사용자 프로그램이 운영체제에게 자원을 대신 조작하기를 요청하면 사용자 모드에서 커널 모드로 전환되는데, 이 요청을 바로 시스템 콜이라고 합니다. 시스템 콜을 소프트웨어 인터럽트로 .. 2025. 2. 6. [Interview] CPU 스케줄링에 대해서 설명해주세요. 1. CPU 스케줄링운영체제가 프로세스를 효율적으로 처리하기 위해 CPU 자원을 적절히 분배하는 것을 말합니다. CPU 스케줄링은 크게 `선점형`과 `비선점형`으로 나뉩니다.1-1. 선점형 스케줄링, Preemptive Scheduling특정 프로세스가 CPU를 사용하는 도중에 운영체제가 강제로 CPU를 다른 프로세스에게 할당하는 방식입니다.응답 시간이 비교적 짧아 효율적입니다. (Ready to Running)잦은 컨텍스트 스위칭으로 인한 오버헤드가 발생할 수 있습니다.CPU 점유에 대한 경쟁 상태가 발생할 수 있습니다.Round Robin (RR)일정한 시간 단위로 나눠 여러 프로세스를 돌아가면서 실행하는 방식입니다.시간 단위가 크면 Convoy Effect가 발생할 수 있고, 작으면 컨텍스트 스위.. 2025. 2. 6. [Interview] @Transactional 선언 시 주의사항에 대해 설명해주세요. Spring AOP 와 Proxy`@Transactional` 어노테이션은 선언된 메서드가 호출되면 해당 메서드를 하나의 트랜잭션으로 묶어서 처리하도록 합니다. Spring AOP를 기반으로 동작하고, 이는 프록시 패턴을 활용함을 의미합니다. 즉, Spring 은 빈을 생성하는 과정에서 AOP 어노테이션이 존재하면, 프록시 객체를 생성해 메서드 호출을 대체합니다. Spring AOP 에서는 2가지의 방식으로 프록시 객체를 제공합니다.JDK Dynamic Proxy타겟 클래스가 인터페이스를 구현하는 경우, 인터페이스에 선언된 메서드만 프록시 처리가 가능합니다. public 메서드만 AOP 적용이 가능합니다.CGLIB타겟 클래스가 인터페이스를 구현하지 않는 경우, 해당 클래스를 상속하여 프록시를 생성합니다.. 2025. 2. 5. [Interview] SQL / NoSQL 차이에 대해 설명해주세요. SQLStructure Query Language의 약자로 RDBMS 관계형 데이터베이스 시스템을 조작하기 위한 언어입니다. 정규화(Normalization)를 통해 데이터의 중복을 최소화하고, 일관성 있는 데이터를 유지하는 데에 초점을 맞추고 있습니다.이렇게 구조화된 형태로 데이터를 관리하므로 다음과 같은 특징을 같습니다.저장 공간을 절약 가능안전한 데이터 조작이 가능인덱스를 통한 검색 용이수직적 확장에 용이따라서 비교적 구조가 자주 변경되지 않고, 구조적이고 일관된 데이터를 유지하는 것이 중요한 시스템에서 사용하기에 적합합니다.NoSQLNot Only SQL의 약자로 RDBMS와 달리 데이터를 비교적 유연하게 관리하는 데에 초점을 맞추고 있습니다. 이를 비정형 데이터 관리에 적합하다고 표현하기도 합니.. 2025. 2. 3. 이전 1 2 3 4 ··· 9 다음