전체 글
-
(11) HTTP - HTTP 매서드 - PUT, PATCH, DELETEHTTP 웹/Http 웹 기본 2021. 6. 26. 16:53
1. PUT 1-1) 정의 리소스를 대체하는 메서드 리소스가 있으면 대체 리소스 없을 시 생성 결론 : 리소스 없건 있건, 완전히 덮어쓰는 용도 폴더에 새 파일을 작성하는 것과 동일, 없으면 생성 / 있으면 덮어써짐 > 클라이언트가 리소스를 식별하는 것이 다른점 클라이언트가 리소스 위치를 알고 있음 ( POST는 URI 전체 경로가 아니지만, PUT은 /100까지 인식 ) 1) POST 2) PUT 1-2) 리소스가 있거나 없음 (a) Client가 url 지정하여 데이터를 담아 전달 (b-1) 리소스 있으므로 대체 (b-2) 리소스 없는 경우 1-3) 리소스의 완전한 대체 (a) Client가 url 지정하여 데이터를 담아 전달 (b) 기존 리소스의 대체 > 유저 name 필드가 없어짐 → 완전 대체하..
-
(11) 세마포어(Semaphore) & 뮤텍스(Mutex)CS 지식/○ OS(Operating System) 2021. 6. 26. 01:41
1. 세마포어 & 뮤텍스란? 1-1) 정의 멀티 프로세스 / 멀티 스레드 환경에서는 같은 데이터에 동시에 접근하면 문제가 발생할 수 있는데, 이때 공유 자원을 안전하게 접근하는 방식의 제한을 주는 것이 세마포어와 뮤텍스라고 할 수 있음 참조 : https://korshika.tistory.com/150 (10) 경쟁 상태 ( Race Condition ) 1. 경쟁 상태란? 1-1) 정의 공유 자원에 여러 프로세스 / 스레드가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태 1-2) 발생 환경/경우 (a) 멀티프로세스 / 스레드 환경 > 프로세스 : IPC ( Inter Proc korshika.tistory.com 1-2) 임계구역 ( Critical Section ) 여러 프로세스/스레드가 공유..
-
(10) 경쟁 상태 ( Race Condition )CS 지식/○ OS(Operating System) 2021. 6. 24. 23:59
1. 경쟁 상태란? 1-1) 정의 공유 자원에 여러 프로세스 / 스레드가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태 1-2) 발생 환경/경우 (a) 멀티프로세스 / 스레드 환경 > 프로세스 : IPC ( Inter Process Communication ) > 스레드 : 한 프로세스 내부에서 data영역에 동시 접근할 수 있는 2개 이상의 스레드 참조 : https://korshika.tistory.com/144 (7) IPC - Inter Process Communication 1. 프로세스의 특징 1-1) 특징 프로세스는 독립적으로 실행 됨 프로그램 실행시 독립적인 메모리 공간을 할당받으며 data, stack, code 가진다. 한 프로세스 안에서는 개별 스레드는 자원을 공유하지 kors..
-
(10) HTTP - HTTP 매서드 - GET, POSTHTTP 웹/Http 웹 기본 2021. 6. 24. 22:46
1. HTTP 메서드란? 1-1) 정의 Client / Server 관계에서 요청할 때 기대하는 행동 양식 > URL(URI)로 resource의 위치와 HTTP매서드로 행동을 분리 > 주요 HTTP 메서드 종류 ※ 주요 메서드 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 ※ CRUD 비교 (GPPD) Create = PUT with a new URI POST to a base URI returning a newly created URI Read = GET Update = PUT with an existing URI Delete = DELETE 1-2) 기타 메서..
-
(9) 데드락 ( Dead lock)CS 지식/○ OS(Operating System) 2021. 6. 23. 19:11
1. 데드락이란? 1-1) 정의 프로세스가 자원을 얻지 못해서 다음을 처리하기 못하는 상태, 교착 상태 - 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생 1-2) 데드락의 원인 > 서로 원하는 자원 P1 : R1 소비 중, R2 원함 P2 : R2 소비중, R1 원함 → 서로 원하는 자원을 가지고 있기 때문에 영원히 wait상태에 빠지는 것 2. 데드락 발생 조건 ※ 주 발생 경우 멀티프로세스 환경에서 한전된 자원을 얻기 위해 서로 경쟁하는 상황에서 한 프로세스가 자원을 요청했을 때, 동시에 그 자원을 사용할 수 없는 경우 wait 상태로 전환 wait 상태의 프로세스들이 실행 상태로 변경될 수 없을 때 주로 발생 > 다음의 4가지 조건이 모두 성립해야 dead-lock 일어날 수 있음 ..
-
(9) HTTP - HTTP API 만들기/설계HTTP 웹/Http 웹 기본 2021. 6. 22. 21:42
1. API 만들기 example) 회원 정보 관리 API 만들기 ※ CRUD and GPPD Create = PUT with a new URI POST to a base URI returning a newly created URI Read = GET Update = PUT with an existing URI Delete = DELETE 1-1) 요구사항 회원 목록 조회 회원 조회 회원 수정 회원 삭제 1-2) URI 설계 > 안좋은 예시 ( 리소스 식별과 행위가 같이 URI안에 명시되어 있음 ) 1-3) URI 설계 좋은 예시 > 리소스를 기준으로 작성 (a) 리소스의 의미 - 회원을 등록하고 수정하는 것이 아닌 회원이라는 개념 자체가 리소스 (b) 리소스를 식별하는 방법 - 회원을 등록하고 수정하고..
-
(8) HTTP - HTTP 메세지HTTP 웹/Http 웹 기본 2021. 6. 21. 23:38
1. HTTP 메시지 모든 것을 전송 1-1) 정의 Hyper Text Transmission Protocol "말 그대로 text"의 의미 요즘은 범위가 늘어나서 거의 모든 영역에서 HTTP 전송을 사용 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML 거의 모든 형태의 데이터 전송 가능 서버간의 데이터 주고 받을 때도 HTTP사용 지금은 HTTP 시대! 2. HTTP 메세지 구조 > HTTP 요청 / 응답 메세지로 구분 ※ empty line CRLF는 엔터와 비슷(반드시 있어야 함) ※ 요청 메세지의 body도 내용이 있을 수 있음 2-1) HTTP 요청 ※ message body는 없을 수도 있음 (a) 시작 라인 start-line = request-line / status-..
-
(8) CPU SchedulingCS 지식/○ OS(Operating System) 2021. 6. 21. 04:01
1. CPU 스케줄링이란? 1-1) 정의 CPU를 잘 사용하기 위한 프로세스 우선순위 배정 최고의 성능을 내기 위해 자원을 어떤 프로세스에 얼마나 할당하는지 정책을 만드는 것을 CPU스케줄링이라고 함 1-2) 좋은 스케줄링 조건 1) 오버헤드 ↓ 2) 사용율(CPU를 최대로 바쁘게) ↑ 3) 기아 현상(starvation) ↓ 1-3) 스케줄링의 필요성 (a) 프로세스의 생명주기 [프로세스 생명주기 설명▼] 더보기 프로세스의 상태 전이 ✓ 승인 (Admitted) : 프로세스 생성이 가능하여 승인됨. ✓ 스케줄러 디스패치 (Scheduler Dispatch) : 준비 상태에 있는 프로세스 중 하나를 선택하여 실행시키는 것. ✓ 인터럽트 (Interrupt) : 예외, 입출력, 이벤트 등이 발생하여 현재 ..