Concurrent Processes(동시실행 프로세스) (1) 실행 중인 프로그램 시스템은 여러 동적 동시 프로세스(dynamic concurrent processes)로 구성된다. IPC와의 공동 작업 프로세스의 set Concurrent process 프로그래밍 툴 • Concurrent languages (Ada, Java, PathPascal, Modula II) • C, C++,.. concurrent programming 을 위한 system call (Linux, UNIX, Win32 Environment) Applications (Objectives) • Networked (or distributed) applications – 네트워크 앱 : 클라이언트 프로세스, 서버 프로세스 – Di..
Linux File System 리눅스 커널은 몇 가지로 모듈화 되어 있음 가장 중요한 것은 disk 안에 있는 파일을 관리 한다는 것 파일에 관련된 인터페이스를 유저에게 제공하는 system call API를 제공 유저는 이 system call API를 통해 커널에 접근 가능 그리고 커널은 자신이 관리하는 구조에 의해서 파일에 대한 쓰기 읽기/접근 권한/삭제/생성 을 관리한다. - 파일 시스템 안의 각각의 파일들은 inode 를 가진다. - inode 는 파일에 대한 정보를 관리하는 자료구조이다. - 일반적으로 파일 시스템은 파일의 데이터 영역(실제 파일이 적혀 있는)과 파일 정보를 관리하는 영역(Metadata)으로 나뉨. Metadata 중 하나가 inode - inode contents (C s..
Linux System Calls File descriptor I/O ->리눅스는 posix interface를 따른다. • open(); close(); creat(), read(); write(); • seek(); // random access • fcntl(); // for file/record locking Process control Thread programming IPC Signal handling Memory management Synchronization Time management Network socket API (TCP, UDP) System Calls & Library Calls for File I/O System Calls for File d..
Shell? - 유저가 운영체제에 접근하도록 해주는 interface(명령어 기반) - Functionality : * 다른 프로그램을 (command line으로) 실행 * 파일 관리(OS안의 파일과 프로세스를 command line으로 관리) 터미널에서 command를 치면 shell을 통해서 kernel(즉, OS)에 전달해서 기능함 * 프로세스들을 관리 - A program like any other one - log on 할때 실행됨. 흔히 사용되는 Shells - /bin/sh The Bourne Shell / POSIX shell – /bin/csh C shell – /bin/tcsh Enhanced C She – /bin/ksh Korn shell – /bin/bash Free ksh cl..
Operating System(OS) 컴퓨터 사용자와 컴퓨터 하드웨어 사이의 중개자 역할 Operating system 의 목표 - 컴퓨터 시스템 사용을 편리하게 한다. - 컴퓨터 하드웨어를 효율적으로 사용한다. 기본 OS 개념 - Multi-use environment 여러 유저가 동시 사용하는 환경 - Process and Scheduling 여러 프로그램 동시 실행 - User space and Kernel space 여러 프로그램을 독립적으로 작동하도록 Address space를 관리하고 User 레벨과 Kernel 레벨을 별도로 관리한다 - Basic and Advanced I/O 컴퓨터 시스템의 주요 자원이 주변장치(I/O)를 통로를 제공한다. 장단점 장점 - 오픈소스 : developer v..