- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MariaDB
- LEVEL1
- Refactoring
- mongodb
- Err-Handling
- 코딩테스트
- 아고라스테이츠
- 리팩터링 2판
- javascript
- Git
- 오늘도 개발자가 안된다고 말했다
- 알고리즘
- TIL
- 면접을 위한 cs 전공지식 노트
- 프로그래머스
- sql
- First Project
- TWIL
- react
- LEVEL 2
- TMIL
- CRUD
- 코어 자바스크립트
- 배포
- CSS
- LEVEL 1
- typescript
- Docker
- java
- 에러핸들링
성장에 목마른 코린이
운영체제, 응용 프로그램 본문
운영체제
컴퓨터나 스마트폰의 기기 그 자체(하드웨어)는 스스로 할 수 있는 일이 없습니다.
하드웨어의 설계를 바탕으로 하드웨어에게 일을 시켜야만 그 의미가 있습니다.
하드웨어에게 일을 시키는 주체가 운영체제입니다.

운영체제가 없다면, 응용 프로그램이 실행될 수 없습니다.
응용 프로그램은 컴퓨터를 이용해 다양한 작업을 하는 것이 목적이고,
운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줍니다.
하드웨어를 구성하는 일을 하는 CPU, 자료를 저장하는 RAM, 디스크 등의
시스템 자원을 관리하는 주체가 바로 운영체제입니다.
응용 프로그램
운영체제를 통해 컴퓨터에게 일을 시키는 것
응용 프로그램이 운영체제를 통해 컴퓨터에게 일을 시키려면,
컴퓨터를 조작할 수 있는 권한을 운영체제로부터 부여받아야 합니다.
권한을 부여받고 난 후에는, 운영체제가 제공하는 기능을 이용할 수 있습니다.
응용 프로그램이 운영체제와 소통하기 위해서는, 운영체제가 응용 프로그램을 위해 인터페이스(API)를 제공해야 합니다.
이와 마찬가지로, 응용 프로그램 역시 운영체제가 프린터 사용을 허가해 주지 않는다면 사용할 수 없습니다.
워드프로세서 프로그램이 프린터를 사용해서 인쇄하기 위해서는,
워드프로세서 프로그램은 운영체제로부터 프린터 사용에 대한 권한을 부여받아야 합니다.
응용 프로그램이 프린터 사용에 대한 권한을 획득한 후에는,
프린터를 사용할 때 필요한 API를 호출해야 합니다. 이 API는 시스템 콜로 이루어져 있습니다.
응용 프로그램 관리
응용 프로그램이 실행되고, 시스템 자원을 사용할 수 있도록 권한과 사용자를 관리합니다.
모든 응용 프로그램이 시스템의 자원을 마음대로 사용한다면, 해커에 의한 공격에 무방비한 상태가 됩니다.
악의적인 목적을 가진 프로그램이 디스크의 모든 민감한 정보에 접근하거나,
내 스마트폰의 특정 앱이 카메라를 아무 때나 실행해서 촬영한다고 생각하면 끔찍합니다.
따라서, 응용 프로그램은 권한에 대한 관리가 필요합니다.
또한 여러 사람이 하나의 기기를 사용하는 경우에는 사용자를 관리하는 일도 매우 중요합니다.
'CodeStates > Section 3 (백엔드)' 카테고리의 다른 글
가비지 컬렉션 (0) | 2022.04.22 |
---|---|
프로세스, 스레드(Thread), 멀티 스레드 (0) | 2022.04.22 |
래스터와 벡터 이미지의 차이점 (0) | 2022.04.22 |
문자열 (유니코드, ASCII 문자, UTF-8,16) (0) | 2022.04.22 |
Session (인증 성공 상태) (0) | 2022.04.19 |