일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxJava
- 큐시즘
- 멘토링 후기
- time slice
- spring boot
- 파이썬
- 디프만
- spring
- OS
- flab
- 버전관리
- js 개발자라면 알아야하는 핵심 컨셉
- 원격 저장소
- 에프랩
- 마블 다이어그램
- Cold Publisher
- Depromeet
- Git
- Observable
- CLI
- Hot Publish
- OOAD
- Hot Publisher
- github
- 자바스크립트
- Round Robin
- CPU Scheduling
- 생활코딩
- js
- 건국대학교
- Today
- Total
목록OS (2)
글쓰는 개발자
OS의 역할은 부족한 컴퓨터 자원을 효율적으로 분배하는 것이다. 한 프로세스가 CPU를 너무 오래 점유하면, OS는 프로세스로부터 CPU를 뺏어 다른 프로세스에 할당한다. 어떠한 데이터가 자주 사용되지 않는 경우, OS는 해당 데이터를 CPU로부터 더 먼 곳에 배치하고 자주 사용되는 데이터를 CPU에 더 가까이 배치하여 실행 속도를 향상시킨다. 또한 어떠한 유저가 프로그램 내에서 하드웨어를 제어하는 명령을 실행할 때에, 이것의 핸들링을 담당하기도 한다. 여기까지 OS의 역할을 아는 것은 좋은데, 다음과 같은 의문을 제기할 수 있다. '프로세스가 실행 중이라는 것은 CPU가 프로세스에 할당되어 있다는 뜻이고, OS 또한 작업 수행을 위해 CPU 할당을 받아야 하는 시스템 소프트웨어인데 어떻게 중간에 OS가..
이번 학기에는 컴퓨터공학과의 핵심 과목 중 하나인 운영체제를 수강하였다. 운영체제를 수강하면서, 모든 파트에서 컴퓨터가 어떠한 방식으로 돌아가는지 배울 수 있어 정말 많이 배운 수업이었다. 기본적으로 운영체제의 역할은 '자원 관리'에 그 초점이 있다고 생각한다. 컴퓨터의 운용에 있어 물리적으로 충분한 자원이란 존재하지 않는다. 아무리 고성능 컴퓨터를 사용한다 할지라도 무한정의 프로세스를 허용하지는 않으므로, 컴퓨터의 자원을 효율적으로 활용하여야 한다. 컴퓨터 하드웨어의 구조적 효율을 통해 일정량의 자원 관리를 꾀할 수는 있겠으나, 하드웨어 단독으로 그것을 해결하는 데에는 분명한 한계가 있다. 따라서 이 문제를 소프트웨어와의 상호 작용을 통해 해결하여야 하는데, 이때 등장하는 시스템 소프트웨어가 바로 운영..