CPU 스케줄링 CPU란? → CPU는 프로그램의 기계어 명령을 실제로 수행하는 컴퓨터 내의 중앙처리장치임. 프로그램이 시작되어 메모리에 올라가면 프로그램 카운터 레지스터가 현재 CPU에서 수행할 코드의 메모리 주소값을 가지고 있음. CPU는 프로그램 카운터가 가리키는 주소의 기계어 명령을 하나씩 수행. CPU는 일반적으로 한 시스템 내의 하나씩 밖에 없음 → 여러 프로그램이 동시에 수행되는 시분할 환경에서 매우 효율적으로 관리되어야함. 프로그램 실행과 관련된 기계여 명령어 CPU 내에서 수행되는 기계어 명령. 메모리 접근을 필요로 하는 기계어 명령. 입출력을 동반하는 기계어 명령. CPU 내에서 수행되는 명령 → Add 명령. → 일반 명령임. CPU 내의 레지스터에 있는 두 값을 더해 레지스터에 저정..
OS/OS-42study
1. 프로세스의 개념 → 프로세스(process)란 실행 중인 프로그램(program in execution)을 뜻함. 디스크에 실행 파일 형태로 존재한 프로그램 → 메모리에 올라가서 실행 시작 → 생명력을 갖는 프로세스가 됨. → 프로세스 CPU 획득 자신의 코드 수행, CPU를 반환하거나 입출력 작업 수행. → 자신의 임무를 다 수행하고 나면 종료 되고 사라짐. 잡(job) == 프로세스 프로세스 이해하기 → 프로세스의 문맥(context)에 대해 알 필요가 있음. 프로세스 문맥이란? → 프로세스가 현재 어떤 상태에서 수행되고 있는지 정확히 규명하기 위해 필요한 정보를 의미 프로세스 시작, 종료할 때까지 CPU에서 명령을 한꺼번에 수행하면 좋겠지만 → 여러 프로세스가 함께 수행되는 시분할 시스템 환경..
1. 프로그램의 구조와 인터럽트 컴퓨터 프로그램은 어떠한 프로그래밍 언어로 작성 되었던 그 내부 구조는 함수들로 구성됨. 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역이 메모리에 올라가 있어야 함. 주소 영역 코드 프로그램의 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령(machine instruction) 형태로 변환 되어 저장 데이터 전역 변수 등 프로그램이 사용하는 데이터를 저장 스택 함수가 호출 될 때 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터를 임시로 저장하는 데에 사용되는 공간. 프로그램 실행 프로그램 따로 CPU 따로 프로그램 메인 함수 → 다른 함수 호출(CPU 메인함수의 코드를 수행하다가 다른 함수의 코드로 수행 위치 이동) 프로그램 새로..
1. 컴퓨터 시스템의 구조 컴퓨터 시스템의 구조 내부장치 : CPU, 메모리 외부장치 : 디스크, 키보드, 모니터, 네트워크 장치 입출력 장치(Input-Output:I/O) 컴퓨터 내부로 데이터가 들어오는 것을 입력(input) 컴퓨터 외부로 데이터가 나가는 것을 출력(output) 키보드로부터 입력 받아 컴퓨터가 연산 처리 한 후 그 결과를 모니터에 출력하는 경우를 대표적인 입출력이라고 함. 따라서 컴퓨터 외부장치를 입출력 장치라고도 부른다. 컨트롤러 메모리 및 입출력장치 등의 각 하드웨어 장치에는 컨트롤러라는 것이 있다. 컨트롤러는 일종의 작은 CPU를 말한다. 이 CPU가 제어를 함. ex) 디스크 컨트롤러, 메모리 컨트롤러 커널 여러 프로그램이 동시에 수행되는 시스템을 위한 운영체제 프로그램 수..
1. 운영체제의 정의 운영체제(operating system)는 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 말한다. ‘시스템’ : 기반이나 틀이 되는 하드웨어 장치 💡 운영체제에 왜 영어로 시스템이라는 것이 사용될까? 소프트웨어인 운영체제에 시스템이라는 용어가 사용된 것은 하드웨어가 운영체제와 한 몸이 되어야만 사용자에게 쓰일 수 있는 진정한 컴퓨터 시스템이 되기 때문. 좀 더 쉽게 설명 전원을 켰을 때 운영체제가 없으면 그 컴퓨터는 고철 덩어리에 불과하며, 이와 같은 고철 덩어리를 동작시키기 위해서 필요한 기본적인 소프트웨어가 바로 운영체제라는 뜻 사용자 입장에서는 하드웨어 자체를 다룬다는 것이 쉽지 않으므로, 하드웨어 위에 기본적으로 운영체제를 탑재해 전원을 켰을 때 손쉽게 사용할 수 있는 상..