[OS] Lecture 3. Process Management (1/2)
·
OS
작업(Job)/ 프로그램 - 실행 할 프로그램+ 데이터 - 디스크에 보관 상태 프로세스 - 실행 중인 프로그램 - 커널에 등록되고 커널의 관리 하에 있는 작업 - 프로세스 관리(PCB)를 할당 받은 개체 - 능독적인 개체. 실행 중, 자원을 요구, 할당, 반납하여 진행 Process Control Block(PCB) - 커널 공간(kernel space) 내에 존재 - 각 프로세스의 정보를 관리 자원(Resource) - 커널의 관리 아래에 프로세스에 할당/반납 되는 수동적 개체(passive entity) - 할당/반납은? 커널 프로세스의 상태 -프로세스와 자원의 상호작용에 의해 결정 1. created state - 프로세스= 작업을 커널에 등록 - PCB 할당, 프로세스 생성 - 상태 전이: rea..
[OS] Lecture 2. OS Overview (2/2)
·
OS
운영체제의 역할 컴퓨터 시스템 자원을 관리해서 사용자에게 서비스 제공 - 편리성 (User Interface): CUI, GUI, EUCI - 효율성 (Resource management): Hw resource, SW resource - 프로세스(실행 주체)와 thread management - 시스템 보호(System management) 컴퓨터 시스템의 구성 System Call Interface - 사용자가 직접 커널에 접근을 막는다. 필요한 기능이 있으면 OS에 요청. - 커널이 제공하는 기능 들 중 사용자가 사용할 수 있는 기능들을 모아 놓은 집합. - SCI은 요청의 통로. 운영체제의 구조 1. 커널: OS의 핵심부분. 가장 빈번하게 사용되는 기능 담당. 리소스 관리(processor, me..
[OS] Lecture 2. OS Overview (1/2)
·
OS
운영체제란? 컴퓨터 시스템 자원을 관리해서 사용자에게 서비스 제공하는 시스템 소프트웨어 프로세서란? 중앙 처리 장치. CPU, GPU. 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하고 처리하는 제어 장치 - 연산 수행 - 컴퓨터 모든 장치 제어 레지스터란? 프로세서 내부에 있는 메모리(CPU에 포함). 컴퓨터에서 가장 빠른 메모리. CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치 다양한 레지스터들을 통해 연산이 이뤄진다. 운영체제와 프로세서 - 운영체제는 프로세서에 처리할 작업 할당 및 관리: 프로세스 생성 및 관리 - 프로그램의 프로세서 사용 제어 메모리란? 데이터를 저장하는 장치(기억장치) 메모리의 종류 1. 레지스터 2. 캐시: CPU에 포함. 레지스터보다 코어에 멀리 ..
운영체제_6
·
OS
CPU 스케줄링 1. Preemptive vs Non-preemptive - 선점 vs 비선점 1.1. Preemptive 프로세스가 CPU를 점유하고 있는 동안 I/O나 인터럽트가 발생한 것도 아니고 모든 작업을 끝내지도 않았는데, 다른 프로세스가 해당 CPU를 강제로 점유할 수 있다. 즉, 프로세스가 정상적으로 수행 중인 가운데 다른 프로세스가 CPU를 강제로 점유하여 실행할 수 있는 것이다. 1.2. Non-preemptive preemptive의 반대. 한 프로세스가 한 번 CPU를 점유했다면. I/O(프로세스 상태가 실행->대기로 변경되는 경우) 또는 프로세스가 종료될 때까지 다른 프로세스가 CPU를 점유하지 못하는 것이다. 병원=non-preemptive 응급실=premptive 2. Sche..
운영체제_5
·
OS
1. 프로세스 실행 중인 프로그램 1.1 프로세스의 상태 멀티 프로그래밍 시스템 기준 new: 프로그램이 메인 메모리에 할당된 상태 ready: 할당된 프로그램이 초기화와 같은 작업을 통해 실행되기 위한 모든 준비를 마친 상태 running: CPU가 실제로 프로세스를 실행한 상태 watiting: - 프로세스가 끝나지 않은 시점에서, I/O로 인해 CPU를 사용하지 않고 다른 작업을 실행한 상태. - CPU는 그 동안 다른 ready 상태인 프로세스를 실행한다(해당 프로세스는 running 상태). - I/O 작업이 끝나면 다시 CPU 서비스를 받기 위해 ready 상태가 된다. terminated: 프로세스가 완전히 종료된 상태 타임 쉐어링 시스템 기준 - 멀티프로그래밍 시스템 기준 경로가 1개 추가..
운영체제_4
·
OS
운영체제의 서비스 1. 프로세스 관리 2. 주기억 장치 관리 3. 파일 관리 4. 보조기억장치 관리 5. 입출력 장치 관리 6. 네트워킹 7. 보호 ... 강의에서는 주로 프로세스 관리, 주기억 장치 관리를 다룬다. 1. 프로세스 관리 (Process management) 프로세스란? 메모리에서 실행 중인 프로그램(program in execution) 프로그램은 하드디스크와 같은 보조기억장치에서 아무런 동작을 하지 않는 상태이다. 이를 어떠한 요청에 의해 메인 메모리에 할당하여 CPU를 사용하면서 실행하게 되는데 이를 프로세스라고 부른다. 프로세스의 생성, 소멸 (creation, deletion) 프로세스 활동 일시 중지, 활동 재개 (suspend, resume) 프로세스간 통신 (interproc..
운영체제_3
·
OS
이중모드란? 한컴퓨터를 여러 사람이 동시에 사용하는 환경 또는 한사람이 여러 개의 프로그램을 동시에 사용 한사람의 고의/실수 프로그램이 전체에 영향 ex) STOP(CPU 중지, 다시 동작하게 하려면 전원을 껐다가 켜야 함), HALT, RESET 등 사용자 프로그램은 STOP 등 치명적 명령을 사용 불가하게! - 이중 모드(dual mode) 는 사용자 모드/ 관리자 모드로 구분한다. - 관리자(Supervisor) 모드=시스템(system) 모드=모니터(monitor) 모드= 특권(priviliged) 모드 - 특권 명령(privileged instructions): STOP, HALT, RESET, SET_TIMER, SET_HW, … 이중모드 동작 과정 레지스터에 모드를 나타내는 플래그가 있다(1..
운영체제_2
·
OS
OS의 역사 1940년대 Card reader > memory > processing > line printer 직접 기계어를 사용하여 모든 명령어를 코딩 1950년대 Batch processing system (일괄처리)=resident monitor : 여러 동작을 한번에 처리 1960년대 초 Multiprogramming system (다중프로그래밍) 컴퓨터는 비싼 자원 빠른 CPU, 느린 I/O 때문에 CPU가 놀 수 있다-> 메모리에 여러 개의 job CPU scheduling, 메모리 관리, 보호 1960년대 초 Time-sharing system (시공유 시스템) 강제 절환(switch) interactive system(대화형) 가상 메모리, 프로세스 간 통신, 동기화 현대 Interrup..
운영체제_1
·
OS
기능 중요도 프로세스 관리(스케줄링, 동기화) 주기억장치(메모리) 관리 (페이징, 가상메모리) 파일 관리 (파일 할당, 디스크 스케줄링) 운영체제가 왜 필요해? 운영체제가 없는 컴퓨터는 야생마다! OS가 없으면 컴퓨터 사용할 수 없다! 프로그램은 하드디스크에 있고, 메모리에 프로그램을 올려야(적재) 작동한다. → 운영체제가 해준다 프로그램을 하드디스크에 저장? → 운영체제가 해준다. 운영체제가 있기에 컴퓨터를 온전히 쓸 수 있다. 운영체제란? 컴퓨터 하드웨어를 잘 관리하여 프로세서, 메모리, 디스크, 키보드, 마우스, 모니터, 네트워크, 스피커, 마이크, GPS, … 성능을 높이고 Performance 사용자에게 편의성 제공 Convenience 컴퓨터 하드웨어를 관리하는 프로그램 Control prog..