본문 바로가기
반응형

분류 전체보기95

[springboot] Spring Security의 /login 요청 시 처리 과정(세션 저장) Spring Security에는 /login과 /logout 요청을 처리하는 메서드(세션저장/세션삭제)가 내부적으로 구현되어 있다. 따라서 개발자는 따로 구현을 하지 않아도 된다. 하지만 어떤식으로 /login POST 요청이 처리되어 세션에 저장되는지 궁금해서 정리해 본다. ① 클라이언트는 아이디와 비밀번호 정보를 담아 서버에게 POST /login 요청 ② 스프링시큐리티의 UsernamePasswordAuthenticationFilter 가 중간에서 아이디와 비밀번호를 추출 ③ 추출한 아이디와 비밀번호를 AuthenticationManager 에게 주면서 인증 요청   ④ AuthenticationManager는 AuthenticationProvider( DaoAuthenticationProvider.. 2024. 10. 9.
[네트워크] TCP 연결 3-Way handshake, UDP TCP(Transmission Control Protocol) TCP 통신을 하려면 먼저 네트워크 연결 설정이 필요합니다. TCP 연결 수립 과정은 3-Way 핸드셰이크 과정을 TCP 연결을 생성할 때는 3-Way 핸드셰이크를 이용해요.SYN: 클라이언트가 서버에게 SYN(synchronize) 플래그가 설정된 메시지를 보냅니다. 이때 SYN은 클라이언트의 임의 시퀀스 번호 A를 포함합니다.SYN-ACK: 서버는 클라이언트의 SYN에 응답하여 SYN-ACK 메시지를 보냅니다. 서버는 자신만의 새로운 시퀀스 번호 B를 포함한 SYN을 전송하고, 클라이언트의 시퀀스 번호 A에 1을 더한 ACK(acknowledgment)를 함께 보냅니다(A+1).ACK: 클라이언트는 서버로부터 받은 SYN에 대해 ACK 메.. 2024. 10. 8.
[OS] 프로세스 스케줄링 선점형- 최소 남은 시간 우선(SRTF)- 라운드 로빈(RR)- 우선순위(Priority) 비선점형- 선입선출(FIFO 또는 FCFS)- 최단시간(SJF)- 우선순위(Priority)선입선출(FCFS) 스케줄링프로세스 A: 도착 시간 0ms, 실행 시간 3ms프로세스 B: 도착 시간 2ms, 실행 시간 6ms프로세스 C: 도착 시간 4ms, 실행 시간 4ms프로세스 A는 즉시 실행을 시작하여 0ms부터 3ms까지 실행됩니다.프로세스 B는 2ms에 도착했지만, A가 실행을 마친 직후인 3ms에 실행을 시작하여 3ms부터 9ms까지 실행됩니다.프로세스 C는 4ms에 도착했지만, B가 실행을 마친 직후인 9ms에 실행을 시작하여 9ms부터 13ms까지 실행됩니다.이 예에서 볼 수 있듯이, FCFS 스케줄링은 .. 2024. 8. 29.
[OS] 시스템 콜(System Call) 시스템 콜(System Call)은 운영체제의 커널이 제공하는 서비스에 응용 프로그램이 접근할 수 있도록 하는 인터페이스입니다. 응용 프로그램이 파일 시스템 접근, 네트워크 통신, 메모리 관리 등의 시스템 리소스를 사용하고자 할 때, 직접적으로 하드웨어를 조작하는 대신 시스템 콜을 통해 운영체제에 요청을 하게 됩니다. 이를 통해 운영체제는 안전하고 효율적으로 시스템 리소스를 관리할 수 있습니다.시스템 콜의 주요 기능프로세스 관리: 프로세스의 생성, 실행, 종료 등을 관리합니다. 예를 들어, fork(), exec(), exit() 등의 시스템 콜이 이에 해당합니다.파일 조작: 파일 생성, 읽기, 쓰기, 삭제 등 파일 시스템과 관련된 작업을 수행합니다. open(), read(), write(), clos.. 2024. 8. 24.
[OS] 문맥 교환(Context Switch), PCB 문맥 교환(Context Switch)이란?문맥 교환은 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해, 이전의 프로세스의 상태(문맥context : PC, 레지스터등의 모든 내용 통튼 것)을 보관하고 새로운 프로세스의 상태를 적재하는 작업을 말합니다. 여러 프로세스가 끊임없이 빠르게 번갈아가며 실행되는 원리  이때 한 프로세스의 문맥은 그 프로세스의 프로세스 제어 블록(PCB)에 기록되어 있습니다.PCB(Process Control Block)란?운영체제가 시스템 내의 프로세스들을 관리하기 위해 프로세스마다 유지하는 정보들을 담는 커널 내 자료구조로 커널 영역에 존재합니다. 따라서 메모리내의 커널영역에 있는 PCB를 보고 운영체제는 프로세스를 관리합니다. 사.. 2024. 8. 24.
[OS] 프로세스 상태 전이 생성(New): 프로세스가 시스템에 생성되어 초기화되는 단계입니다. 이때 프로세스는 필요한 자원을 할당받기 위해 대기하며, 준비 상태로 이동하기 전의 초기 상태입니다.준비(Ready): 프로세스가 CPU에서 실행될 준비가 완료된 상태입니다. 프로세스는 CPU 할당을 기다리며, 실행을 위한 대기열에 위치합니다. 준비 상태의 프로세스는 CPU가 이용 가능해지면 실행 상태로 전환될 수 있습니다.실행(Running): 프로세스가 CPU를 할당받아 명령어를 실행하는 상태입니다. 프로세스는 이 상태에서 실제 작업을 수행합니다. 실행 중인 프로세스는 작업 완료, 입출력 요청, 인터럽트 발생 등의 이유로 다른 상태로 전환될 수 있습니다.대기(Waiting): 프로세스가 입출력과 같은 이벤트의 완료 또는 특정 조건의 충.. 2024. 8. 24.
반응형