일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- 운영체제
- Not Null constraint failed
- 프로젝트설정
- 함수형프로그래밍
- 객체비교
- 2차원배열 정렬
- Java
- API문서화
- 컨트리뷰팅
- SpringBoot
- 주니어개발자
- circular dependency
- 토이프로젝트
- IOC
- bulk_create
- GraphQL
- circuitbreaker
- 일급함수
- 좋은코드란
- 상속모델
- DI
- n poem
- django
- bean-validator
- 마이크로서비스패턴
- 쿼리셋합치기
- cannot import name
- Npoem
- resilience4j
- Today
- Total
목록CS/운영체제 (3)
코딩 하는 가든
교착상태, 데드락 이란? 교착상태 : 프로세스들의 집합이 더 이상 진행을 못하고 영구적으로 블록(대기)되어 있는 상태 교착상태, 데드락의 원리 교착상태는 시스템 자원에 대한 경쟁 도중에 발생할 수도 있고 프로세스 간 통신 도중 발생할 수도 있습니다. 한 프로세스가 특정 사건의 발생을 기다리며 대기하고 있고, 이 사건이 다른 블록 된 프로세스에 의해 발생될 수 있다면 이 프로세스의 집합은 교착 상태가 됩니다. 왜냐하면 기다리고 있는 사건이 발생하지 않기 때문입니다. 예시를 하나 보겠습니다. 아래의 그림에는 사거리 교차로가 있고 차들은 직진을 하려고 대기 하고 있습니다. 여기서 차는 직진만 가능 하다고 가정하겠습니다. 차들이 교차로를 모두 지나가기 위해서는 한 차가 지나갈 때는 마주 보고 있는 차가 아니라면..
운영체제 수준에서 지원하는 여러 가지 병행성 기법 운영체제와 프로그래밍 언어 수준에서 병행성을 위해 제공하는 기법에 대해 기록합니다. 우선 이런 기법들이 왜 필요한지 간단하게 알아보겠습니다. 알고 가야 할 것 임계자원 : 두 개 이상의 프로세스가 동시에 사용할 수 없는 자원 임계영역 : 그 자원을 접근하는 프로그램 코드의 일부분 어떤 프린터가 있다고 하겠습니다. 프린터에 두 개의 프로세스가 동시에 출력을 하려고 한다면 먼저 시작된 하나의 출력이 종료된 후 다음 출력이 진행되어야 할 것입니다. 두 출력이 동시에 진행될 수는 없습니다. 여기에서 프린터는 두 프로세스가 동시에 사용할 수 없는 임계 자원이 됩니다. 그리고 프린터를 사용하기 위해 프로세스가 프린터 관련 작업 명령어를 수행하는 구간이 바로 임계 영..
프로세스와 스레드의 차이 프로세스와 스레드의 차이에 대해서 기록합니다. 먼저 프로세스와 스레드의 차이를 알기 전에 프로세스가 무엇이고 어떻게 구성되어 있는지 알아보겠습니다. 프로세스란 프로그램의 실행 단위입니다. 프로그램은 우리가 알고 있듯이 우리가 원하는 기능을 수행해주는 소프트 웨어 입 니다. 프로그램은 여러 소스코드 등으로 구성되어 있고 프로그램을 실행시키면 정해진 약속에 따라 자기의 역할을 수행하게 됩니다. 프로그램의 소스코드를 읽고 계산하여 결과를 내려면 메모리 상에 코드를 올려놓고 cpu로 계산을 해야 할 것입니다. 이렇게 실행을 위해 메모리 상에 올라와 있는 프로그램을 프로세스라고 합니다. [프로세스] 실행된 프로그램(프로세스)은 운영체제에 의해 메모리 공간을 할당받게 되는데, 하나의 프로세..