📌 운영 체제(OS, Operating System)
[개념]
- 하드웨어를 관리, 컴퓨터 시스템의 자원 관리, 응용 프로그램과 하드웨어 간의 인터페이스
- 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있는 환경을 제공하는 시스템 소프트웨어
- 운영체제가 프로그램들을 실행하는 메인 프로그램, OS도 하나의 프로그램
- 프로그램 실행에는 하드웨어의 자원이 필요함, 따라서 하드웨어 자원을 사용해서 응용 프로그램을 관리
- 네트워크 통신, 입출력 장치 등 컴퓨터 사용에 필요한 것들을 관리
- Window, Linux, UNIX, MS-DOS 등이 있음
- 개발자가 짠 코드를 바탕으로 프로그램이 만들어짐 → 코드의 집합이 컴퓨터가 이해할 수 있는 코드로 컴파일 된 것을 프로그램이라고 함 → 프로그램을 실행하면 프로세스
[역할]
1. 프로세스 관리
- 현재 CPU를 점유해야할 프로세스를 결정, CPU를 프로세스에 할당
2. 저장장치 관리
- 1차 저장장치(Main Memory)
- 프로세스에 할당하는 메모리 영역의 할당 및 해제
- 가상 메모리 기능
- 메모리 간 침범 방지
- 2차 저장장치(Hard Disk Drive[HDD], NAND Flash Memory)
- 파일 형식의 데이터 저장
3. 네트워킹
- 네트워크는 컴퓨터와 컴퓨터간의 연결을 의미
- 운영체제에서 네트워크 프로토콜을 지원해야 네트워킹이 가능
4. 사용자 관리
- 하나의 컴퓨터 여러개의 계정
- 사용자 별로 보안 - 접근 권한 지정
5. 디바이스 드라이버
- 시스템에 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고 관리하게 만들어서 응용프로그램이 하드웨어를 사용할 수 있게 해야함 → 운영체제 안에 하드웨어를 추상화 해주는 계층이 필요, 그것이 디바이스 드라이버
📌 하드웨어
[CPU]
- 컴퓨터의 뇌, 컴퓨터 시스템을 통제하고 프로그램과 관련한 모든 연산을 수행
[메모리]
- 전기적 신호를 내부에서 임시적으로 저장
- CPU의 계산 결과를 저장
- 프로그램이 실행되는 공간을 제공 → 그림에서처럼 프로세스 형태로 메모리 위에 올라감
- 메모리 용량이 크다 : 많은 정보 처리, 많은 프로그램을 띄울 수 있음
[디스크]
- 정보의 영구 저장
참고
그랩, 개발배경지식 격파
https://www.grabbing.me/8d9e92b19e084c5a8cb173a695aa81af#0473b646e4984f6db46ed6ad3384adfb
GYOOGLE, 신입 개발자 전공 지식 백과사전
'CS 공부 - 운영체제' 카테고리의 다른 글
[Operating System] 프로세스와 스레드 (0) | 2023.02.07 |
---|