코가손의 블로그
[운영체제] 운영체제 란? 본문
컴퓨터가 켜지면 항상 동작하는 프로그램이며 시스템 서비스를
사용자 영역의 응용 프로그램과 연결시켜주는 역할을 한다.
services
운영체제가 사용자에게 제공하는 기능들은 다음과 같다.
- 사용자 인터페이스(User Interface) : 사용자 인터페이스는 크게 명령어 단위로 처리되는 명령어 라인 인터페이스(Command-Line Interface, CLI)와 그래피컬 사용자 인터페이스(Graphical User Interface, GUI)로 나뉜다. 윈도우의 커맨드 창은 CLI, 윈도우에서 화면을 통해 아이콘을 더블클릭하여 실행하는 방식을 GUI 방식이라고 한다.
- 프로그램 실행(Program execution) : 운영체제를 통해 프로그램을 메모리에 올려 프로세스로 만들고 실행 시키는 것이다.
- 입출력 연산(I/O operation) : 프로세스는 모니터나 파일을 통해 입출력을 시스템에게 요구할 수 있다. 일반적으로 사용자들은 입출력 장치를 제어할 수 없기 때문에 운영체제가 입출력에 대한 제어를 제공한다
- 파일 시스템 조작(File system manipulation) : 프로그램은 파일을 읽거나 쓸 수 있어야하며, 이름으로 생성, 삭제, 검색할 수 있어야 한다. 또한 보안을 위해 파일, 디렉토리의 소유권에 대한 권한을 조정할 수 있다.
- 통신(Communication) : 운영체제에서의 통신 역할은 2가지로 나눌 수 있다. 첫 번째로 프로세스간의 통신이며, 이는 공유 메모리를 통해 이루어 진다. 두 번째로 다른 시스템 간의 프로세스 통신이다. 이 때 통신은 메시지 전달(message passing)기법을 사용하며, 패킷을 사용해 시스템간 프로세스 사이를 이동한다.
- 오류 탐지(Error detection) : 예측할 수 없는 시스템 오류가 언제나 발생할 수 있다. 이러한 사태에 대비해 언제나 각 타입의 오류에 대해 적당한 조치를 취할 수 있어야 한다.
운영체제는 시스템의 효율적 작동을 위한 기능도 제공한다.
- 자원할당(Resource allocation) : 다수의 사용자, 다수의 작업이 실행될 때 운영체제는 각 요소에 대해 효율적으로 자원을 할당 할 수 있어야 한다.
- 회계(Accounting) : 특정 사용자, 특정 작업이 시스템의 자원을 얼마나 사용하는지 확인할 수 있어야 한다.
- 보호(Protection)와 보안(Security) : 기본적으로 서로 다른 프로세스간의 간섭을 허용해서는 안되며, 외부에서의 불법적이거나 위협적인 접근을 차단/제어할 필요도 있다. 운영체제는 이러한 위협요소에 대해 예방책을 수립할 필요가 있다.
system calls
OS에 의해 제공된 기능을 system call 이라고 한다.
API(Aplication Programmiong Interface)를 통해 그 기능들을 호출한다.
ex) printf();
printf는 standard C library의 API며
open() ~ return 까지의 처리를 해준다.
'운영체제' 카테고리의 다른 글
[운영체제] 프로세스간 통신, PIPE (0) | 2021.12.26 |
---|---|
[운영체제] 프로세스간 통신, IPC (0) | 2021.12.19 |
[운영체제] 프로세스 생성 실습 (0) | 2021.12.19 |
[운영체제] 프로세스의 이해 (0) | 2021.12.19 |
[운영체제] 프로세스 와 문맥 교환 (0) | 2021.12.04 |
Comments