일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kubectl
- Network
- AWS
- Spring
- kubeadm
- tcp
- kubernetes
- aws s3
- airflow
- grafana
- Python
- CSV
- docker
- PostgreSQL
- CVAT
- Vision
- helm
- OS
- MAC address
- JavaScript
- Trino
- Packet
- java
- log
- Kafka
- ip
- jvm
- Operating System
- EC2
- zookeeper
- Today
- Total
목록OS (23)
JUST WRITE
이 글은 KOCW 강좌 중 경성대학교 양희재 교수님의 '운영체제' 강의를 정리한 글입니다. Main Memory Management Memory 할당 Memory는 Address와 Data로 구성되어 있다. CPU는 Address를 가지고 Memory에 요청을 한다. CPU와 Memory는 쌍방향으로 Data를 주고받는다. Program을 만들 때 아래의 과정으로 만들어지게 된다. Source file -> 고수준언어 또는 어셈블리어로 작성 Object file -> Source file를 Compile, Assemble 한 결과 Excutable file -> Object file에 Library(다른 Object file)을 Link 한 결과 Source file은 Compiler에 의해 Compil..
이 글은 KOCW 강좌 중 경성대학교 양희재 교수님의 '운영체제' 강의를 정리한 글입니다. Monitor Monitor는 Semaphore 이후에 나온 Process 동기화 도구이다. Semaphore보다 고수준의 동기화 기능을 제공한다. Monitor는 공유자원, 공유자원 접근 함수, 2개의 Queue로 이루어져 있다. 2개의 Queue는 Mutual exclusion Queue, Conditional synchronization Queue이다. Mutual exclusion Queue에는 1개의 Thread만 진입한다. wait()를 통해 공유자원을 쓰고 있는 Thread가 Conditional synchronization Queue에 들어간다. 새로운 Thread가 Mutual exclusion Q..
이 글은 KOCW 강좌 중 경성대학교 양희재 교수님의 '운영체제' 강의를 정리한 글입니다. Deadlock 2개 이상의 Process가 서로 자원을 기다리다가 Process 모두 완료되지 못하는 상태를 Deadlock이라고 한다. Process는 실행을 위해 CPU, Memory, file, printer 등 다양한 자원을 필요로 한다. 예를 들어, Process가 A,B 자원이 필요한데 A 자원만 있고 B 자원을 대기해야 한다. 다른 Process 역시 B 자원을 가지려고 기다리면 Deadlock, 교착상태가 될 가능성이 있다. Deadlock 필요 조건 Deadlock이 일어나려면 4가지 필요 조건이 있다. 4가지 필요 조건이 다 충족해도 무조건 발생하는 것이 아니라 Deadlock일 가능성이 생기는..
이 글은 KOCW 강좌 중 경성대학교 양희재 교수님의 '운영체제' 강의를 정리한 글입니다. Process 동기화 운영체제가 Process 관련해서 하는 일에는 크게 CPU Scheduling과 Process 동기화가 있다. Process에는 Independent Process와 Cooperating Process가 있다. Independent Process는 다른 Process와 아무런 영향 없는 독립적인 Process이다. Cooperating Process는 다른 Process와 영향을 주고받는 Process를 말한다. Process간 영향을 주면서 공유하는 자원에 일관성을 유지 못할 수도 있다. Process 동기화는 Cooperting Process이 실행되면서 공유자원의 일관성을 유지하는 것을 ..
이 글은 KOCW 강좌 중 경성대학교 양희재 교수님의 '운영체제' 강의를 정리한 글입니다. Process 생성 운영체제가 Booting되면서 Memory에 Load되면 최초의 Process를 생성한다. (운영체제마다 다르지만 보통 최초의 Process명 -> init) Process는 다른 Process를 생성한다. 이 때 생성을 하는 Process를 Parent Process, 생성되어진 Process를 Child Process라고 한다. 같은 Parent Process에서 생성된 Process는 Sibling Process라고 한다. Process 생성은 2가지 System call로 생성가능하다. fork -> Parent Process 복사 exec -> 실행 파일을 Memory에 Load PID..
이 글은 KOCW 강좌 중 경성대학교 양희재 교수님의 '운영체제' 강의를 정리한 글입니다. CPU Scheduling Main Memory에 여러 가지 Process가 Load 돼서 CPU는 다수의 Process를 처리해야 한다. 효율적인 처리를 위해 어떤 Process를 먼저 처리할지 계획하는 것을 CPU Scheduling이라 한다. Scheduling 방식을 크게 2가지로 나눌 수 있다. Preemptive Process가 CPU를 사용하고 있는 중에도 다른 Process가 강제로 점유할 수 있는 상태 Non-Preemptive I/O나 Interrupt를 제외하고 Process가 CPU를 사용하고 있으면 끝날 때까지 다른 Process가 점유할 수 없는 상태 CPU Scheduling 얼마나 효율..