일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- 스프링부트 도커로 배포
- 큐
- 클라이언트
- 백준
- 버퍼
- index of
- 스택
- 프로그래머스 문자열 정렬
- Stack
- Programmers
- lv0
- 오름차순 정렬
- Lv1
- 이진수 변환
- SWEA
- 프로그래머스 자바
- 스프링부트 도커
- StringTokenizer
- 스프링부트 도커 배포
- 프로그래머스 풀이
- 백준 N과 M 자바
- lv2
- Queue
- 프로그래머스
- 문자열
- COS Pro
- 자바
- 알고리즘
- 삼각형의 완성조건
- Today
- Total
mun dev
[CS 정리]1. 운영체제 개요 본문
■ 운영체제 ( OS, Operating System)
💡 정의
- 응용프로그램이나 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공하고 그 결과를 돌려주는
시스템 소프트웨어
- 일반 컴퓨터, 노트북, 스마트폰의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어
- 예) PC 운영체제(윈도우, Mac, OS, 유닉스, 리눅스 등)
모바일 운영체제(ios, 안드로이드 등)
💡 목표
운영체제의 역할 | 운영체제의 목표 |
자원관리 | 효율성 |
자원보호 | 안전성 |
하드웨어 인터페이스 제공 | 확장성 |
사용자 인터페이스 제공 | 편리성 |
💡 시분할 시스템
- CPU 사용 시간을 잘게 쪼개어 작업들에 나누어줌으로써 모든 작업이 동시에 처리되는 것처럼 보임
- 잘게 나뉜 시간 한 조각을 타임 슬라이스 또는 타임 퀀텀이라고 함
- 오늘날의 컴퓨터에는 대부분 시분할 시스템을 사용
💡 커널과 인터페이스
커널
- 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
인터페이스
- 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할
- 그래픽을 사용한 인터페이스를 GUI(Graphical User Interface)라 부름
💡 시스템 호출과 디바이스 드라이버
시스템 호출
- 커널이 자신을 보호하기 위해 만든 인터페이스
- 커널은 사용자나 응용프로그램으로부터 컴퓨터 자원을 보호하기 위해 자원에 직접 접근하는 것을 차단
1) 직접접근
- 두 응용프로그램이 자기 마음에 드는 위치에 데이터를 저장하려고 함
- 다른 사람의 데이터를 지울 수도 있고 내 데이터가 다른사람에 의해 지워질 수도 있음
2) 시스템 호출을 통한 접근
- 응용 프로그램이 직접 하드디스크에 데이터를 저장하지 않고 커널이 제공하는 write() 함수를 사용하여 데이터를
저장해달라고 요청
- 커널이 데이터를 가져오거나 저장하는 것을 전적으로 책임지기 때문에 컴퓨터 자원 관리가 수월
드라이버
- 커널과 하드웨어의 인터페이스 담당하며 디바이스 드라이버라고도 불림
- 마우스와 같이 간단한 제품은 드라이버를 커널이 가지고 있으나, 그래픽 카드와 같이 복잡한 하드웨어의 경우 제작자가 드라이버를 제공함
💡 가상머신
- 운영체제와 응용프로그램 사이에서 작동하는 프로그램
- 가상머신을 설치하면 응용 프로그램이 모두 동일한 환경에서 작동하는 것 처럼 보임
- 자바는 유닉스와 윈도우에서 작동하는 다양한 가상머신을 만들어 배포하는데 이를 자바 가상머신(Java Virtual Machine)이라고 함
'CS > 운영체제' 카테고리의 다른 글
[얄팍한 코딩사전] - 프로세스는 뭐고 스레드는 뭔가요? (0) | 2023.02.23 |
---|---|
[우아한 테크] - 10분 테크톡 배럴의 가상 메모리 (0) | 2023.02.23 |
[CS 정리] 2. 컴퓨터의 구조와 성능 향상 (0) | 2022.08.26 |