일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ecs
- javascript
- Reducer
- Site Reliability engineering
- React
- 프로세스 통신
- 모캠
- 기술PM
- docker
- 북딜
- 쿠버네티스
- Redux
- action
- IP
- Kubernetes
- React.js
- 카카오게임즈
- #Swagger
- fluentd
- #Swagger-codegen
- #스웨거
- 쿠버네티스 컨트롤러
- #Swagger-editor
- server
- #Swagger-ui
- 프로세스
- 모두의캠퍼스
- #api 문서화
- SRE
- AWS
- Today
- Total
목록Conception/Operating System (6)
탕구리's 블로그
오늘의 주제 동하! 안녕하세욘-! 면접 때 받았던 질문을 하나하나 곱씹어보며 답변이 부족했던 부분에 대해서 차근차근 정리하고 있습니다. 일반적으로 "프로세스와 스레드의 차이점"에 대한 질문을 많이 받는 거 같던데 저는 "프로세스와 스레드를 구분한 이유"에 대해서 질문을 받았습니다. 잘못들은 줄 알았어요. 한 번도 들어본 적이 없기에.. 근데 그냥 프로세스와 스레드의 차이점을 차근차근 설명했으면 어느 정도 제 질문에 대한 답변도 됐을 거 같다는 생각이 들어요. 두 부분에 대해서는 이런이런 차이점이 있고, 맞는 용도에 따라 사용하면 될 것 같습니다.라는 식의 답변 말이죠? 말이 너무 길어졌네요. 이제 프로세스와 스레드가 무엇인지 본격적으로 알아봅시다. 프로세스(process) 란? 프로세스란 ? "OS가 프..
CPU 프로그램의 기계어 명령을 실제로 수행하는 컴퓨터 내의 중앙 처리 장치이다. 프로그램 카운터(PC : Program Counter) 현재 CPU에서 수행할 코드의 메모리 주소 값을 가지고 있는 레지스터이다. 프로그램의 수행을 서로 다른 두 단계의 조합으로 나누어 볼 수 있다. 첫 째는 프로그램이 CPU를 직접 가지고 빠른 명령을 수행하는 단계, 둘 째는 I/O 요청이 발생해 커널에 의해 입출력 작업을 진행하는 비교적 느린 단계이다. 첫 번째 작업을 CPU 버스트, 두 번째 작업을 I/O 버스트라고 한다. 프로세스 또한 CPU 작업에 치중이 되어있는 CPU 바운드 프로세스와 I/O 작업에 치중이 되어있는 I/O 바운드 프로세스로 나누어 볼 수 있다 . CPU 스케줄러 CPU 스케줄러는 준비 상태에 있..
운영체제란? 운영 체제(Operating System 이하 O.S)란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 말합니다. 컴퓨터를 구성하는 요소 중, 운영체제의 위상은 다음과 같습니다. 운영 체제의 기능 운영 체제는 컴퓨터 하드웨어 사용자 사이에 존재하며, 사용자가 직접 운영하기 힘든 하드웨어에 대해서 운영체제가 관리하기도 하고 사용자에게는 편리한 인터페이스를 제공하는 역할을 합니다. 우리가 흔히 아는 Windows Sereis, Mac OS 같은 것들을 통해서 말이죠?! 간단하게 정리하면! 컴퓨터 시스템 내의 자원에 대해 효율적인 관리를 돕는다. 사용자에게 편리한 환경을 제공한다. 사용자와 운영 체제 자신을 보호하는 역할 운영 체제의 분류 동시 작업을 지원하는지에 대한 여부에 따라 "단일 작업..
컴퓨터 시스템의 구조 내부장치 : CPU, 메모리 외부장치 : 디스크, 키보드, 마우스 .... 컴퓨터 내의 각 하드웨어 장치에는 컨트롤러(controller : 제어기)라는 일종의 작은 CPU에 의해 관리된다. CPU와 I/O 연산 입출력 장치들의 I/O연산은 각 장치에 부착된 컨트롤러에서 담당하고, 컴퓨터 내에서 수행되는 연산은 CPU가 담당한다. 이때 입출력 장치와 CPU사이에는 별도의 작업이 가능하다. 또한, 각 장치에는 이를 제어하기 위해 설치된 장치 컨트롤러에 장치로부터 들어오고 나가는 데이터를 임시 저장하기 위한 메모리인 로컬 버퍼(local buffer)를 가지고 있다. 1. 프로세스에서 외부 입출력에 대한 요청 발생 2. 컨트롤러에 의해서 외부 장치로의 입출력을 제어 3. 외부장치와 입출..
인터럽트란? CPU가 다른 프로그램을 실행하고 있을 때, 입출력 하드웨어 혹은 소프트웨어에 의해 예외상황이 발생하여 처리가 필요한 경우에 CPU에게 이를 알려주는 것을 말한다. 예를 들어, A라는 프로그램이 CPU를 할당받고 명령을 수행하고 있는데 인터럽트가 발생하면 A는 현재 수행 중인 명령의 위치를 저장해 놓고 인터럽트를 처리한 후, 다시 돌아와 A의 작업을 다시 실행합니다. 그렇다면, 인터럽트가 발생했을 때 수행중이던 프로세스의 정보는 어디로 가는 걸까요? 진행 중이던 작업의 내용은 커널(운영체제 중 메모리에 상주하여 일을 처리하는 녀석)의 자료 구조에 저장됩니다. 이 자료 구조를 우리는 PCB(Process control Block :프로세스 제어 블록)이라고 부릅니다. 인터럽트의 종류 인터럽트의..
프로세스란? 간단하다. 디스크에 존재하던 프로그램이 메모리에 올라가 실행 중인 상태를 나타낸다. 다시 말해 CPU를 보유하고 기계어 명령 실행이 가능한 단계입니다. 프로세스 문맥(Process Context) 프로세스가 현재 어떤 상태에서 무엇을 수행하고 있는지를 알기 위한 정보를 의미한다. 다시말해 프로세스 문맥은 그 프로세스의 주소공간을 비롯해 레지스터에 어떤값을 가지고 있었는지 시스템 콜 등을 통해 커널에서 수행한 일의 상태, 그 프로세스에 관해 커널이 관리하는 각종 정보를 말합니다. 프로세스 문맥은 크게 세가지로 분류합니다. 1. 하드웨어 문맥 2. 프로세스의 주소 공간 3. 커널 상의 문맥 프로세스의 상태 프로세스 상태는 크게 생성, 실행, 준비, 봉쇄, 종료 상태로 나눌 수 있습니다. 실행 상..