티스토리 뷰
목록
운영체제 시리즈 5. 프로세스 관리(Process Management)
운영체제 시리즈 8. Synchronization -2
운영체제 시리즈 10. Memory management -1
운영체제 시리즈 11. Memory management -2
운영체제 시리즈 14. File System Implementation
운영체제 시리즈 15. Disk Management and Scheduling
정리
운영체제는 사용자 프로그램을 원활하게 사용할 수 있도록 도와주는 하나의 프로그램이다. 모든 프로그램은 CPU에 의해서 일을 하게 된다. 따라서 CPU 제어권을 누가 가져와서 자신의 프로그램을 실행시키느냐가 큰 틀이다. 디스크, 하드웨어 IO 작업도 CPU가 하며 CPU 사용을 도와주는 역할을 OS가 하고 있다.
실행중인 프로그램을 프로세스라고 한다. 프로세스간의 실행, IO 작업 등의 CPU 요청은 OS를 통해서 하게 된다. 다양한 큐와 스케줄러로 프로세스를 효율적으로 관리한다. CPU도 어떤 작업을 해야 효율적으로 진행할 수 있을지 스케줄링이 되어있다. 다양한 알고리즘이 있으나 라운드로빈 알고리즘이 많이 사용된다. 자료간의 동기화 문제도 관리해야한다. 다양한 알고리즘은 자신은 순위에서 밀려 영원히 대기만 하게되는 기아문제, 누구도 사용하지 못하고 대기만하게 되는 deallock문제에 대한 대처를 고려해야 한다.
프로그램이 실행된다는 것은 메모리에 해당 정보가 올라와 있음을 의미한다. 하지만 메모리의 크기는 한정적이기 때문에 디스크의 일부에 swap area를 만들어 메모리를 확장시켜 사용한다. CPU가 관리하는 대부분의 모든 것은 파일이다. 따라서 파일의 시스템을 어떻게 관리할 것인지, 메모리에 어떤 알고리즘으로 관리할 것인지 또한 중요하게 되는 것이다.
메인 메모리는 휘발성의 성질을 갖고, 비싸고 용량이 작은 편이기 때문에 Disk라는 물리적 외부메모리를 사용한다. Disk에서 데이터를 읽어올 때는 디스크 IO가 이루어지고, 디스크에서 자료를 찾는데 걸리는 시간이 상대적으로 긴 시간을 차지한다. 따라서 검색시간(seek time)을 줄이는 것이 디스크 관리의 주요 관점이라고 할 수 있다. 검색시간을 줄이기 위해 caching기법이 사용된다. 메모리에 저장해두고 빠르게 열람하게 되는 방법이다.
웹에서도 빠른 서비스를 위해 캐싱을 사용하는데 웹에서는 지역, 캐싱단위의 크기, 비용 등의 좀 더 복합적인 문제가 발생한다.
'Computer Science > 운영체제' 카테고리의 다른 글
내가 잘못 알고 있던 가상메모리 개념 (0) | 2021.02.23 |
---|---|
내가 잘못 알고 있던 OS 지식 (0) | 2021.01.22 |
운영체제 시리즈 16. 웹캐싱 (0) | 2021.01.16 |
운영체제 시리즈 15. Disk Management and Scheduling (0) | 2021.01.15 |
운영체제 시리즈 14. File System Implementation (0) | 2021.01.14 |
- Total
- Today
- Yesterday
- 학습로그
- 모의면접준비
- TCP/IP
- 내부코드
- JPA
- 인증
- CS
- 마스터즈코스
- 우테코수업
- Spring
- 네트워크
- 코드스쿼드
- 개발공부일지
- 운영체제
- JS
- 카카오
- python
- 객체지향
- java
- OS
- 회고
- DB
- 알고리즘
- Transaction
- javascript
- TIL
- React
- 글쓰기미션
- 우아한테크코스
- 월간회고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |