목록코딩공부/OS (18)
개발세발
링크 추가하는 시간을 기준으로 게시글의 날짜를 업데이트합니다 ( 2022. 12. 20~ 진행 중 ) 조성호, 『쉽게 배우는 운영체제』, 한빛아카데미 01. 운영체제 소개 운영체제란 운영체제 (OS, Operating System) - 운영체제가 있는 기기는 처음 만들 당시에 구한한 기능 외에 다른 기능을 추가하거나 성능을 향상시킬 수 있다 - 또한, 운영체제는 성능 향상뿐 아니라 자원관리(reso bluepinetree.tistory.com 02. 운영체제의 역사 운영체제의 역사 운영체제의 역사 구분 시기 주요기술 특징 0기 1940년대 없음 진공관(0과 1) 사용 1기 1950년대 카드 리더, 라인 프린터 - 일괄 작업 시스템 - 운영체제의 등장 2기 1960년대 초반 키보드, 모니터 - 대화 blu..

📍선점형 스케줄링 preemptive scheduling : 어떤 프로세스가 CPU를 할당받아 실행 중이더라도 운영체제가 CPU를 강제로 빼앗을 수 있는 스케줄링 방식 - 운영체제가 필요하다고 판단하면 실행 상태에 있는 프로세스의 작업을 중단시키고 새로운 작업을 시작할 수 있음 ◼️ 인터럽트 처리 : CPU가 인터럽트를 받으면 현재 실행 중인 작업을 중단하고 커널ㅇ르 깨워서 인터럽트를 처리시키며, 인터럽트 처리가 완료되면 원래의 작업으로 돌아간다 * 특징 - 부가적인 작업(문맥 교환) 으로 인해 낭비가 생실 수 있음 - 하나의 프로세스가 CPU를 독점할 수 없기 때문에 빠른 응답 시간을 요구하는 대화형 시스템이나 시분할 시스템에 적합함 ➡️ 저수준 스케줄러 대부분이 선점형 스케줄링 방식을 사용함 📍비선점..
📍 CPU 스케줄러 (프로세서 스케줄러 processor scheduler) : 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일 * 스케쥴링 : 여러 프로세스의 상황을 고려하여 CPU와 시스템 자원을 어떻게 배정할지 결정하는 일을 말함 - CPU 스케줄링은 규모에 따라 고수준 스케쥴링, 중간 수준 스케줄링, 저수준 스케줄링으로 구분됨 ◼️ 고수준 스케줄링 high level scheduling (장기 스케줄링 long-term scheduling, 작업 스케줄링 job schedulin) 이라고 함 : 시스템 내의 전체 작업 수를 조절(어떤 작업을 시스템이 받아들일지 또는 거부할지를 결정함)하며 전체 시스템의 부하를 고려하여 작업을 시작할지 말지를 결정함 ➡️ 결정에 따라 전체 프로세스..
◼️ 정적할당 영역 : 코드영역과 데이터 영역 - 프로세스가 실행되기 직전에 위치와 크기가 결정되고 실행되는 동안 변하지 않으므로 정작 할당 영역이라고 부름 ◼️ 동적할당 영역 : 스택영역과 힙 영역 - 프로세스가 실행되는 동안 만들어지는 영역으로 그 크기가 늘어났다 줄어들기도 하는 동적 할당 영역 • 스택 : 함수 호출 시 두 가지 작업을 구현하기 위해 사용 1. 호출한 함수가 종료되면 함수를 호출하기 전 코드로 되돌아와야 하는데 되돌아올 메모리의 주소를 스택에 저장함 2. 변수 사용 범위에 영향을 미치는 영역 scope을 구현할 때 사용 - 전역변수 global variable - 모든 함수에서 사용 , 지역 변수 local variable - 특정 함수에서만 사용 - 함수에서 사용하는 지역 변수는 ..