| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 카카오페이
- KAKAO
- 프로세스상태
- 플랫폼수수료
- FAANG
- Algorithm
- binarysearch
- 간편결제
- 생성형AI
- 은행IT
- 삼성페이
- 알고리즘
- AI5
- 원자성
- IT
- cloudnative
- MSA
- LeetCode
- 운영체제
- 하이브리드업무
- 핀테크
- 대출대환서비스
- 시큐어코딩가이드
- 카카오웹툰
- microservice
- 이분탐색
- BookReview
- 웹엑스
- 최단경로문제
- CSRF
- Today
- Total
목록OS (6)
평안하자
누군가에게 보여주기 위함이 아닌 자료 / 강의 기록용으로 정리한 노트입니다. (보지마세요) 락을 써서 동기화를 수행하다 보면 필연적으로 데드락이라는 부작용이 생길 수 있습니다이번 영상에서는 데드락이 무엇이고, 발생하는 이유와 OS와 프로그래밍(java)에서의 해결 방법을 배우게 됩니다.개발자가 데드락을 알아야 하는 이유는 데드락에 빠지면 더 이상 프로세스나 스레드가 진행하지 못하기 때문입니다참고로, 데드락은 OS에서 등장하는 개념이기도 하지만 DB에서도 등장하는 개념이라서 잘 알고 계시는 것이 좋습니다. 형: 농구공 줄래?동생: 형이 먼저 축구공 주면! Deadlock (교착상태)두 개 이상의 프로세스 혹은 스레드가 서로가 가진 리소스를 기다리는 상태 데드락은 언제 발생하는가?데드락을 만드는 네 가..
누군가에게 보여주기 위함이 아닌 자료 / 강의 기록용으로 정리한 노트입니다. (보지마세요..) 프로세스 동기화 (Process Synchronization) = concurrency control (병행제어) 데이터의 접근 방식데이터를 접근하는 방식때문에 동기화 문제가 발생한다.데이터를 읽기만 하면 문제가 되지 않지만, 메모리에 있는 데이터를 cpu에 load한 후 연산을 하고, 그 이후에 연산 결과를 다시 메모리에 적재하는 과정을 거치기 때문에 이 과정 내에서 프로세스/스레드의 context switching이 일어날 경우 Race Condition의 문제가 생길 가능성이 있다. S-box를 공유하는 E-box가 여러 개일 경우, 아직 데이터를 스레드/프로세스 내에서 연산이 끝나기 "전" 다른 스레드..
누군가에게 보여주기 위함이 아닌 자료 / 강의 기록용으로 정리한 노트입니다. CPU burst와 IO burstBurst: 어떤 현상이 짧은 시간 안에 집중적으로 일어나는 일 CPU burst프로세스가 CPU에서 한번에 연속적으로 실행되는 시간이다. 즉, 프로그램이 메모리에 적재되어 실행될 때 자신의 명령어들이 연속적으로 실행되는 시간 I/O burst프로세스가 IO 작업을 요청하고 결과를 기다리는 시간IO 작업) 네트워크 IO로 데이터 주고 받기, 파일 읽고 쓰기, 입출력 IO 등 CPU bound Process와 I/O bound Process 프로세스의 인생은 CPU burst와 IO burst의 연속이다.프로그램에 따라서 CPU burst, I/O burst의 전환 빈도와 차지하는 비율이 ..
누군가에게 보여주기 위함이 아닌 자료 / 강의 기록용으로 정리한 노트입니다. * fork() 이후부터 진행* 자식은 pid = 0, 부모는 1 (양수) exec() * 자식이 종료될 때까지 기다리는 시스템 콜* linux 프롬프트에서 program 명령어 수행한 뒤 다시 프롬프트 작성하는 방법에서 wait() 호출* 이는 부모와 자식이 경쟁/공존하는 모델이 아닌 자식이 종료될 때까지 부모가 기다리는 모델 모든 자원을 반납하고 죽는 것 외부에서 종료시키는 것부모 프로세스- 부모가 종료될 경우 자식들을 다 죽이고 나서 죽는다. 키보드/사용자 프로세스 간 협력프로세스 간 협력 메커니즘 (IPC: Interprocess Communication)프로세스간 정보를 주고받는 방법 프로세스는 각자의 독립..
누군가에게 보여주기 위함이 아닌 자료 / 강의 기록용으로 정리한 노트입니다. * 운영체제 커널이 자신의 데이터 영역에서 자료구조로 큐를 만들어놓고, 프로세스의 상태를 바꿔가며 CPU 제어권을 통제한다. * 데이터 영역에 프로세스 상태를 관리하기 위해 프로세스당 유지하는 정보 문맥교환 CPU에서 실행 중이던 프로세스나 스레드가 대기 중이던 다른 프로세스나 스레드로 교체되는 것을 컨텍스트 스위칭(contet swithching) 2) 의 경우 캐시메모리 flush를 해주어야 하는데 상당한 오버헤드가 든다. * suspended: 중기 스케쥴러에 의해 swap되어 프로세스 전체가 디스크로 swap out 된 경우. 외부에 의해 작용됨* blocked: 자기 자신에 의해 발생하며 i/o 작업 등 커널 모..
이화여자대학교 반효경 운영체제 대학 강의와 유튜브 쉬운코드 운영체제 영상을 참고로 정리한 내용입니다. 자세한 내용은 해당 영상을 참고하시면 도움이 될 것입니다. User mode와 Kernel modeUser mode우리가 개발하는 프로그램은 일반적으로 유저 모드에서 실행Kernel mode프로그램 실행 중에 인터럽트(interrupt)가 발생하거나, 시스템 콜(system call)을 호출하게 되면 커널 모드로 전환User mode -> Kernel mode -> User mode 과정User mode 1. 인터럽트 혹은 시스템 콜 발생 2. 커널 모드로 전환하기 전에 프로그램의 현재 CPU의 상태(레지스터와 program counter)를 저장한다. 이는 인터럽트 서비스 루틴(인터럽트를 처리하는 함수..