일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- select
- SQL
- 정처기
- groupby
- join
- 카카오코테
- 혼공단
- 프로그래머스
- 오블완
- 기술면접
- 코테
- 알고리즘
- Android
- Til
- MySQL
- 정보처리기사
- java
- 혼공파
- 자바
- 혼공챌린지
- doitandroid
- 안드로이드스튜디오
- CS
- 자료구조
- 스터디
- 코틀린
- 인프런
- Kotlin
- 티스토리챌린지
- 안드로이드
- Today
- Total
목록운영체제 (8)
Welcome! Everything is fine.
PUT과 PATCH의 차이를 설명해보세요. HTTP METHODHTTP METHOD란 클라이언트가 요청을 보낼 때 요청에 포함되어 해당 요청의 종류와 목적을 나타낸다.주요 메소드POST : 데이터 생성GET :데이터 조회PUT : 데이터 갱신, 해당 리소스가 없으면 생성PATCH : 데이터 일부 갱신DELETE : 데이터 삭제기타 메소드HEAD : 데이터 조회, 그러나 HTTP 메시지에 바디를 포함하지 않고 헤더로만 응답TRACE : 쿠키 및 세션 값을 포함해 클라이언트의 요청 메시지를 그대로 반환CONNECT : 요청한 자원을 양방향으로 연결, SSL을 사용하는 웹사이트에 접속 가능OPTION : 서버가 지원하는 HTTP 메서드를 메시지 헤더에 포함해 응답PUT과 PATCH의 차이PUT리소스 전체를 업..
기술면접 스터디에서 받은 질문을 복습하기 위한 용도로 정리한 내용입니다. 임계 영역(critical section)이란 무엇인가요?임계 영역이란 공유 자원에 접근할 수 있고 접근 순서에 따라 결과가 달라지는 코드 영역을 말합니다. 다시 말해, 동일한 자원을 동시에 접근하는 작업을 실행하는 영역을 의미합니다.임계 영역에서 여러 접근이 동시에 발생하는 것을 방지하기 위한 방법은 무엇인가요?임계 영역에서 여러 접근이 동시에 발생하는 것을 방지하기 위해서는 상호배제, 진행, 한정된 대기의 3가지 조건을 충족해야합니다. 먼저 상호 배제란 한 프로세스가 임계 영역을 실행 중일 때 다른 프로세스가 임계 영역에 접근할 수 없어야 하는 것을 말합니다. 진행은 임계 영역을 실행 중인 프로세스가 없을 때 다른 프로세스가 임..
Context Switching이란 무엇인가요? 인터럽트(interrupt)인터럽트(interrup)란 CPU에서 프로세스를 처리하다가 예외 상황이 발생할 때 이에 대응할 수 있게 CPU에 처리를 요청하는 것을 말한다. 인터럽트가 발생하는 경우는 입출력 이벤트가 발생할 때, CPU 사용시간이 만료되었을 때, 자식 프로세스를 생성할 때 등이 있다. Context SwitchingCPU는 하나의 프로세스만 처리할 수 있기 때문에 멀티 프로세스를 처리하려면 인터럽트가 발생하면서 콘텍스트 스위칭이 발생한다.콘덱스트 스위칭이란 CPU가 처리중인 프로세스를 변경하는 것이다. 다시 말해, 현재 실행 중인 프로세스의 제어를 다른 프로세스에 넘겨서 그 프로세스가 실행 가능하도록 하는 것을 의미한다. 콘덱스트 스위칭이 발..
스와핑(Swapping)에 대해 설명해주세요. 스와핑(Swapping)이란?프로세스가 실행되기 위해서는 메모리에 로드되어야하는데, 메모리 공간보다 많은 프로세스가 로드되는 경우가 있을 수 있다. 이때 중기 스케줄러(메모리에 로드된 프로세스 수를 동적으로 조절)가 프로세스를 저장 공간으로 옮겨 저장한다. 이 프로세스는 저장 공간에 있다가 이벤트 요청이 오면 다시 메모리에 로드된다.메모리 관리를 위해 사용되는 기법 프로세스의 일부 또는 전체를 물리적 메모리에서 보조 기억장치, 즉 하드 디스크의 스왑 공간으로 이동시키는 과정 프로세스가 메모리에 적재될 공간이 부족할 때 사용swap in & swap outswap in : 보조 기억장치에서 주 기억장치로 불러오는 과정, 프로세스가 메모리에서 스왑 영역으로 옮..
첫 번째 CS 스터디 발표! 이번주는 운영체제에 대해 공부해보았다. 잘 이해가 되지 않거나 생소한 주제들을 공부해보고, 자신이 공부한 내용들을 발표식으로 설명해보기로 하였다. 내용은 책과 여러 블로그, 유튜브 강의 등을 참고하였다.메모리의 힙 영역과 스택 영역의 차이에 대해 설명하고, 힙 영역을 너무 크게 잡으면 어떤 일이 벌어지는지 설명해보세요.프로세스 메모리 구조프로세스는 운영체제로부터 독립된 데이터 영역을 할당받으며, 다른 프로세스의 메모리 영역에 접근할 수 없다. 프로세스의 메모리 영역 구조는 코드, 데이터, 힙, 스택으로 구성된다.코드 영역 : 텍스트 영역이라고도 하며, 실행할 코드가 기계어로 컴파일되어 저장되는 영역. CPU가 해당 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다.데..
동시성과 병렬성멀티 프로세스와 멀티 스레드 개념을 잘 이해하려면 동시성과 병렬성에 대해 알아야 한다.동시성(concurrency) : 하나의 코어(싱글 코어)에서 여러 작업을 번갈아 가면서 처리하는 방식CPU는 한 번에 하나의 작업만 처리할 수 있어서 여러 작업을 돌아가며 처리 → Context Switching Context Switching의 비용은 프로세스 > 스레드이다. 스레드는 stack 영역을 제외한 모든 영역을 공유하기 때문!병렬성(parallelism) : CPU가 여러 개(멀티코어) 있어 각 CPU에서 각 작업을 동시에 처리하는 방식멀티 프로세스응용 프로그램 하나를 여러 프로세스로 구성하는 것을 의미장점 : 한 프로세스가 죽어도 다른 프로세스에 영향을 주지 않아 안정적단점 : 시간과 메..
동기(Synchronous) '동시에 일어나는' → 요청과 결과가 동시에 일어남. 코드가 순차적으로 실행되며, 한 작업이 시작되면 그 작업이 완료될 때까지 다음 작업이 기다리게 된다. 간단하고 직관적으로 코드 작성이 가능하지만, 결과가 나올 때까지 무작정 대기해야한다. 비동기(Asynchronous) '동시에 일어나지 않는' → 요청과 결과가 동시에 일어나지 않음. 코드가 순차적으로 일어나지 않으며, 한 작업이 완료될 때까지 기다리지 않고 다음 작업을 시작한다. 상대적으로 코드 설계 및 이해가 어렵지만 태스크가 실행 중이어도 그 시간동안 다른 작업이 가능하다. 동기와 비동기의 차이
프로세스(Process)란?프로세스란 실행중에 있는 프로그램을 의미하며, 메모리에 적재되어 CPU의 할당을 받을 수 있는 것을 말한다. 프로세스는 최소 하나의 스레드를 가진다. 프로그램이 실행되면 메모리가 할당되고, 할당된 메모리 공간으로 바이너리 코드가 올라가면 그것을 프로세스라고 부른다. 프로세스마다 고유한 가상 메모리 공간 제공하는 이 공간은 다음과 같이 4개로 나눌 수 있다. code 작성한 코드가 저장되는 공간 data코드에서 전역변수, 정적변수, 상수 등 저장heap코드에서 동적으로 생성되는 데이터 구조나 객체들을 저장stack작성한 함수에서 지역변수, 매개변수, return 주소 등을 저장스레드(Thread)란?프로세스의 실행단위로, 프로세스 내의 공유된 자원(코드, 데이터, 파일 등)을..