[OS] 프로세스 스케줄링(Process Scheduling), PCB(Process Control Block), 문맥 교환(Context Switch)
·
Computer Science/Operating System
다중 프로그래밍의 목적은 CPU이용을 최대화 하는 것프로세스 스케줄러는 CPU에서 실행 가능한 여러 프로세스 중에서 하나의 프로세스를 선택 프로세스의 스케줄링 큐 관리 준비 큐 (Ready Queue)메인 메모리에 존재준비 완료 상태의 실행을 대기하는 프로세스 집합연결 리스트로 저장대기 큐 (Wait Queues)특정 이벤트(입·출력 작업)를 기다리는 프로세스 집합각 장치는 자신만의 장치 큐를 가짐스케줄러 (Schedulers) 장기 스케줄러 (Long-term Scheduler or Job Scheduler)풀(Pool)에서 프로세스를 선택 후, 실행하기 위해 준비 큐(Ready Queue)로 적재 → Giving Memory실행 간격 짧음, 매우 빨라야 함 단기 스케줄러 (Short-term Sche..
[OS] 프로세스란?
·
Computer Science/Operating System
CPU활동을 어떻게 부를 것인가?일괄처리 시스템 → 작업(Job)시분할 시스템 → 사용자 프로그램 or 태스크(Task)작업(Job)과 프로세스(Process)를 동일한 의미로 사용프로세스란 (Process Concept)실행중인 프로그램 (a Program in Execution)프로세스의 내용프로그램 카운터(Program Counter) 값스택(Stack): 메소드의 매개변수, 복귀 주소와 지역변수와 같은 임시적인 자료를 갖는 프로세스히프(Heap) 섹션: 프로그램 실행중에 동적으로 할당됨데이터(Data) 섹션: 전역 변수들을 수록텍스트(코드)(Text(code)) 섹션: 실행코드 메모리 상의 프로세스 (Process in Memory) 프로세스 상태 생성(New or Create): 프로세스가 생성..
[OS] 운영체제 생성과 시스템 부트(System Boot)
·
Computer Science/Operating System
OS 구현 과정OS S.W → 요구사항 정의 및 분석 → 설계(기법, 정책) → 구현 → 디버깅 과거: 어셈블리어로 작성 / 현재: 고급언어 (C, C++)장점코드를 빨리 작성 가능더욱 간결높은 가독성, 디버깅 쉬움이식(다른 H/W로 옮기는 일)이 훨씬 쉬움단점속도가 느림기억장치가 많이 필요함 (그러나 좋은 컴파일러로 보완)성능의 핵심 관건: ‘자료 구조’, ‘알고리즘’시스템 생성 (SYSGEN)시스템이 각 특정 컴퓨터 사이트를 위해 구성되거나 생성되는 과정 부팅 (Booting)커널을 적재하여 컴퓨터를 시동하는 절차 부트스트랩 프로그램 (Bootstrap Program) or 부트스트랩 로더 (Bootstrap Loader)ROM에 저장된 조그마한 코드로 커널을 찾아 메모리에 적재하고, 수행을 시작하도..
[OS] 운영체제 디버깅 (OS Debugging)
·
Computer Science/Operating System
디버깅H/W와 S/W에서의 시스템 ‘에러’(Errors)나 ‘버그’(Bugs)를 발견하고, 수정하는 행위프로세스가 실패할 경우, ‘코어 덤프’(Core Dump) 생성‘코어 덤프’는 ‘디버거’(Debugger)에 의해서 검사됨운영체제 커널 장애 시, 충돌 덤프(Crash Dump) 파일 생성코어 덤프(Core Dump): OS가 특정 시점에 작업중이던 프로세스와 관련된 메모리 상태를 기록한 것충돌 덤프(Crash Dump): 충돌이 일어났을 때, 어떤 컴포넌트가 문제인지 파악하기 위해, 메모리를 저장하는 것디버거(Debugger): 프로그래머가 프로세스의 코드와 메모리를 분석할 수 있도록 설계된 도구Kernighan’s 법칙 “디버깅은 코드를 작성하는 것보다 두 배 더 어렵다.”성능 조정 (Perform..
HaSeon9
'Computer Science/Operating System' 카테고리의 글 목록 (3 Page)