Computer Basis/OS
-
운영체제(OS) - 4. 프로세스 관리Computer Basis/OS 2020. 10. 6. 14:54
1. 프로세스 정의 및 문맥 # 프로세스 디스크에 실행파일 형태로 존재하던 프로그램이 메모리에 올라가서 실행될때 프로세스라 칭한다. # Context of Process 프로세스가 현재 어떤 상태에서 수행되고 있는지 정확히 규명하기 위해 필요한 정보 CPU 재획득시, 직전 수행시점의 정확한 상태를 재현하기 위해 필요한 정보 # 문맥의 구성 1. 하드웨어 문맥 - CPU 수행상태 (PC값, 각종 레지스터 값) 2. 프로세스 주소공간 - 코드, 데이터, 스택상태 3. 커널상의 문맥 - PCB와 커널스택 (커널의 프로세스 관리를 위한 자료구조) # 프로세스의 문맥교환 (context switch) 실행시킬 프로세스를 변경하기 위해, 수행중이던 프로세스의 문맥을 저장하고 새로운 프로세스의 문맥을 세팅하는 과정 ..
-
운영체제(OS) - 3. 프로그램 구조와 실행Computer Basis/OS 2020. 9. 26. 20:14
1. 프로그램 구조 프로그램이 CPU에서 명령을 수행하려면, 명령을 담은 프로그램의 주소영역이 메모리에 올라가 있어야 한다. 프로그램의 주소영역은 코드(code), 데이터(data), 스택(stack) 영역으로 구분된다 함수호출에 의한 복귀 주소는 각 프로그램의 주소공간 중 스택영역에 보관 인터럽트에 의한 복귀 주소는 프로세스 제어블록(PCB)에 저장 # 코드(Code)영역 그림에 text라고 표시된 영역 프로그램 함수들의 코드가 기계어로 변환되어 저장되는 부분 컴파일 타임에 확정되는 영역 Read-Only 로 지정되어, 변경할 수 없다. # 데이터(Data)영역 전역변수(global), 정적변수(static), 배열(array), 구조체(structure) 등이 저장됨 초기화 된 데이터들이 저장되는 영..
-
운영체제(OS) - 2. 컴퓨터 시스템 동작원리Computer Basis/OS 2020. 9. 24. 16:11
1. 컴퓨터 시스템의 구조 및 용어 # 내부장치 # 외부장치 CPU 디스크 메모리 키보드 마우스 모니터 네트워크 장치 # 입력(Input) 내부장치로 데이터가 들어오는 것 # 출력(Output) 외부장치로 데이터가 나가는 것 # 로컬버퍼(Local Buffer) 컨트롤러가 각 장치마다 가지고 있는 작은 메모리에 임시로 저장해놓는 입출력 데이터 장치에서 로컬버퍼로 데이터를 읽어오는 일은 각 장치의 컨트롤러가 담당 2. 프로그램 및 입출력 동작원리 # 입출력 장치들의 동작원리 (디스크는 예시일뿐) 프로그램이 디스크에서 디스크 컨트롤러가 디스크 컨트롤러가 디스크의 로컬버퍼를 데이터 요청 => 디스크에서 데이터를 읽어 => CPU에게 인터럽트 발생 => 해당 프로그램의 메모리로 로컬버퍼에 저장 (CPU가 체크하..
-
운영체제(OS) - 1. 운영체제 자원관리 개요(CPU & 메모리 관리)Computer Basis/OS 2020. 9. 23. 19:44
# 운영체제의 가장 핵심적인 기능은 자원을 효율적으로 관리하는 것 # 메인 메모리는 CPU안에 포함된 레지스터를 제외한 CPU가 직접 접근할 수 있는 기억장치이다. # 프로그램이 실행되려면 해당부분이 메모리에 올라가 있어야 함 # CPU와 메모리는 전원이 꺼지면 처리 중이던 정보가 모두 지워진다. # 전원이 꺼져도 기억해야 하는 부분은 입출력 장치인 보조기억장치에 파일형태로 저장한다. # 위의 일들과 입출력 장치들의 접근권한 및 저장방식을 운영체제가 관리한다. # 하드웨어 자원의 종류 1. CPU 더보기 2. 메인 메모리 3. 입출력장치(=주변장치) # CPU 관리 (CPU 스케줄링) 통상적으로 CPU가 컴퓨터 한대에 하나가 장착되므로, 여러 프로세스들이 CPU를 효율적으로 나누어 사용할 수 있도록 관리..
-
운영체제(OS) 기본지식 - 2. MS Windows & Unix 개요 및 비교Computer Basis/OS 2020. 9. 22. 20:30
1. MS Windows Window 3.1 까지는 MS-DOS 위에서 수행되는 프로그램이었음 Window 95 부터 그 자체가 하나의 온전한 운영체제로 동작 동일한 명령어라도 수행하는 방식을 여러가지로 지원 (커맨드라인, 아이콘 방식 등) Plug and Play 기능 지원 자체적 네트워크 프로그램 지원으로 인해 사용자들끼리 파일 및 하드웨어 공유 가능 Unix와 같이 오랜 전통을 가지는 운영체제에 비해 안정성이 떨어짐 # Plug and Play 시스템에 새로운 하드웨어를 장착하면 운영체제가 자동으로 하드웨어를 감지하여 그에 맞게 설정됨 2. Unix 1969년 최초로 개발되어 소스코드가 공개됨 ( 대부분의 코드가 C언어로 작성됨 ) 커널의 크기가 작으며, 모듈단위로 설계되어 이식성(portabili..
-
운영체제(OS) 기본지식 - 1. 운영체제의 정의 & 운영체제의 기능 & 운영체제의 분류Computer Basis/OS 2020. 9. 22. 20:13
1. 운영체제의 정의 # 하드웨어 관리 부분부터 사용자가 편히 시스템을 조작할 수 있도록 도와주는 소프트웨어 (하드웨어와 사용자를 이어주는 역할) # 소프트웨어가 컴퓨터 시스템에서 실행되기 위해서는 메모리에 그 프로그램이 올라가 있어야 함 - 운영체제처럼 규모가 큰 프로그램을 모두 메모리에 올릴 수는 없으므로, 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고 그렇지 않은 부분은 필요할때 메모리로 올려서 사용하게 된다 - 메모리에 상주하는 운영체제의 부분을 커널(Kernal)이라 지칭하며, 이를 좁은 의미에서의 운영체제라고도 부른다. - MS Windows 의 파일복사(Copy) 프로그램이 커널이 아닌 넓은의미의 운영체제의 유틸리티의 예시라 할 수 있다. 2. 운영체제의 기능 # 하드웨어를 위..